mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-02 18:11:04 +08:00
Migrate extensions/ to ESM internally
Bug: 1006759 Change-Id: I5a21c9cc7510dad06903f24f06a0cde23473f532 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1991633 Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org> Reviewed-by: Paul Lewis <aerotwist@chromium.org>
This commit is contained in:
committed by
Commit Bot
parent
084cdcea89
commit
a611092efe
@@ -658,6 +658,7 @@ all_devtools_modules = [
|
||||
"front_end/extensions/ExtensionAPI.js",
|
||||
"front_end/extensions/ExtensionPanel.js",
|
||||
"front_end/extensions/extensions.js",
|
||||
"front_end/extensions/extensions-legacy.js",
|
||||
"front_end/extensions/ExtensionServer.js",
|
||||
"front_end/extensions/ExtensionTraceProvider.js",
|
||||
"front_end/extensions/ExtensionView.js",
|
||||
@@ -1527,6 +1528,7 @@ copied_devtools_modules = [
|
||||
"$resources_out_dir/extensions/ExtensionAPI.js",
|
||||
"$resources_out_dir/extensions/ExtensionPanel.js",
|
||||
"$resources_out_dir/extensions/extensions.js",
|
||||
"$resources_out_dir/extensions/extensions-legacy.js",
|
||||
"$resources_out_dir/extensions/ExtensionServer.js",
|
||||
"$resources_out_dir/extensions/ExtensionTraceProvider.js",
|
||||
"$resources_out_dir/extensions/ExtensionView.js",
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
function defineCommonExtensionSymbols(apiPrivate) {
|
||||
export function defineCommonExtensionSymbols(apiPrivate) {
|
||||
if (!apiPrivate.panels) {
|
||||
apiPrivate.panels = {};
|
||||
}
|
||||
@@ -858,12 +858,3 @@ self.buildExtensionAPIInjectedScript = function(extensionInfo, inspectedTabId, t
|
||||
'(' + self.injectedExtensionAPI.toString() + ')(' + argumentsJSON + ',' + testHook + ', injectedScriptId);' +
|
||||
'})';
|
||||
};
|
||||
|
||||
/* Legacy exported object */
|
||||
self.Extensions = self.Extensions || {};
|
||||
|
||||
/* Legacy exported object */
|
||||
Extensions = Extensions || {};
|
||||
|
||||
Extensions.extensionAPI = {};
|
||||
defineCommonExtensionSymbols(Extensions.extensionAPI);
|
||||
|
||||
@@ -27,13 +27,17 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
import {ExtensionServer} from './ExtensionServer.js'; // eslint-disable-line no-unused-vars
|
||||
import {ExtensionNotifierView, ExtensionView} from './ExtensionView.js';
|
||||
|
||||
/**
|
||||
* @implements {UI.Searchable}
|
||||
* @unrestricted
|
||||
*/
|
||||
export default class ExtensionPanel extends UI.Panel {
|
||||
export class ExtensionPanel extends UI.Panel {
|
||||
/**
|
||||
* @param {!Extensions.ExtensionServer} server
|
||||
* @param {!ExtensionServer} server
|
||||
* @param {string} panelName
|
||||
* @param {string} id
|
||||
* @param {string} pageURL
|
||||
@@ -48,7 +52,7 @@ export default class ExtensionPanel extends UI.Panel {
|
||||
this._searchableView = new UI.SearchableView(this);
|
||||
this._searchableView.show(this.element);
|
||||
|
||||
const extensionView = new Extensions.ExtensionView(server, this._id, pageURL, 'extension');
|
||||
const extensionView = new ExtensionView(server, this._id, pageURL, 'extension');
|
||||
extensionView.show(this._searchableView.element);
|
||||
}
|
||||
|
||||
@@ -123,7 +127,7 @@ export default class ExtensionPanel extends UI.Panel {
|
||||
*/
|
||||
export class ExtensionButton {
|
||||
/**
|
||||
* @param {!Extensions.ExtensionServer} server
|
||||
* @param {!ExtensionServer} server
|
||||
* @param {string} id
|
||||
* @param {string} iconURL
|
||||
* @param {string=} tooltip
|
||||
@@ -168,7 +172,7 @@ export class ExtensionButton {
|
||||
*/
|
||||
export class ExtensionSidebarPane extends UI.SimpleView {
|
||||
/**
|
||||
* @param {!Extensions.ExtensionServer} server
|
||||
* @param {!ExtensionServer} server
|
||||
* @param {string} panelName
|
||||
* @param {string} title
|
||||
* @param {string} id
|
||||
@@ -230,7 +234,7 @@ export class ExtensionSidebarPane extends UI.SimpleView {
|
||||
this._extensionView.detach(true);
|
||||
}
|
||||
|
||||
this._extensionView = new Extensions.ExtensionView(this._server, this._id, url, 'extension fill');
|
||||
this._extensionView = new ExtensionView(this._server, this._id, url, 'extension fill');
|
||||
this._extensionView.show(this.element);
|
||||
|
||||
if (!this.element.style.height) {
|
||||
@@ -268,7 +272,7 @@ export class ExtensionSidebarPane extends UI.SimpleView {
|
||||
this._extensionView.detach(true);
|
||||
delete this._extensionView;
|
||||
}
|
||||
this._objectPropertiesView = new Extensions.ExtensionNotifierView(this._server, this._id);
|
||||
this._objectPropertiesView = new ExtensionNotifierView(this._server, this._id);
|
||||
this._objectPropertiesView.show(this.element);
|
||||
}
|
||||
|
||||
@@ -297,18 +301,3 @@ export class ExtensionSidebarPane extends UI.SimpleView {
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/* Legacy exported object */
|
||||
self.Extensions = self.Extensions || {};
|
||||
|
||||
/* Legacy exported object */
|
||||
Extensions = Extensions || {};
|
||||
|
||||
/** @constructor */
|
||||
Extensions.ExtensionPanel = ExtensionPanel;
|
||||
|
||||
/** @constructor */
|
||||
Extensions.ExtensionButton = ExtensionButton;
|
||||
|
||||
/** @constructor */
|
||||
Extensions.ExtensionSidebarPane = ExtensionSidebarPane;
|
||||
|
||||
@@ -28,10 +28,13 @@
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
import {ExtensionButton, ExtensionPanel, ExtensionSidebarPane} from './ExtensionPanel.js';
|
||||
import {ExtensionTraceProvider, TracingSession} from './ExtensionTraceProvider.js'; // eslint-disable-line no-unused-vars
|
||||
|
||||
/**
|
||||
* @unrestricted
|
||||
*/
|
||||
export default class ExtensionServer extends Common.Object {
|
||||
export class ExtensionServer extends Common.Object {
|
||||
/**
|
||||
* @suppressGlobalPropertiesCheck
|
||||
*/
|
||||
@@ -47,11 +50,11 @@ export default class ExtensionServer extends Common.Object {
|
||||
this._lastRequestId = 0;
|
||||
this._registeredExtensions = {};
|
||||
this._status = new ExtensionStatus();
|
||||
/** @type {!Array<!Extensions.ExtensionSidebarPane>} */
|
||||
/** @type {!Array<!ExtensionSidebarPane>} */
|
||||
this._sidebarPanes = [];
|
||||
/** @type {!Array<!Extensions.ExtensionTraceProvider>} */
|
||||
/** @type {!Array<!ExtensionTraceProvider>} */
|
||||
this._traceProviders = [];
|
||||
/** @type {!Map<string, !Extensions.TracingSession>} */
|
||||
/** @type {!Map<string, !TracingSession>} */
|
||||
this._traceSessions = new Map();
|
||||
|
||||
const commands = Extensions.extensionAPI.Commands;
|
||||
@@ -149,7 +152,7 @@ export default class ExtensionServer extends Common.Object {
|
||||
/**
|
||||
* @param {string} providerId
|
||||
* @param {string} sessionId
|
||||
* @param {!Extensions.TracingSession} session
|
||||
* @param {!TracingSession} session
|
||||
*/
|
||||
startTraceRecording(providerId, sessionId, session) {
|
||||
this._traceSessions.set(sessionId, session);
|
||||
@@ -270,8 +273,8 @@ export default class ExtensionServer extends Common.Object {
|
||||
const page = this._expandResourcePath(port._extensionOrigin, message.page);
|
||||
let persistentId = port._extensionOrigin + message.title;
|
||||
persistentId = persistentId.replace(/\s/g, '');
|
||||
const panelView = new ExtensionServerPanelView(
|
||||
persistentId, message.title, new Extensions.ExtensionPanel(this, persistentId, id, page));
|
||||
const panelView =
|
||||
new ExtensionServerPanelView(persistentId, message.title, new ExtensionPanel(this, persistentId, id, page));
|
||||
this._clientObjects[id] = panelView;
|
||||
UI.inspectorView.addPanel(panelView);
|
||||
return this._status.OK();
|
||||
@@ -291,7 +294,7 @@ export default class ExtensionServer extends Common.Object {
|
||||
if (!panelView || !(panelView instanceof ExtensionServerPanelView)) {
|
||||
return this._status.E_NOTFOUND(message.panel);
|
||||
}
|
||||
const button = new Extensions.ExtensionButton(
|
||||
const button = new ExtensionButton(
|
||||
this, message.id, this._expandResourcePath(port._extensionOrigin, message.icon), message.tooltip,
|
||||
message.disabled);
|
||||
this._clientObjects[message.id] = button;
|
||||
@@ -302,7 +305,7 @@ export default class ExtensionServer extends Common.Object {
|
||||
* @param {!UI.Widget} panel
|
||||
*/
|
||||
function appendButton(panel) {
|
||||
/** @type {!Extensions.ExtensionPanel} panel*/ (panel).addToolbarItem(button.toolbarButton());
|
||||
/** @type {!ExtensionPanel} panel*/ (panel).addToolbarItem(button.toolbarButton());
|
||||
}
|
||||
|
||||
return this._status.OK();
|
||||
@@ -310,7 +313,7 @@ export default class ExtensionServer extends Common.Object {
|
||||
|
||||
_onUpdateButton(message, port) {
|
||||
const button = this._clientObjects[message.id];
|
||||
if (!button || !(button instanceof Extensions.ExtensionButton)) {
|
||||
if (!button || !(button instanceof ExtensionButton)) {
|
||||
return this._status.E_NOTFOUND(message.id);
|
||||
}
|
||||
button.update(this._expandResourcePath(port._extensionOrigin, message.icon), message.tooltip, message.disabled);
|
||||
@@ -334,7 +337,7 @@ export default class ExtensionServer extends Common.Object {
|
||||
return this._status.E_NOTFOUND(message.panel);
|
||||
}
|
||||
const id = message.id;
|
||||
const sidebar = new Extensions.ExtensionSidebarPane(this, message.panel, message.title, id);
|
||||
const sidebar = new ExtensionSidebarPane(this, message.panel, message.title, id);
|
||||
this._sidebarPanes.push(sidebar);
|
||||
this._clientObjects[id] = sidebar;
|
||||
this.dispatchEventToListeners(Events.SidebarPaneAdded, sidebar);
|
||||
@@ -343,7 +346,7 @@ export default class ExtensionServer extends Common.Object {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {!Array.<!Extensions.ExtensionSidebarPane>}
|
||||
* @return {!Array.<!ExtensionSidebarPane>}
|
||||
*/
|
||||
sidebarPanes() {
|
||||
return this._sidebarPanes;
|
||||
@@ -569,15 +572,15 @@ export default class ExtensionServer extends Common.Object {
|
||||
* @param {!MessagePort} port
|
||||
*/
|
||||
_onAddTraceProvider(message, port) {
|
||||
const provider = new Extensions.ExtensionTraceProvider(
|
||||
port._extensionOrigin, message.id, message.categoryName, message.categoryTooltip);
|
||||
const provider =
|
||||
new ExtensionTraceProvider(port._extensionOrigin, message.id, message.categoryName, message.categoryTooltip);
|
||||
this._clientObjects[message.id] = provider;
|
||||
this._traceProviders.push(provider);
|
||||
this.dispatchEventToListeners(Events.TraceProviderAdded, provider);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {!Array<!Extensions.ExtensionTraceProvider>}
|
||||
* @return {!Array<!ExtensionTraceProvider>}
|
||||
*/
|
||||
traceProviders() {
|
||||
return this._traceProviders;
|
||||
@@ -1023,26 +1026,3 @@ export class ExtensionStatus {
|
||||
this.E_FAILED = makeStatus.bind(null, 'E_FAILED', 'Operation failed: %s');
|
||||
}
|
||||
}
|
||||
|
||||
/* Legacy exported object */
|
||||
self.Extensions = self.Extensions || {};
|
||||
|
||||
/* Legacy exported object */
|
||||
Extensions = Extensions || {};
|
||||
|
||||
/** @constructor */
|
||||
Extensions.ExtensionServer = ExtensionServer;
|
||||
|
||||
/** @enum {symbol} */
|
||||
Extensions.ExtensionServer.Events = Events;
|
||||
|
||||
/** @constructor */
|
||||
Extensions.ExtensionStatus = ExtensionStatus;
|
||||
|
||||
/**
|
||||
* @typedef {{code: string, description: string, details: !Array.<*>}}
|
||||
*/
|
||||
Extensions.ExtensionStatus.Record;
|
||||
|
||||
/** @type {!ExtensionServer} */
|
||||
Extensions.extensionServer;
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
/**
|
||||
* @unrestricted
|
||||
*/
|
||||
export default class ExtensionTraceProvider {
|
||||
export class ExtensionTraceProvider {
|
||||
/**
|
||||
* @param {string} extensionOrigin
|
||||
* @param {string} id
|
||||
@@ -66,15 +66,3 @@ export class TracingSession {
|
||||
complete(url, timeOffsetMicroseconds) {
|
||||
}
|
||||
}
|
||||
|
||||
/* Legacy exported object */
|
||||
self.Extensions = self.Extensions || {};
|
||||
|
||||
/* Legacy exported object */
|
||||
Extensions = Extensions || {};
|
||||
|
||||
/** @constructor */
|
||||
Extensions.ExtensionTraceProvider = ExtensionTraceProvider;
|
||||
|
||||
/** @interface */
|
||||
Extensions.TracingSession = TracingSession;
|
||||
|
||||
@@ -28,12 +28,14 @@
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
import {ExtensionServer} from './ExtensionServer.js'; // eslint-disable-line no-unused-vars
|
||||
|
||||
/**
|
||||
* @unrestricted
|
||||
*/
|
||||
export default class ExtensionView extends UI.Widget {
|
||||
*/
|
||||
export class ExtensionView extends UI.Widget {
|
||||
/**
|
||||
* @param {!Extensions.ExtensionServer} server
|
||||
* @param {!ExtensionServer} server
|
||||
* @param {string} id
|
||||
* @param {string} src
|
||||
* @param {string} className
|
||||
@@ -91,7 +93,7 @@ export default class ExtensionView extends UI.Widget {
|
||||
*/
|
||||
export class ExtensionNotifierView extends UI.VBox {
|
||||
/**
|
||||
* @param {!Extensions.ExtensionServer} server
|
||||
* @param {!ExtensionServer} server
|
||||
* @param {string} id
|
||||
*/
|
||||
constructor(server, id) {
|
||||
@@ -115,15 +117,3 @@ export class ExtensionNotifierView extends UI.VBox {
|
||||
this._server.notifyViewHidden(this._id);
|
||||
}
|
||||
}
|
||||
|
||||
/* Legacy exported object */
|
||||
self.Extensions = self.Extensions || {};
|
||||
|
||||
/* Legacy exported object */
|
||||
Extensions = Extensions || {};
|
||||
|
||||
/** @constructor */
|
||||
Extensions.ExtensionView = ExtensionView;
|
||||
|
||||
/** @constructor */
|
||||
Extensions.ExtensionNotifierView = ExtensionNotifierView;
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
// Copyright 2019 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 * as ExtensionsModule from './extensions.js';
|
||||
|
||||
self.Extensions = self.Extensions || {};
|
||||
Extensions = Extensions || {};
|
||||
|
||||
Extensions.extensionAPI = {};
|
||||
ExtensionsModule.ExtensionAPI.defineCommonExtensionSymbols(Extensions.extensionAPI);
|
||||
|
||||
/** @constructor */
|
||||
Extensions.ExtensionPanel = ExtensionsModule.ExtensionPanel.ExtensionPanel;
|
||||
|
||||
/** @constructor */
|
||||
Extensions.ExtensionButton = ExtensionsModule.ExtensionPanel.ExtensionButton;
|
||||
|
||||
/** @constructor */
|
||||
Extensions.ExtensionSidebarPane = ExtensionsModule.ExtensionPanel.ExtensionSidebarPane;
|
||||
|
||||
/** @constructor */
|
||||
Extensions.ExtensionServer = ExtensionsModule.ExtensionServer.ExtensionServer;
|
||||
|
||||
/** @enum {symbol} */
|
||||
Extensions.ExtensionServer.Events = ExtensionsModule.ExtensionServer.Events;
|
||||
|
||||
/** @constructor */
|
||||
Extensions.ExtensionStatus = ExtensionsModule.ExtensionServer.ExtensionStatus;
|
||||
|
||||
/** @constructor */
|
||||
Extensions.ExtensionTraceProvider = ExtensionsModule.ExtensionTraceProvider.ExtensionTraceProvider;
|
||||
|
||||
/** @interface */
|
||||
Extensions.TracingSession = ExtensionsModule.ExtensionTraceProvider.TracingSession;
|
||||
|
||||
/** @constructor */
|
||||
Extensions.ExtensionView = ExtensionsModule.ExtensionView.ExtensionView;
|
||||
|
||||
/** @constructor */
|
||||
Extensions.ExtensionNotifierView = ExtensionsModule.ExtensionView.ExtensionNotifierView;
|
||||
|
||||
/**
|
||||
* @typedef {{code: string, description: string, details: !Array.<*>}}
|
||||
*/
|
||||
Extensions.ExtensionStatus.Record;
|
||||
|
||||
/** @type {!Extensions.ExtensionServer} */
|
||||
Extensions.extensionServer;
|
||||
@@ -2,13 +2,14 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
import './ExtensionAPI.js';
|
||||
import * as ExtensionAPI from './ExtensionAPI.js';
|
||||
import * as ExtensionPanel from './ExtensionPanel.js';
|
||||
import * as ExtensionServer from './ExtensionServer.js';
|
||||
import * as ExtensionTraceProvider from './ExtensionTraceProvider.js';
|
||||
import * as ExtensionView from './ExtensionView.js';
|
||||
|
||||
export {
|
||||
ExtensionAPI,
|
||||
ExtensionPanel,
|
||||
ExtensionServer,
|
||||
ExtensionTraceProvider,
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
"scripts": [],
|
||||
"modules": [
|
||||
"extensions.js",
|
||||
"extensions-legacy.js",
|
||||
"ExtensionAPI.js",
|
||||
"ExtensionTraceProvider.js",
|
||||
"ExtensionServer.js",
|
||||
|
||||
Reference in New Issue
Block a user