[module.json extensions] resources views
Bug: 1134103
Change-Id: Idb39a93006a87a885800b7e668e015fa7d65b37a
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2631962
Commit-Queue: Andres Olivares <[email protected]>
Reviewed-by: Tim van der Lippe <[email protected]>
diff --git a/devtools_grd_files.gni b/devtools_grd_files.gni
index e6ab1aa..65f75ef 100644
--- a/devtools_grd_files.gni
+++ b/devtools_grd_files.gni
@@ -328,6 +328,7 @@
"front_end/quick_open/quick_open_module.js",
"front_end/recorder/recorder.js",
"front_end/resources/resources-legacy.js",
+ "front_end/resources/resources-meta.js",
"front_end/resources/resources.js",
"front_end/resources/resources_module.js",
"front_end/root/root-legacy.js",
diff --git a/devtools_module_entrypoints.gni b/devtools_module_entrypoints.gni
index d7c3cc2..8ac9327 100644
--- a/devtools_module_entrypoints.gni
+++ b/devtools_module_entrypoints.gni
@@ -135,6 +135,7 @@
"quick_open/quick_open.js",
"recorder/recorder.js",
"resources/resources-legacy.js",
+ "resources/resources-meta.js",
"resources/resources.js",
"root/root-legacy.js",
"root/root.js",
diff --git a/front_end/BUILD.gn b/front_end/BUILD.gn
index c74a9fe..063db16 100644
--- a/front_end/BUILD.gn
+++ b/front_end/BUILD.gn
@@ -87,6 +87,7 @@
"quick_open:bundle",
"recorder:bundle",
"resources:bundle",
+ "resources:meta",
"screencast:bundle",
"sdk:bundle",
"search:bundle",
diff --git a/front_end/devtools_app.js b/front_end/devtools_app.js
index d5ee426..a2c2279 100644
--- a/front_end/devtools_app.js
+++ b/front_end/devtools_app.js
@@ -12,6 +12,7 @@
import './animation/animation-meta.js';
import './developer_resources/developer_resources-meta.js';
import './inspector_main/inspector_main-meta.js';
+import './resources/resources-meta.js';
import * as Startup from './startup/startup.js';
Startup.RuntimeInstantiator.startApplication('devtools_app');
diff --git a/front_end/resources/BUILD.gn b/front_end/resources/BUILD.gn
index 3f86150..4277b1b 100644
--- a/front_end/resources/BUILD.gn
+++ b/front_end/resources/BUILD.gn
@@ -66,3 +66,9 @@
deps = [ ":bundle" ]
}
+
+devtools_entrypoint("meta") {
+ entrypoint = "resources-meta.ts"
+
+ deps = [ ":bundle" ]
+}
diff --git a/front_end/resources/module.json b/front_end/resources/module.json
index e5ae25b..2d7904c 100644
--- a/front_end/resources/module.json
+++ b/front_end/resources/module.json
@@ -1,15 +1,6 @@
{
"extensions": [
{
- "type": "view",
- "location": "panel",
- "id": "resources",
- "title": "Application",
- "order": 70,
- "className": "Resources.ResourcesPanel",
- "tags": "pwa"
- },
- {
"type": "@Common.Revealer",
"contextTypes": [
"SDK.Resource"
diff --git a/front_end/resources/resources-meta.ts b/front_end/resources/resources-meta.ts
new file mode 100644
index 0000000..736be29
--- /dev/null
+++ b/front_end/resources/resources-meta.ts
@@ -0,0 +1,34 @@
+// Copyright 2020 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.
+
+import {ls} from '../platform/platform.js';
+import * as Root from '../root/root.js';
+import * as UI from '../ui/ui.js';
+
+// eslint-disable-next-line rulesdir/es_modules_import
+import type * as Resources from './resources.js';
+
+let loadedResourcesModule: (typeof Resources|undefined);
+
+async function loadResourcesModule(): Promise<typeof Resources> {
+ if (!loadedResourcesModule) {
+ // Side-effect import resources in module.json
+ await Root.Runtime.Runtime.instance().loadModulePromise('resources');
+ loadedResourcesModule = await import('./resources.js');
+ }
+ return loadedResourcesModule;
+}
+
+UI.ViewManager.registerViewExtension({
+ location: UI.ViewManager.ViewLocationValues.PANEL,
+ id: 'resources',
+ title: ls`Application`,
+ commandPrompt: 'Show Application',
+ order: 70,
+ async loadView() {
+ const Resources = await loadResourcesModule();
+ return Resources.ResourcesPanel.ResourcesPanel.instance();
+ },
+ tags: [ls`pwa`],
+});