| Index: Source/devtools/front_end/inspector.js
|
| diff --git a/Source/devtools/front_end/inspector.js b/Source/devtools/front_end/inspector.js
|
| deleted file mode 100644
|
| index a4bdd4ef9af733fea8f0669f2280c22bb09c65e4..0000000000000000000000000000000000000000
|
| --- a/Source/devtools/front_end/inspector.js
|
| +++ /dev/null
|
| @@ -1,737 +0,0 @@
|
| -/*
|
| - * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
|
| - * Copyright (C) 2007 Matt Lilek (pewtermoose@gmail.com).
|
| - * Copyright (C) 2009 Joseph Pecoraro
|
| - *
|
| - * Redistribution and use in source and binary forms, with or without
|
| - * modification, are permitted provided that the following conditions
|
| - * are met:
|
| - *
|
| - * 1. Redistributions of source code must retain the above copyright
|
| - * notice, this list of conditions and the following disclaimer.
|
| - * 2. Redistributions in binary form must reproduce the above copyright
|
| - * notice, this list of conditions and the following disclaimer in the
|
| - * documentation and/or other materials provided with the distribution.
|
| - * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
|
| - * its contributors may be used to endorse or promote products derived
|
| - * from this software without specific prior written permission.
|
| - *
|
| - * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
|
| - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
| - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
| - * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
|
| - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
| - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
| - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
| - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| - * (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 {InspectorAgent.Dispatcher}
|
| - */
|
| -WebInspector.Main = function()
|
| -{
|
| - var boundListener = windowLoaded.bind(this);
|
| -
|
| - /**
|
| - * @this {WebInspector.Main}
|
| - */
|
| - function windowLoaded()
|
| - {
|
| - this._loaded();
|
| - window.removeEventListener("DOMContentLoaded", boundListener, false);
|
| - }
|
| - window.addEventListener("DOMContentLoaded", boundListener, false);
|
| -}
|
| -
|
| -WebInspector.Main.prototype = {
|
| - _registerModules: function()
|
| - {
|
| - var configuration;
|
| - if (!Capabilities.isMainFrontend) {
|
| - configuration = ["sources", "timeline", "profiles", "console", "codemirror"];
|
| - } else {
|
| - configuration = ["elements", "network", "sources", "timeline", "profiles", "resources", "audits", "console", "codemirror", "extensions"];
|
| - if (WebInspector.experimentsSettings.layersPanel.isEnabled())
|
| - configuration.push("layers");
|
| - }
|
| - WebInspector.moduleManager.registerModules(configuration);
|
| - },
|
| -
|
| - _createGlobalStatusBarItems: function()
|
| - {
|
| - if (WebInspector.inspectElementModeController)
|
| - WebInspector.inspectorView.appendToLeftToolbar(WebInspector.inspectElementModeController.toggleSearchButton.element);
|
| -
|
| - WebInspector.inspectorView.appendToRightToolbar(WebInspector.settingsController.statusBarItem);
|
| - if (WebInspector.dockController.element)
|
| - WebInspector.inspectorView.appendToRightToolbar(WebInspector.dockController.element);
|
| -
|
| - if (WebInspector._screencastController)
|
| - WebInspector.inspectorView.appendToRightToolbar(WebInspector._screencastController.statusBarItem());
|
| - },
|
| -
|
| - _createRootView: function()
|
| - {
|
| - var rootView = new WebInspector.RootView();
|
| -
|
| - this._rootSplitView = new WebInspector.SplitView(false, true, WebInspector.dockController.canDock() ? "InspectorView.splitViewState" : "InspectorView.dummySplitViewState", 300, 300);
|
| - this._rootSplitView.show(rootView.element);
|
| - this._rootSplitView.setSidebarElementConstraints(180, 50);
|
| - this._rootSplitView.setMainElementConstraints(WebInspector.InspectedPagePlaceholder.Constraints.Width, WebInspector.InspectedPagePlaceholder.Constraints.Height);
|
| -
|
| - WebInspector.inspectorView.show(this._rootSplitView.sidebarElement());
|
| -
|
| - var inspectedPagePlaceholder = new WebInspector.InspectedPagePlaceholder();
|
| - inspectedPagePlaceholder.show(this._rootSplitView.mainElement());
|
| -
|
| - WebInspector.dockController.addEventListener(WebInspector.DockController.Events.DockSideChanged, this._updateRootSplitViewOnDockSideChange, this);
|
| - this._updateRootSplitViewOnDockSideChange();
|
| -
|
| - rootView.show(document.body);
|
| - },
|
| -
|
| - _updateRootSplitViewOnDockSideChange: function()
|
| - {
|
| - var dockSide = WebInspector.dockController.dockSide();
|
| - if (dockSide === WebInspector.DockController.State.Undocked) {
|
| - this._rootSplitView.toggleResizer(this._rootSplitView.resizerElement(), false);
|
| - this._rootSplitView.toggleResizer(WebInspector.inspectorView.topResizerElement(), false);
|
| - this._rootSplitView.hideMain();
|
| - return;
|
| - }
|
| -
|
| - this._rootSplitView.setVertical(dockSide === WebInspector.DockController.State.DockedToLeft || dockSide === WebInspector.DockController.State.DockedToRight);
|
| - this._rootSplitView.setSecondIsSidebar(dockSide === WebInspector.DockController.State.DockedToRight || dockSide === WebInspector.DockController.State.DockedToBottom);
|
| - this._rootSplitView.toggleResizer(this._rootSplitView.resizerElement(), true);
|
| - this._rootSplitView.toggleResizer(WebInspector.inspectorView.topResizerElement(), dockSide === WebInspector.DockController.State.DockedToBottom);
|
| - this._rootSplitView.showBoth();
|
| - },
|
| -
|
| - _calculateWorkerInspectorTitle: function()
|
| - {
|
| - var expression = "location.href";
|
| - if (WebInspector.queryParam("isSharedWorker"))
|
| - expression += " + (this.name ? ' (' + this.name + ')' : '')";
|
| - RuntimeAgent.invoke_evaluate({expression:expression, doNotPauseOnExceptionsAndMuteConsole:true, returnByValue: true}, evalCallback);
|
| -
|
| - /**
|
| - * @param {?Protocol.Error} error
|
| - * @param {!RuntimeAgent.RemoteObject} result
|
| - * @param {boolean=} wasThrown
|
| - */
|
| - function evalCallback(error, result, wasThrown)
|
| - {
|
| - if (error || wasThrown) {
|
| - console.error(error);
|
| - return;
|
| - }
|
| - InspectorFrontendHost.inspectedURLChanged(result.value);
|
| - }
|
| - },
|
| -
|
| - _loadCompletedForWorkers: function()
|
| - {
|
| - // Make sure script execution of dedicated worker is resumed and then paused
|
| - // on the first script statement in case we autoattached to it.
|
| - if (WebInspector.queryParam("workerPaused")) {
|
| - DebuggerAgent.pause();
|
| - RuntimeAgent.run(calculateTitle.bind(this));
|
| - } else if (!Capabilities.isMainFrontend) {
|
| - calculateTitle.call(this);
|
| - }
|
| -
|
| - /**
|
| - * @this {WebInspector.Main}
|
| - */
|
| - function calculateTitle()
|
| - {
|
| - this._calculateWorkerInspectorTitle();
|
| - }
|
| - },
|
| -
|
| - _resetErrorAndWarningCounts: function()
|
| - {
|
| - WebInspector.inspectorView.setErrorAndWarningCounts(0, 0);
|
| - },
|
| -
|
| - _updateErrorAndWarningCounts: function()
|
| - {
|
| - var errors = WebInspector.console.errors;
|
| - var warnings = WebInspector.console.warnings;
|
| - WebInspector.inspectorView.setErrorAndWarningCounts(errors, warnings);
|
| - },
|
| -
|
| - _debuggerPaused: function()
|
| - {
|
| - WebInspector.debuggerModel.removeEventListener(WebInspector.DebuggerModel.Events.DebuggerPaused, this._debuggerPaused, this);
|
| - WebInspector.inspectorView.showPanel("sources");
|
| - },
|
| -
|
| - _loaded: function()
|
| - {
|
| - if (!InspectorFrontendHost.sendMessageToEmbedder) {
|
| - var helpScreen = new WebInspector.HelpScreen(WebInspector.UIString("Incompatible Chrome version"));
|
| - var p = helpScreen.contentElement.createChild("p", "help-section");
|
| - p.textContent = WebInspector.UIString("Please upgrade to a newer Chrome version (you might need a Dev or Canary build).");
|
| - helpScreen.showModal();
|
| - return;
|
| - }
|
| -
|
| - InspectorBackend.loadFromJSONIfNeeded("../protocol.json");
|
| - WebInspector.dockController = new WebInspector.DockController(!!WebInspector.queryParam("can_dock"));
|
| -
|
| - var onConnectionReady = this._doLoadedDone.bind(this);
|
| -
|
| - var workerId = WebInspector.queryParam("dedicatedWorkerId");
|
| - if (workerId) {
|
| - new WebInspector.WorkerConnection(workerId, onConnectionReady);
|
| - return;
|
| - }
|
| -
|
| - var ws;
|
| - if (WebInspector.queryParam("ws")) {
|
| - ws = "ws://" + WebInspector.queryParam("ws");
|
| - } else if (WebInspector.queryParam("page")) {
|
| - var page = WebInspector.queryParam("page");
|
| - var host = WebInspector.queryParam("host") || window.location.host;
|
| - ws = "ws://" + host + "/devtools/page/" + page;
|
| - }
|
| -
|
| - if (ws) {
|
| - document.body.classList.add("remote");
|
| - new InspectorBackendClass.WebSocketConnection(ws, onConnectionReady);
|
| - return;
|
| - }
|
| -
|
| - if (!InspectorFrontendHost.isStub) {
|
| - new InspectorBackendClass.MainConnection(onConnectionReady);
|
| - return;
|
| - }
|
| -
|
| - InspectorFrontendAPI.dispatchQueryParameters(WebInspector.queryParam("dispatch"));
|
| - new InspectorBackendClass.StubConnection(onConnectionReady);
|
| - },
|
| -
|
| - /**
|
| - * @param {!InspectorBackendClass.Connection} connection
|
| - */
|
| - _doLoadedDone: function(connection)
|
| - {
|
| - connection.addEventListener(InspectorBackendClass.Connection.Events.Disconnected, onDisconnected);
|
| -
|
| - /**
|
| - * @param {!WebInspector.Event} event
|
| - */
|
| - function onDisconnected(event)
|
| - {
|
| - if (WebInspector._disconnectedScreenWithReasonWasShown)
|
| - return;
|
| - new WebInspector.RemoteDebuggingTerminatedScreen(event.data.reason).showModal();
|
| - }
|
| -
|
| - InspectorBackend.setConnection(connection);
|
| -
|
| - // Install styles and themes
|
| - WebInspector.installPortStyles();
|
| -
|
| - if (WebInspector.queryParam("toolbarColor") && WebInspector.queryParam("textColor"))
|
| - WebInspector.setToolbarColors(WebInspector.queryParam("toolbarColor"), WebInspector.queryParam("textColor"));
|
| -
|
| - WebInspector.targetManager = new WebInspector.TargetManager();
|
| - WebInspector.targetManager.createTarget(connection, this._doLoadedDoneWithCapabilities.bind(this));
|
| - },
|
| -
|
| - _doLoadedDoneWithCapabilities: function(mainTarget)
|
| - {
|
| - new WebInspector.VersionController().updateVersion();
|
| - WebInspector.shortcutsScreen = new WebInspector.ShortcutsScreen();
|
| - this._registerShortcuts();
|
| -
|
| - // set order of some sections explicitly
|
| - WebInspector.shortcutsScreen.section(WebInspector.UIString("Console"));
|
| - WebInspector.shortcutsScreen.section(WebInspector.UIString("Elements Panel"));
|
| - WebInspector.ShortcutsScreen.registerShortcuts();
|
| -
|
| - WebInspector.console.addEventListener(WebInspector.ConsoleModel.Events.ConsoleCleared, this._resetErrorAndWarningCounts, this);
|
| - WebInspector.console.addEventListener(WebInspector.ConsoleModel.Events.MessageAdded, this._updateErrorAndWarningCounts, this);
|
| - WebInspector.console.addEventListener(WebInspector.ConsoleModel.Events.RepeatCountUpdated, this._updateErrorAndWarningCounts, this);
|
| -
|
| - WebInspector.debuggerModel.addEventListener(WebInspector.DebuggerModel.Events.DebuggerPaused, this._debuggerPaused, this);
|
| - WebInspector.networkLog = new WebInspector.NetworkLog();
|
| -
|
| - WebInspector.zoomManager = new WebInspector.ZoomManager();
|
| -
|
| - WebInspector.advancedSearchController = new WebInspector.AdvancedSearchController();
|
| -
|
| - InspectorBackend.registerInspectorDispatcher(this);
|
| -
|
| - WebInspector.isolatedFileSystemManager = new WebInspector.IsolatedFileSystemManager();
|
| - WebInspector.isolatedFileSystemDispatcher = new WebInspector.IsolatedFileSystemDispatcher(WebInspector.isolatedFileSystemManager);
|
| - WebInspector.workspace = new WebInspector.Workspace(WebInspector.isolatedFileSystemManager.mapping());
|
| -
|
| - WebInspector.cssModel = new WebInspector.CSSStyleModel(WebInspector.workspace);
|
| - WebInspector.timelineManager = new WebInspector.TimelineManager();
|
| - WebInspector.tracingAgent = new WebInspector.TracingAgent();
|
| -
|
| - if (Capabilities.isMainFrontend) {
|
| - WebInspector.inspectElementModeController = new WebInspector.InspectElementModeController();
|
| - WebInspector.workerFrontendManager = new WebInspector.WorkerFrontendManager();
|
| - } else {
|
| - mainTarget.workerManager.addEventListener(WebInspector.WorkerManager.Events.WorkerDisconnected, onWorkerDisconnected);
|
| - }
|
| -
|
| - function onWorkerDisconnected()
|
| - {
|
| - var screen = new WebInspector.WorkerTerminatedScreen();
|
| - var listener = hideScreen.bind(null, screen);
|
| - mainTarget.debuggerModel.addEventListener(WebInspector.DebuggerModel.Events.GlobalObjectCleared, listener);
|
| -
|
| - /**
|
| - * @param {!WebInspector.WorkerTerminatedScreen} screen
|
| - */
|
| - function hideScreen(screen)
|
| - {
|
| - mainTarget.debuggerModel.removeEventListener(WebInspector.DebuggerModel.Events.GlobalObjectCleared, listener);
|
| - screen.hide();
|
| - }
|
| -
|
| - screen.showModal();
|
| - }
|
| -
|
| - WebInspector.settingsController = new WebInspector.SettingsController();
|
| -
|
| - WebInspector.domBreakpointsSidebarPane = new WebInspector.DOMBreakpointsSidebarPane();
|
| -
|
| - var autoselectPanel = WebInspector.UIString("a panel chosen automatically");
|
| - var openAnchorLocationSetting = WebInspector.settings.createSetting("openLinkHandler", autoselectPanel);
|
| - WebInspector.openAnchorLocationRegistry = new WebInspector.HandlerRegistry(openAnchorLocationSetting);
|
| - WebInspector.openAnchorLocationRegistry.registerHandler(autoselectPanel, function() { return false; });
|
| - WebInspector.Linkifier.setLinkHandler(new WebInspector.HandlerRegistry.LinkHandler());
|
| -
|
| - new WebInspector.WorkspaceController(WebInspector.workspace);
|
| -
|
| - WebInspector.fileSystemWorkspaceProvider = new WebInspector.FileSystemWorkspaceProvider(WebInspector.isolatedFileSystemManager, WebInspector.workspace);
|
| -
|
| - WebInspector.networkWorkspaceProvider = new WebInspector.SimpleWorkspaceProvider(WebInspector.workspace, WebInspector.projectTypes.Network);
|
| - new WebInspector.NetworkUISourceCodeProvider(WebInspector.networkWorkspaceProvider, WebInspector.workspace);
|
| -
|
| - WebInspector.breakpointManager = new WebInspector.BreakpointManager(WebInspector.settings.breakpoints, WebInspector.debuggerModel, WebInspector.workspace);
|
| -
|
| - WebInspector.scriptSnippetModel = new WebInspector.ScriptSnippetModel(WebInspector.workspace);
|
| -
|
| - WebInspector.overridesSupport = new WebInspector.OverridesSupport();
|
| - WebInspector.overridesSupport.applyInitialOverrides();
|
| -
|
| - new WebInspector.DebuggerScriptMapping(WebInspector.debuggerModel, WebInspector.workspace, WebInspector.networkWorkspaceProvider);
|
| - WebInspector.liveEditSupport = new WebInspector.LiveEditSupport(WebInspector.workspace);
|
| - new WebInspector.CSSStyleSheetMapping(WebInspector.cssModel, WebInspector.workspace, WebInspector.networkWorkspaceProvider);
|
| - new WebInspector.PresentationConsoleMessageHelper(WebInspector.workspace);
|
| -
|
| - // Create settings before loading modules.
|
| - WebInspector.settings.initializeBackendSettings();
|
| -
|
| - this._registerModules();
|
| -
|
| - WebInspector.panels = {};
|
| - WebInspector.inspectorView = new WebInspector.InspectorView();
|
| - // Screencast controller creates a root view itself.
|
| - if (mainTarget.canScreencast)
|
| - this._screencastController = new WebInspector.ScreencastController();
|
| - else
|
| - this._createRootView();
|
| - this._createGlobalStatusBarItems();
|
| -
|
| - this._addMainEventListeners(document);
|
| -
|
| - function onResize()
|
| - {
|
| - if (WebInspector.settingsController)
|
| - WebInspector.settingsController.resize();
|
| - }
|
| - window.addEventListener("resize", onResize, true);
|
| -
|
| - var errorWarningCount = document.getElementById("error-warning-count");
|
| -
|
| - function showConsole()
|
| - {
|
| - WebInspector.console.show();
|
| - }
|
| - errorWarningCount.addEventListener("click", showConsole, false);
|
| - this._updateErrorAndWarningCounts();
|
| -
|
| - WebInspector.extensionServerProxy.setFrontendReady();
|
| -
|
| - WebInspector.console.enableAgent();
|
| -
|
| - WebInspector.databaseModel = new WebInspector.DatabaseModel();
|
| - WebInspector.domStorageModel = new WebInspector.DOMStorageModel();
|
| - WebInspector.cpuProfilerModel = new WebInspector.CPUProfilerModel();
|
| -
|
| - InspectorAgent.enable(inspectorAgentEnableCallback.bind(this));
|
| -
|
| - /**
|
| - * @this {WebInspector.Main}
|
| - */
|
| - function inspectorAgentEnableCallback()
|
| - {
|
| - WebInspector.inspectorView.showInitialPanel();
|
| -
|
| - if (WebInspector.overridesSupport.hasActiveOverrides()) {
|
| - if (!WebInspector.settings.showEmulationViewInDrawer.get())
|
| - WebInspector.settings.showEmulationViewInDrawer.set(true);
|
| - WebInspector.inspectorView.showViewInDrawer("emulation", true);
|
| - }
|
| -
|
| - if (WebInspector.settings.showPaintRects.get() || WebInspector.settings.showDebugBorders.get() || WebInspector.settings.continuousPainting.get() ||
|
| - WebInspector.settings.showFPSCounter.get() || WebInspector.settings.showScrollBottleneckRects.get()) {
|
| - WebInspector.settings.showRenderingViewInDrawer.set(true);
|
| - }
|
| -
|
| - WebInspector.settings.showMetricsRulers.addChangeListener(showRulersChanged);
|
| - function showRulersChanged()
|
| - {
|
| - PageAgent.setShowViewportSizeOnResize(true, WebInspector.settings.showMetricsRulers.get());
|
| - }
|
| - showRulersChanged();
|
| -
|
| - if (this._screencastController)
|
| - this._screencastController.initialize();
|
| - }
|
| -
|
| - this._loadCompletedForWorkers();
|
| - InspectorFrontendAPI.loadCompleted();
|
| - WebInspector.notifications.dispatchEventToListeners(WebInspector.NotificationService.Events.InspectorLoaded);
|
| - },
|
| -
|
| - _documentClick: function(event)
|
| - {
|
| - var anchor = event.target.enclosingNodeOrSelfWithNodeName("a");
|
| - if (!anchor || !anchor.href || (anchor.target === "_blank"))
|
| - return;
|
| -
|
| - // Prevent the link from navigating, since we don't do any navigation by following links normally.
|
| - event.consume(true);
|
| -
|
| - function followLink()
|
| - {
|
| - if (WebInspector.isBeingEdited(event.target))
|
| - return;
|
| - if (WebInspector.openAnchorLocationRegistry.dispatch({ url: anchor.href, lineNumber: anchor.lineNumber}))
|
| - return;
|
| -
|
| - var uiSourceCode = WebInspector.workspace.uiSourceCodeForURL(anchor.href);
|
| - if (uiSourceCode) {
|
| - WebInspector.Revealer.reveal(new WebInspector.UILocation(uiSourceCode, anchor.lineNumber || 0, anchor.columnNumber || 0));
|
| - return;
|
| - }
|
| -
|
| - var resource = WebInspector.resourceForURL(anchor.href);
|
| - if (resource) {
|
| - WebInspector.Revealer.reveal(resource);
|
| - return;
|
| - }
|
| -
|
| - var request = WebInspector.networkLog.requestForURL(anchor.href);
|
| - if (request) {
|
| - WebInspector.Revealer.reveal(request);
|
| - return;
|
| - }
|
| - InspectorFrontendHost.openInNewTab(anchor.href);
|
| - }
|
| -
|
| - if (WebInspector.followLinkTimeout)
|
| - clearTimeout(WebInspector.followLinkTimeout);
|
| -
|
| - if (anchor.preventFollowOnDoubleClick) {
|
| - // Start a timeout if this is the first click, if the timeout is canceled
|
| - // before it fires, then a double clicked happened or another link was clicked.
|
| - if (event.detail === 1)
|
| - WebInspector.followLinkTimeout = setTimeout(followLink, 333);
|
| - return;
|
| - }
|
| -
|
| - followLink();
|
| - },
|
| -
|
| - _registerShortcuts: function()
|
| - {
|
| - var shortcut = WebInspector.KeyboardShortcut;
|
| - var section = WebInspector.shortcutsScreen.section(WebInspector.UIString("All Panels"));
|
| - var keys = [
|
| - shortcut.makeDescriptor("[", shortcut.Modifiers.CtrlOrMeta),
|
| - shortcut.makeDescriptor("]", shortcut.Modifiers.CtrlOrMeta)
|
| - ];
|
| - section.addRelatedKeys(keys, WebInspector.UIString("Go to the panel to the left/right"));
|
| -
|
| - keys = [
|
| - shortcut.makeDescriptor("[", shortcut.Modifiers.CtrlOrMeta | shortcut.Modifiers.Alt),
|
| - shortcut.makeDescriptor("]", shortcut.Modifiers.CtrlOrMeta | shortcut.Modifiers.Alt)
|
| - ];
|
| - section.addRelatedKeys(keys, WebInspector.UIString("Go back/forward in panel history"));
|
| -
|
| - var toggleConsoleLabel = WebInspector.UIString("Show console");
|
| - section.addKey(shortcut.makeDescriptor(shortcut.Keys.Tilde, shortcut.Modifiers.Ctrl), toggleConsoleLabel);
|
| - var doNotOpenDrawerOnEsc = WebInspector.experimentsSettings.doNotOpenDrawerOnEsc.isEnabled();
|
| - var toggleDrawerLabel = doNotOpenDrawerOnEsc ? WebInspector.UIString("Hide drawer") : WebInspector.UIString("Toggle drawer");
|
| - section.addKey(shortcut.makeDescriptor(shortcut.Keys.Esc), toggleDrawerLabel);
|
| - section.addKey(shortcut.makeDescriptor("f", shortcut.Modifiers.CtrlOrMeta), WebInspector.UIString("Search"));
|
| -
|
| - var advancedSearchShortcut = WebInspector.AdvancedSearchController.createShortcut();
|
| - section.addKey(advancedSearchShortcut, WebInspector.UIString("Search across all sources"));
|
| -
|
| - var inspectElementModeShortcut = WebInspector.InspectElementModeController.createShortcut();
|
| - section.addKey(inspectElementModeShortcut, WebInspector.UIString("Select node to inspect"));
|
| -
|
| - var openResourceShortcut = WebInspector.KeyboardShortcut.makeDescriptor("o", WebInspector.KeyboardShortcut.Modifiers.CtrlOrMeta);
|
| - section.addKey(openResourceShortcut, WebInspector.UIString("Go to source"));
|
| -
|
| - if (WebInspector.isMac()) {
|
| - keys = [
|
| - shortcut.makeDescriptor("g", shortcut.Modifiers.Meta),
|
| - shortcut.makeDescriptor("g", shortcut.Modifiers.Meta | shortcut.Modifiers.Shift)
|
| - ];
|
| - section.addRelatedKeys(keys, WebInspector.UIString("Find next/previous"));
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * @param {?Event} event
|
| - * @return {boolean}
|
| - */
|
| - _handleZoomEvent: function(event)
|
| - {
|
| - switch (event.keyCode) {
|
| - case 107: // +
|
| - case 187: // +
|
| - InspectorFrontendHost.zoomIn();
|
| - return true;
|
| - case 109: // -
|
| - case 189: // -
|
| - InspectorFrontendHost.zoomOut();
|
| - return true;
|
| - case 48: // 0
|
| - case 96: // Numpad 0
|
| - // Zoom reset shortcut does not allow "Shift" when handled by the browser.
|
| - if (!event.shiftKey) {
|
| - InspectorFrontendHost.resetZoom();
|
| - return true;
|
| - }
|
| - break;
|
| - }
|
| - return false;
|
| - },
|
| -
|
| - _postDocumentKeyDown: function(event)
|
| - {
|
| - if (event.handled)
|
| - return;
|
| -
|
| - if (WebInspector.inspectorView.currentPanel()) {
|
| - WebInspector.inspectorView.currentPanel().handleShortcut(event);
|
| - if (event.handled) {
|
| - event.consume(true);
|
| - return;
|
| - }
|
| - }
|
| -
|
| - if (WebInspector.advancedSearchController.handleShortcut(event))
|
| - return;
|
| - if (WebInspector.inspectElementModeController && WebInspector.inspectElementModeController.handleShortcut(event))
|
| - return;
|
| -
|
| - switch (event.keyIdentifier) {
|
| - case "U+004F": // O key
|
| - case "U+0050": // P key
|
| - if (!event.shiftKey && !event.altKey && WebInspector.KeyboardShortcut.eventHasCtrlOrMeta(event)) {
|
| - // FIXME: Dependency violation. Introduce pluggable global shortcuts.
|
| - /** @type {!WebInspector.SourcesPanel} */ (WebInspector.inspectorView.showPanel("sources")).showGoToSourceDialog();
|
| - event.consume(true);
|
| - }
|
| - break;
|
| - case "U+0052": // R key
|
| - if (WebInspector.KeyboardShortcut.eventHasCtrlOrMeta(event)) {
|
| - WebInspector.debuggerModel.skipAllPauses(true, true);
|
| - WebInspector.resourceTreeModel.reloadPage(event.shiftKey);
|
| - event.consume(true);
|
| - }
|
| - if (window.DEBUG && event.altKey) {
|
| - WebInspector.reload();
|
| - return;
|
| - }
|
| - break;
|
| - case "F5":
|
| - if (!WebInspector.isMac()) {
|
| - WebInspector.resourceTreeModel.reloadPage(event.ctrlKey || event.shiftKey);
|
| - event.consume(true);
|
| - }
|
| - break;
|
| - }
|
| -
|
| - var isValidZoomShortcut = WebInspector.KeyboardShortcut.eventHasCtrlOrMeta(event) &&
|
| - !event.altKey &&
|
| - !InspectorFrontendHost.isStub;
|
| - if (isValidZoomShortcut && this._handleZoomEvent(event)) {
|
| - event.consume(true);
|
| - return;
|
| - }
|
| -
|
| - if (event.keyCode === WebInspector.KeyboardShortcut.Keys.F1.code ||
|
| - (event.keyCode === WebInspector.KeyboardShortcut.Keys.QuestionMark.code && event.shiftKey && (!WebInspector.isBeingEdited(event.target) || event.metaKey))) {
|
| - WebInspector.settingsController.showSettingsScreen(WebInspector.SettingsScreen.Tabs.General);
|
| - event.consume(true);
|
| - return;
|
| - }
|
| -
|
| - var Esc = "U+001B";
|
| - var doNotOpenDrawerOnEsc = WebInspector.experimentsSettings.doNotOpenDrawerOnEsc.isEnabled();
|
| - if (event.keyIdentifier === Esc) {
|
| - if (WebInspector.inspectorView.drawerVisible())
|
| - WebInspector.inspectorView.closeDrawer();
|
| - else if (!doNotOpenDrawerOnEsc)
|
| - WebInspector.inspectorView.showDrawer();
|
| - }
|
| -
|
| - if (event.keyCode === WebInspector.KeyboardShortcut.Keys.Tilde.code && event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey)
|
| - WebInspector.console.show();
|
| - },
|
| -
|
| - _documentCanCopy: function(event)
|
| - {
|
| - if (WebInspector.inspectorView.currentPanel() && WebInspector.inspectorView.currentPanel()["handleCopyEvent"])
|
| - event.preventDefault();
|
| - },
|
| -
|
| - _documentCopy: function(event)
|
| - {
|
| - if (WebInspector.inspectorView.currentPanel() && WebInspector.inspectorView.currentPanel()["handleCopyEvent"])
|
| - WebInspector.inspectorView.currentPanel()["handleCopyEvent"](event);
|
| - },
|
| -
|
| - _contextMenuEventFired: function(event)
|
| - {
|
| - if (event.handled || event.target.classList.contains("popup-glasspane"))
|
| - event.preventDefault();
|
| - },
|
| -
|
| - _inspectNodeRequested: function(event)
|
| - {
|
| - this._updateFocusedNode(event.data);
|
| - },
|
| -
|
| - _updateFocusedNode: function(nodeId)
|
| - {
|
| - var node = WebInspector.domAgent.nodeForId(nodeId);
|
| - console.assert(node);
|
| - WebInspector.Revealer.reveal(node);
|
| - },
|
| -
|
| - _addMainEventListeners: function(doc)
|
| - {
|
| - doc.addEventListener("keydown", this._postDocumentKeyDown.bind(this), false);
|
| - doc.addEventListener("beforecopy", this._documentCanCopy.bind(this), true);
|
| - doc.addEventListener("copy", this._documentCopy.bind(this), false);
|
| - doc.addEventListener("contextmenu", this._contextMenuEventFired.bind(this), true);
|
| - doc.addEventListener("click", this._documentClick.bind(this), false);
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {!RuntimeAgent.RemoteObject} payload
|
| - * @param {!Object=} hints
|
| - */
|
| - inspect: function(payload, hints)
|
| - {
|
| - var object = WebInspector.RemoteObject.fromPayload(payload);
|
| - if (object.subtype === "node") {
|
| - object.pushNodeToFrontend(callback);
|
| - var elementsPanel = /** @type {!WebInspector.ElementsPanel} */ (WebInspector.inspectorView.panel("elements"));
|
| - elementsPanel.omitDefaultSelection();
|
| - WebInspector.inspectorView.setCurrentPanel(elementsPanel);
|
| - return;
|
| - }
|
| -
|
| - function callback(nodeId)
|
| - {
|
| - elementsPanel.stopOmittingDefaultSelection();
|
| - WebInspector.Revealer.reveal(WebInspector.domAgent.nodeForId(nodeId));
|
| - if (!WebInspector.inspectorView.drawerVisible() && !WebInspector._notFirstInspectElement)
|
| - InspectorFrontendHost.inspectElementCompleted();
|
| - WebInspector._notFirstInspectElement = true;
|
| - object.release();
|
| - }
|
| -
|
| - if (object.type === "function") {
|
| - /**
|
| - * @param {?Protocol.Error} error
|
| - * @param {!DebuggerAgent.FunctionDetails} response
|
| - */
|
| - DebuggerAgent.getFunctionDetails(object.objectId, didGetDetails);
|
| - return;
|
| - }
|
| -
|
| - function didGetDetails(error, response)
|
| - {
|
| - object.release();
|
| -
|
| - if (error) {
|
| - console.error(error);
|
| - return;
|
| - }
|
| -
|
| - var uiLocation = WebInspector.debuggerModel.rawLocationToUILocation(response.location);
|
| - if (!uiLocation)
|
| - return;
|
| -
|
| - // FIXME: Dependency violation.
|
| - /** @type {!WebInspector.SourcesPanel} */ (WebInspector.inspectorView.panel("sources")).showUILocation(uiLocation, true);
|
| - }
|
| -
|
| - if (hints.copyToClipboard)
|
| - InspectorFrontendHost.copyText(object.value);
|
| - object.release();
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {string} reason
|
| - */
|
| - detached: function(reason)
|
| - {
|
| - WebInspector._disconnectedScreenWithReasonWasShown = true;
|
| - new WebInspector.RemoteDebuggingTerminatedScreen(reason).showModal();
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - */
|
| - targetCrashed: function()
|
| - {
|
| - (new WebInspector.HelpScreenUntilReload(
|
| - WebInspector.UIString("Inspected target crashed"),
|
| - WebInspector.UIString("Inspected target has crashed. Once it reloads we will attach to it automatically."))).showModal();
|
| - },
|
| -
|
| - /**
|
| - * @override
|
| - * @param {number} callId
|
| - * @param {string} script
|
| - */
|
| - evaluateForTestInFrontend: function(callId, script)
|
| - {
|
| - WebInspector.evaluateForTestInFrontend(callId, script);
|
| - }
|
| -}
|
| -
|
| -WebInspector.reload = function()
|
| -{
|
| - InspectorAgent.reset();
|
| - window.location.reload();
|
| -}
|
| -
|
| -new WebInspector.Main();
|
| -
|
| -window.DEBUG = true;
|
|
|