| Index: third_party/WebKit/Source/devtools/front_end/host/InspectorFrontendHost.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/host/InspectorFrontendHost.js b/third_party/WebKit/Source/devtools/front_end/host/InspectorFrontendHost.js
|
| index db265278b540c4e6c39189125cbcf83d74ac6799..bbf252bb9ea9429ce6d90c09506ddec7c2cc2969 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/host/InspectorFrontendHost.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/host/InspectorFrontendHost.js
|
| @@ -27,439 +27,451 @@
|
| * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| */
|
| -
|
| /**
|
| - * @constructor
|
| * @implements {InspectorFrontendHostAPI}
|
| - * @suppressGlobalPropertiesCheck
|
| + * @unrestricted
|
| */
|
| -WebInspector.InspectorFrontendHostStub = function()
|
| -{
|
| +WebInspector.InspectorFrontendHostStub = class {
|
| + /**
|
| + * @suppressGlobalPropertiesCheck
|
| + */
|
| + constructor() {
|
| /**
|
| * @param {!Event} event
|
| */
|
| - function stopEventPropagation(event)
|
| - {
|
| - // Let browser handle Ctrl+/Ctrl- shortcuts in hosted mode.
|
| - var zoomModifier = WebInspector.isMac() ? event.metaKey : event.ctrlKey;
|
| - if (zoomModifier && (event.keyCode === 187 || event.keyCode === 189))
|
| - event.stopPropagation();
|
| + function stopEventPropagation(event) {
|
| + // Let browser handle Ctrl+/Ctrl- shortcuts in hosted mode.
|
| + var zoomModifier = WebInspector.isMac() ? event.metaKey : event.ctrlKey;
|
| + if (zoomModifier && (event.keyCode === 187 || event.keyCode === 189))
|
| + event.stopPropagation();
|
| }
|
| - document.addEventListener("keydown", stopEventPropagation, true);
|
| -};
|
| -
|
| -WebInspector.InspectorFrontendHostStub.prototype = {
|
| - /**
|
| - * @override
|
| - * @return {string}
|
| - */
|
| - getSelectionBackgroundColor: function()
|
| - {
|
| - return "#6e86ff";
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @return {string}
|
| - */
|
| - getSelectionForegroundColor: function()
|
| - {
|
| - return "#ffffff";
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @return {string}
|
| - */
|
| - platform: function()
|
| - {
|
| - var match = navigator.userAgent.match(/Windows NT/);
|
| - if (match)
|
| - return "windows";
|
| - match = navigator.userAgent.match(/Mac OS X/);
|
| - if (match)
|
| - return "mac";
|
| - return "linux";
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - */
|
| - loadCompleted: function()
|
| - {
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - */
|
| - bringToFront: function()
|
| - {
|
| - this._windowVisible = true;
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - */
|
| - closeWindow: function()
|
| - {
|
| - this._windowVisible = false;
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {boolean} isDocked
|
| - * @param {function()} callback
|
| - */
|
| - setIsDocked: function(isDocked, callback)
|
| - {
|
| - setTimeout(callback, 0);
|
| - },
|
| -
|
| - /**
|
| - * Requests inspected page to be placed atop of the inspector frontend with specified bounds.
|
| - * @override
|
| - * @param {{x: number, y: number, width: number, height: number}} bounds
|
| - */
|
| - setInspectedPageBounds: function(bounds)
|
| - {
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - */
|
| - inspectElementCompleted: function()
|
| - {
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {string} origin
|
| - * @param {string} script
|
| - */
|
| - setInjectedScriptForOrigin: function(origin, script)
|
| - {
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {string} url
|
| - * @suppressGlobalPropertiesCheck
|
| - */
|
| - inspectedURLChanged: function(url)
|
| - {
|
| - document.title = WebInspector.UIString("Developer Tools - %s", url);
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {string} text
|
| - */
|
| - copyText: function(text)
|
| - {
|
| - WebInspector.console.error("Clipboard is not enabled in hosted mode. Please inspect using chrome://inspect");
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {string} url
|
| - */
|
| - openInNewTab: function(url)
|
| - {
|
| - window.open(url, "_blank");
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {string} url
|
| - * @param {string} content
|
| - * @param {boolean} forceSaveAs
|
| - */
|
| - save: function(url, content, forceSaveAs)
|
| - {
|
| - WebInspector.console.error("Saving files is not enabled in hosted mode. Please inspect using chrome://inspect");
|
| - this.events.dispatchEventToListeners(InspectorFrontendHostAPI.Events.CanceledSaveURL, url);
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {string} url
|
| - * @param {string} content
|
| - */
|
| - append: function(url, content)
|
| - {
|
| - WebInspector.console.error("Saving files is not enabled in hosted mode. Please inspect using chrome://inspect");
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {string} message
|
| - */
|
| - sendMessageToBackend: function(message)
|
| - {
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {string} actionName
|
| - * @param {number} actionCode
|
| - * @param {number} bucketSize
|
| - */
|
| - recordEnumeratedHistogram: function(actionName, actionCode, bucketSize)
|
| - {
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - */
|
| - requestFileSystems: function()
|
| - {
|
| - this.events.dispatchEventToListeners(InspectorFrontendHostAPI.Events.FileSystemsLoaded, []);
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {string=} fileSystemPath
|
| - */
|
| - addFileSystem: function(fileSystemPath)
|
| - {
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {string} fileSystemPath
|
| - */
|
| - removeFileSystem: function(fileSystemPath)
|
| - {
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {string} fileSystemId
|
| - * @param {string} registeredName
|
| - * @return {?DOMFileSystem}
|
| - */
|
| - isolatedFileSystem: function(fileSystemId, registeredName)
|
| - {
|
| - return null;
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {string} url
|
| - * @param {string} headers
|
| - * @param {number} streamId
|
| - * @param {function(!InspectorFrontendHostAPI.LoadNetworkResourceResult)} callback
|
| - */
|
| - loadNetworkResource: function(url, headers, streamId, callback)
|
| - {
|
| - Runtime.loadResourcePromise(url).then(function(text) {
|
| - WebInspector.ResourceLoader.streamWrite(streamId, text);
|
| - callback({statusCode : 200});
|
| - }).catch(function() {
|
| - callback({statusCode : 404});
|
| + document.addEventListener('keydown', stopEventPropagation, true);
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @return {string}
|
| + */
|
| + getSelectionBackgroundColor() {
|
| + return '#6e86ff';
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @return {string}
|
| + */
|
| + getSelectionForegroundColor() {
|
| + return '#ffffff';
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @return {string}
|
| + */
|
| + platform() {
|
| + var match = navigator.userAgent.match(/Windows NT/);
|
| + if (match)
|
| + return 'windows';
|
| + match = navigator.userAgent.match(/Mac OS X/);
|
| + if (match)
|
| + return 'mac';
|
| + return 'linux';
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + */
|
| + loadCompleted() {
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + */
|
| + bringToFront() {
|
| + this._windowVisible = true;
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + */
|
| + closeWindow() {
|
| + this._windowVisible = false;
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {boolean} isDocked
|
| + * @param {function()} callback
|
| + */
|
| + setIsDocked(isDocked, callback) {
|
| + setTimeout(callback, 0);
|
| + }
|
| +
|
| + /**
|
| + * Requests inspected page to be placed atop of the inspector frontend with specified bounds.
|
| + * @override
|
| + * @param {{x: number, y: number, width: number, height: number}} bounds
|
| + */
|
| + setInspectedPageBounds(bounds) {
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + */
|
| + inspectElementCompleted() {
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {string} origin
|
| + * @param {string} script
|
| + */
|
| + setInjectedScriptForOrigin(origin, script) {
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {string} url
|
| + * @suppressGlobalPropertiesCheck
|
| + */
|
| + inspectedURLChanged(url) {
|
| + document.title = WebInspector.UIString('Developer Tools - %s', url);
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {string} text
|
| + */
|
| + copyText(text) {
|
| + WebInspector.console.error('Clipboard is not enabled in hosted mode. Please inspect using chrome://inspect');
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {string} url
|
| + */
|
| + openInNewTab(url) {
|
| + window.open(url, '_blank');
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {string} url
|
| + * @param {string} content
|
| + * @param {boolean} forceSaveAs
|
| + */
|
| + save(url, content, forceSaveAs) {
|
| + WebInspector.console.error('Saving files is not enabled in hosted mode. Please inspect using chrome://inspect');
|
| + this.events.dispatchEventToListeners(InspectorFrontendHostAPI.Events.CanceledSaveURL, url);
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {string} url
|
| + * @param {string} content
|
| + */
|
| + append(url, content) {
|
| + WebInspector.console.error('Saving files is not enabled in hosted mode. Please inspect using chrome://inspect');
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {string} message
|
| + */
|
| + sendMessageToBackend(message) {
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {string} actionName
|
| + * @param {number} actionCode
|
| + * @param {number} bucketSize
|
| + */
|
| + recordEnumeratedHistogram(actionName, actionCode, bucketSize) {
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + */
|
| + requestFileSystems() {
|
| + this.events.dispatchEventToListeners(InspectorFrontendHostAPI.Events.FileSystemsLoaded, []);
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {string=} fileSystemPath
|
| + */
|
| + addFileSystem(fileSystemPath) {
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {string} fileSystemPath
|
| + */
|
| + removeFileSystem(fileSystemPath) {
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {string} fileSystemId
|
| + * @param {string} registeredName
|
| + * @return {?DOMFileSystem}
|
| + */
|
| + isolatedFileSystem(fileSystemId, registeredName) {
|
| + return null;
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {string} url
|
| + * @param {string} headers
|
| + * @param {number} streamId
|
| + * @param {function(!InspectorFrontendHostAPI.LoadNetworkResourceResult)} callback
|
| + */
|
| + loadNetworkResource(url, headers, streamId, callback) {
|
| + Runtime.loadResourcePromise(url)
|
| + .then(function(text) {
|
| + WebInspector.ResourceLoader.streamWrite(streamId, text);
|
| + callback({statusCode: 200});
|
| + })
|
| + .catch(function() {
|
| + callback({statusCode: 404});
|
| });
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {function(!Object<string, string>)} callback
|
| - */
|
| - getPreferences: function(callback)
|
| - {
|
| - var prefs = {};
|
| - for (var name in window.localStorage)
|
| - prefs[name] = window.localStorage[name];
|
| - callback(prefs);
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {string} name
|
| - * @param {string} value
|
| - */
|
| - setPreference: function(name, value)
|
| - {
|
| - window.localStorage[name] = value;
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {string} name
|
| - */
|
| - removePreference: function(name)
|
| - {
|
| - delete window.localStorage[name];
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - */
|
| - clearPreferences: function()
|
| - {
|
| - window.localStorage.clear();
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {!FileSystem} fileSystem
|
| - */
|
| - upgradeDraggedFileSystemPermissions: function(fileSystem)
|
| - {
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {number} requestId
|
| - * @param {string} fileSystemPath
|
| - */
|
| - indexPath: function(requestId, fileSystemPath)
|
| - {
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {number} requestId
|
| - */
|
| - stopIndexing: function(requestId)
|
| - {
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {number} requestId
|
| - * @param {string} fileSystemPath
|
| - * @param {string} query
|
| - */
|
| - searchInPath: function(requestId, fileSystemPath, query)
|
| - {
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @return {number}
|
| - */
|
| - zoomFactor: function()
|
| - {
|
| - return 1;
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - */
|
| - zoomIn: function()
|
| - {
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - */
|
| - zoomOut: function()
|
| - {
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - */
|
| - resetZoom: function()
|
| - {
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {string} shortcuts
|
| - */
|
| - setWhitelistedShortcuts: function(shortcuts)
|
| - {
|
| - },
|
| -
|
| - /**
|
| - * @param {!Array<string>} certChain
|
| - * @override
|
| - */
|
| - showCertificateViewer: function(certChain)
|
| - {
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @return {boolean}
|
| - */
|
| - isUnderTest: function()
|
| - {
|
| - return false;
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {function()} callback
|
| - */
|
| - reattach: function(callback)
|
| - {
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - */
|
| - readyForTest: function()
|
| - {
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {boolean} discoverUsbDevices
|
| - * @param {boolean} portForwardingEnabled
|
| - * @param {!Adb.PortForwardingConfig} portForwardingConfig
|
| - */
|
| - setDevicesDiscoveryConfig: function(discoverUsbDevices, portForwardingEnabled, portForwardingConfig)
|
| - {
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {boolean} enabled
|
| - */
|
| - setDevicesUpdatesEnabled: function(enabled)
|
| - {
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {string} pageId
|
| - * @param {string} action
|
| - */
|
| - performActionOnRemotePage: function(pageId, action)
|
| - {
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {string} browserId
|
| - * @param {string} url
|
| - */
|
| - openRemotePage: function(browserId, url)
|
| - {
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {number} x
|
| - * @param {number} y
|
| - * @param {!Array.<!InspectorFrontendHostAPI.ContextMenuDescriptor>} items
|
| - * @param {!Document} document
|
| - */
|
| - showContextMenuAtPoint: function(x, y, items, document)
|
| - {
|
| - throw "Soft context menu should be used";
|
| - },
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {function(!Object<string, string>)} callback
|
| + */
|
| + getPreferences(callback) {
|
| + var prefs = {};
|
| + for (var name in window.localStorage)
|
| + prefs[name] = window.localStorage[name];
|
| + callback(prefs);
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {string} name
|
| + * @param {string} value
|
| + */
|
| + setPreference(name, value) {
|
| + window.localStorage[name] = value;
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {string} name
|
| + */
|
| + removePreference(name) {
|
| + delete window.localStorage[name];
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + */
|
| + clearPreferences() {
|
| + window.localStorage.clear();
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {!FileSystem} fileSystem
|
| + */
|
| + upgradeDraggedFileSystemPermissions(fileSystem) {
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {number} requestId
|
| + * @param {string} fileSystemPath
|
| + */
|
| + indexPath(requestId, fileSystemPath) {
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {number} requestId
|
| + */
|
| + stopIndexing(requestId) {
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {number} requestId
|
| + * @param {string} fileSystemPath
|
| + * @param {string} query
|
| + */
|
| + searchInPath(requestId, fileSystemPath, query) {
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @return {number}
|
| + */
|
| + zoomFactor() {
|
| + return 1;
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + */
|
| + zoomIn() {
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + */
|
| + zoomOut() {
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + */
|
| + resetZoom() {
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {string} shortcuts
|
| + */
|
| + setWhitelistedShortcuts(shortcuts) {
|
| + }
|
| +
|
| + /**
|
| + * @param {!Array<string>} certChain
|
| + * @override
|
| + */
|
| + showCertificateViewer(certChain) {
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @return {boolean}
|
| + */
|
| + isUnderTest() {
|
| + return false;
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {function()} callback
|
| + */
|
| + reattach(callback) {
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + */
|
| + readyForTest() {
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {boolean} discoverUsbDevices
|
| + * @param {boolean} portForwardingEnabled
|
| + * @param {!Adb.PortForwardingConfig} portForwardingConfig
|
| + */
|
| + setDevicesDiscoveryConfig(discoverUsbDevices, portForwardingEnabled, portForwardingConfig) {
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {boolean} enabled
|
| + */
|
| + setDevicesUpdatesEnabled(enabled) {
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {string} pageId
|
| + * @param {string} action
|
| + */
|
| + performActionOnRemotePage(pageId, action) {
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {string} browserId
|
| + * @param {string} url
|
| + */
|
| + openRemotePage(browserId, url) {
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @param {number} x
|
| + * @param {number} y
|
| + * @param {!Array.<!InspectorFrontendHostAPI.ContextMenuDescriptor>} items
|
| + * @param {!Document} document
|
| + */
|
| + showContextMenuAtPoint(x, y, items, document) {
|
| + throw 'Soft context menu should be used';
|
| + }
|
| +
|
| + /**
|
| + * @override
|
| + * @return {boolean}
|
| + */
|
| + isHostedMode() {
|
| + return true;
|
| + }
|
| +};
|
|
|
| - /**
|
| - * @override
|
| - * @return {boolean}
|
| - */
|
| - isHostedMode: function()
|
| - {
|
| - return true;
|
| +/**
|
| + * @unrestricted
|
| + */
|
| +var InspectorFrontendAPIImpl = class {
|
| + constructor() {
|
| + this._debugFrontend =
|
| + !!Runtime.queryParam('debugFrontend') || (window['InspectorTest'] && window['InspectorTest']['debugTest']);
|
| +
|
| + var descriptors = InspectorFrontendHostAPI.EventDescriptors;
|
| + for (var i = 0; i < descriptors.length; ++i)
|
| + this[descriptors[i][1]] = this._dispatch.bind(this, descriptors[i][0], descriptors[i][2], descriptors[i][3]);
|
| + }
|
| +
|
| + /**
|
| + * @param {symbol} name
|
| + * @param {!Array.<string>} signature
|
| + * @param {boolean} runOnceLoaded
|
| + */
|
| + _dispatch(name, signature, runOnceLoaded) {
|
| + var params = Array.prototype.slice.call(arguments, 3);
|
| +
|
| + if (this._debugFrontend)
|
| + setImmediate(innerDispatch);
|
| + else
|
| + innerDispatch();
|
| +
|
| + function innerDispatch() {
|
| + // Single argument methods get dispatched with the param.
|
| + if (signature.length < 2) {
|
| + try {
|
| + InspectorFrontendHost.events.dispatchEventToListeners(name, params[0]);
|
| + } catch (e) {
|
| + console.error(e + ' ' + e.stack);
|
| + }
|
| + return;
|
| + }
|
| + var data = {};
|
| + for (var i = 0; i < signature.length; ++i)
|
| + data[signature[i]] = params[i];
|
| + try {
|
| + InspectorFrontendHost.events.dispatchEventToListeners(name, data);
|
| + } catch (e) {
|
| + console.error(e + ' ' + e.stack);
|
| + }
|
| }
|
| + }
|
| +
|
| + /**
|
| + * @param {number} id
|
| + * @param {string} chunk
|
| + */
|
| + streamWrite(id, chunk) {
|
| + WebInspector.ResourceLoader.streamWrite(id, chunk);
|
| + }
|
| };
|
|
|
| /**
|
| @@ -467,104 +479,43 @@ WebInspector.InspectorFrontendHostStub.prototype = {
|
| */
|
| var InspectorFrontendHost = window.InspectorFrontendHost || null;
|
| window.InspectorFrontendHost = InspectorFrontendHost;
|
| -(function(){
|
| -
|
| - function initializeInspectorFrontendHost()
|
| - {
|
| - if (!InspectorFrontendHost) {
|
| - // Instantiate stub for web-hosted mode if necessary.
|
| - window.InspectorFrontendHost = InspectorFrontendHost = new WebInspector.InspectorFrontendHostStub();
|
| - } else {
|
| - // Otherwise add stubs for missing methods that are declared in the interface.
|
| - var proto = WebInspector.InspectorFrontendHostStub.prototype;
|
| - for (var name in proto) {
|
| - var value = proto[name];
|
| - if (typeof value !== "function" || InspectorFrontendHost[name])
|
| - continue;
|
| -
|
| - InspectorFrontendHost[name] = stub.bind(null, name);
|
| - }
|
| - }
|
| -
|
| - /**
|
| - * @param {string} name
|
| - * @return {?}
|
| - */
|
| - function stub(name)
|
| - {
|
| - console.error("Incompatible embedder: method InspectorFrontendHost." + name + " is missing. Using stub instead.");
|
| - var args = Array.prototype.slice.call(arguments, 1);
|
| - return proto[name].apply(InspectorFrontendHost, args);
|
| - }
|
| -
|
| - // Attach the events object.
|
| - InspectorFrontendHost.events = new WebInspector.Object();
|
| +(function() {
|
| +
|
| + function initializeInspectorFrontendHost() {
|
| + if (!InspectorFrontendHost) {
|
| + // Instantiate stub for web-hosted mode if necessary.
|
| + window.InspectorFrontendHost = InspectorFrontendHost = new WebInspector.InspectorFrontendHostStub();
|
| + } else {
|
| + // Otherwise add stubs for missing methods that are declared in the interface.
|
| + var proto = WebInspector.InspectorFrontendHostStub.prototype;
|
| + for (var name in proto) {
|
| + var value = proto[name];
|
| + if (typeof value !== 'function' || InspectorFrontendHost[name])
|
| + continue;
|
| +
|
| + InspectorFrontendHost[name] = stub.bind(null, name);
|
| + }
|
| }
|
|
|
| /**
|
| - * @constructor
|
| + * @param {string} name
|
| + * @return {?}
|
| */
|
| - function InspectorFrontendAPIImpl()
|
| - {
|
| - this._debugFrontend = !!Runtime.queryParam("debugFrontend") || (window["InspectorTest"] && window["InspectorTest"]["debugTest"]);
|
| -
|
| - var descriptors = InspectorFrontendHostAPI.EventDescriptors;
|
| - for (var i = 0; i < descriptors.length; ++i)
|
| - this[descriptors[i][1]] = this._dispatch.bind(this, descriptors[i][0], descriptors[i][2], descriptors[i][3]);
|
| + function stub(name) {
|
| + console.error('Incompatible embedder: method InspectorFrontendHost.' + name + ' is missing. Using stub instead.');
|
| + var args = Array.prototype.slice.call(arguments, 1);
|
| + return proto[name].apply(InspectorFrontendHost, args);
|
| }
|
|
|
| - InspectorFrontendAPIImpl.prototype = {
|
| - /**
|
| - * @param {symbol} name
|
| - * @param {!Array.<string>} signature
|
| - * @param {boolean} runOnceLoaded
|
| - */
|
| - _dispatch: function(name, signature, runOnceLoaded)
|
| - {
|
| - var params = Array.prototype.slice.call(arguments, 3);
|
| -
|
| - if (this._debugFrontend)
|
| - setImmediate(innerDispatch);
|
| - else
|
| - innerDispatch();
|
| -
|
| - function innerDispatch()
|
| - {
|
| - // Single argument methods get dispatched with the param.
|
| - if (signature.length < 2) {
|
| - try {
|
| - InspectorFrontendHost.events.dispatchEventToListeners(name, params[0]);
|
| - } catch (e) {
|
| - console.error(e + " " + e.stack);
|
| - }
|
| - return;
|
| - }
|
| - var data = {};
|
| - for (var i = 0; i < signature.length; ++i)
|
| - data[signature[i]] = params[i];
|
| - try {
|
| - InspectorFrontendHost.events.dispatchEventToListeners(name, data);
|
| - } catch (e) {
|
| - console.error(e + " " + e.stack);
|
| - }
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * @param {number} id
|
| - * @param {string} chunk
|
| - */
|
| - streamWrite: function(id, chunk)
|
| - {
|
| - WebInspector.ResourceLoader.streamWrite(id, chunk);
|
| - }
|
| - };
|
| + // Attach the events object.
|
| + InspectorFrontendHost.events = new WebInspector.Object();
|
| + }
|
|
|
| - // FIXME: This file is included into both apps, since the devtools_app needs the InspectorFrontendHostAPI only,
|
| - // so the host instance should not initialized there.
|
| - initializeInspectorFrontendHost();
|
| - window.InspectorFrontendAPI = new InspectorFrontendAPIImpl();
|
| - WebInspector.setLocalizationPlatform(InspectorFrontendHost.platform());
|
| + // FIXME: This file is included into both apps, since the devtools_app needs the InspectorFrontendHostAPI only,
|
| + // so the host instance should not initialized there.
|
| + initializeInspectorFrontendHost();
|
| + window.InspectorFrontendAPI = new InspectorFrontendAPIImpl();
|
| + WebInspector.setLocalizationPlatform(InspectorFrontendHost.platform());
|
| })();
|
|
|
| /**
|
|
|