mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-10 21:54:47 +08:00
Move and rename files. NOAUTOREVERT=true NOPRESUBMIT=true NOTREECHECKS=true Bug: 768828 TBR=darin@chromium.org NOTRY=true Change-Id: I66d3b155808bc5bdbf237b80208e1e552bcf7f28 Reviewed-on: https://chromium-review.googlesource.com/1001153 Reviewed-by: Blink Reformat <blink-reformat@chromium.org> Commit-Queue: Blink Reformat <blink-reformat@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#549061} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 0aee4434a4dba42a42abaea9bfbc0cd196a63bc1
45 lines
1.5 KiB
JavaScript
45 lines
1.5 KiB
JavaScript
// Copyright 2017 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
SourceFrame.PreviewFactory = class {
|
|
/**
|
|
* @param {!Common.ContentProvider} provider
|
|
* @param {string} mimeType
|
|
* @returns {!Promise<?UI.Widget>}
|
|
*/
|
|
static async createPreview(provider, mimeType) {
|
|
const content = await provider.requestContent();
|
|
if (!content)
|
|
return new UI.EmptyWidget(Common.UIString('Nothing to preview'));
|
|
|
|
let resourceType = Common.ResourceType.fromMimeType(mimeType);
|
|
if (resourceType === Common.resourceTypes.Other)
|
|
resourceType = provider.contentType();
|
|
|
|
switch (resourceType) {
|
|
case Common.resourceTypes.Image:
|
|
return new SourceFrame.ImageView(mimeType, provider);
|
|
case Common.resourceTypes.Font:
|
|
return new SourceFrame.FontView(mimeType, provider);
|
|
}
|
|
|
|
const parsedXML = SourceFrame.XMLView.parseXML(content, mimeType);
|
|
if (parsedXML)
|
|
return SourceFrame.XMLView.createSearchableView(parsedXML);
|
|
|
|
const jsonView = await SourceFrame.JSONView.createView(content);
|
|
if (jsonView)
|
|
return jsonView;
|
|
|
|
if (resourceType.isTextType()) {
|
|
const highlighterType =
|
|
provider.contentType().canonicalMimeType() || mimeType.replace(/;.*/, ''); // remove charset
|
|
return SourceFrame.ResourceSourceFrame.createSearchableView(
|
|
provider, highlighterType, true /* autoPrettyPrint */);
|
|
}
|
|
|
|
return null;
|
|
}
|
|
};
|