diff options
Diffstat (limited to 'WebCore/inspector/front-end/ScriptsPanel.js')
| -rw-r--r-- | WebCore/inspector/front-end/ScriptsPanel.js | 802 |
1 files changed, 0 insertions, 802 deletions
diff --git a/WebCore/inspector/front-end/ScriptsPanel.js b/WebCore/inspector/front-end/ScriptsPanel.js deleted file mode 100644 index 1120adf..0000000 --- a/WebCore/inspector/front-end/ScriptsPanel.js +++ /dev/null @@ -1,802 +0,0 @@ -/* - * Copyright (C) 2008 Apple Inc. All Rights Reserved. - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``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 INC. OR - * 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. - */ - -WebInspector.ScriptsPanel = function() -{ - WebInspector.Panel.call(this); - - this.element.addStyleClass("scripts"); - - this.topStatusBar = document.createElement("div"); - this.topStatusBar.className = "status-bar"; - this.topStatusBar.id = "scripts-status-bar"; - this.element.appendChild(this.topStatusBar); - - this.backButton = document.createElement("button"); - this.backButton.className = "status-bar-item"; - this.backButton.id = "scripts-back"; - this.backButton.title = WebInspector.UIString("Show the previous script resource."); - this.backButton.disabled = true; - this.backButton.appendChild(document.createElement("img")); - this.backButton.addEventListener("click", this._goBack.bind(this), false); - this.topStatusBar.appendChild(this.backButton); - - this.forwardButton = document.createElement("button"); - this.forwardButton.className = "status-bar-item"; - this.forwardButton.id = "scripts-forward"; - this.forwardButton.title = WebInspector.UIString("Show the next script resource."); - this.forwardButton.disabled = true; - this.forwardButton.appendChild(document.createElement("img")); - this.forwardButton.addEventListener("click", this._goForward.bind(this), false); - this.topStatusBar.appendChild(this.forwardButton); - - this.filesSelectElement = document.createElement("select"); - this.filesSelectElement.className = "status-bar-item"; - this.filesSelectElement.id = "scripts-files"; - this.filesSelectElement.addEventListener("change", this._changeVisibleFile.bind(this), false); - this.topStatusBar.appendChild(this.filesSelectElement); - - this.functionsSelectElement = document.createElement("select"); - this.functionsSelectElement.className = "status-bar-item"; - this.functionsSelectElement.id = "scripts-functions"; - - // FIXME: append the functions select element to the top status bar when it is implemented. - // this.topStatusBar.appendChild(this.functionsSelectElement); - - this.sidebarButtonsElement = document.createElement("div"); - this.sidebarButtonsElement.id = "scripts-sidebar-buttons"; - this.topStatusBar.appendChild(this.sidebarButtonsElement); - - this.pauseButton = document.createElement("button"); - this.pauseButton.className = "status-bar-item"; - this.pauseButton.id = "scripts-pause"; - this.pauseButton.title = WebInspector.UIString("Pause script execution."); - this.pauseButton.disabled = true; - this.pauseButton.appendChild(document.createElement("img")); - this.pauseButton.addEventListener("click", this._togglePause.bind(this), false); - this.sidebarButtonsElement.appendChild(this.pauseButton); - - this.stepOverButton = document.createElement("button"); - this.stepOverButton.className = "status-bar-item"; - this.stepOverButton.id = "scripts-step-over"; - this.stepOverButton.title = WebInspector.UIString("Step over next function call."); - this.stepOverButton.disabled = true; - this.stepOverButton.addEventListener("click", this._stepOverClicked.bind(this), false); - this.stepOverButton.appendChild(document.createElement("img")); - this.sidebarButtonsElement.appendChild(this.stepOverButton); - - this.stepIntoButton = document.createElement("button"); - this.stepIntoButton.className = "status-bar-item"; - this.stepIntoButton.id = "scripts-step-into"; - this.stepIntoButton.title = WebInspector.UIString("Step into next function call."); - this.stepIntoButton.disabled = true; - this.stepIntoButton.addEventListener("click", this._stepIntoClicked.bind(this), false); - this.stepIntoButton.appendChild(document.createElement("img")); - this.sidebarButtonsElement.appendChild(this.stepIntoButton); - - this.stepOutButton = document.createElement("button"); - this.stepOutButton.className = "status-bar-item"; - this.stepOutButton.id = "scripts-step-out"; - this.stepOutButton.title = WebInspector.UIString("Step out of current function."); - this.stepOutButton.disabled = true; - this.stepOutButton.addEventListener("click", this._stepOutClicked.bind(this), false); - this.stepOutButton.appendChild(document.createElement("img")); - this.sidebarButtonsElement.appendChild(this.stepOutButton); - - this.debuggerStatusElement = document.createElement("div"); - this.debuggerStatusElement.id = "scripts-debugger-status"; - this.sidebarButtonsElement.appendChild(this.debuggerStatusElement); - - this.viewsContainerElement = document.createElement("div"); - this.viewsContainerElement.id = "script-resource-views"; - - this.sidebarElement = document.createElement("div"); - this.sidebarElement.id = "scripts-sidebar"; - - this.sidebarResizeElement = document.createElement("div"); - this.sidebarResizeElement.className = "sidebar-resizer-vertical"; - this.sidebarResizeElement.addEventListener("mousedown", this._startSidebarResizeDrag.bind(this), false); - - this.sidebarResizeWidgetElement = document.createElement("div"); - this.sidebarResizeWidgetElement.id = "scripts-sidebar-resizer-widget"; - this.sidebarResizeWidgetElement.addEventListener("mousedown", this._startSidebarResizeDrag.bind(this), false); - this.topStatusBar.appendChild(this.sidebarResizeWidgetElement); - - this.sidebarPanes = {}; - this.sidebarPanes.callstack = new WebInspector.CallStackSidebarPane(); - this.sidebarPanes.scopechain = new WebInspector.ScopeChainSidebarPane(); - this.sidebarPanes.breakpoints = new WebInspector.BreakpointsSidebarPane(); - - for (var pane in this.sidebarPanes) - this.sidebarElement.appendChild(this.sidebarPanes[pane].element); - - // FIXME: remove the following line of code when the Breakpoints pane has content. - this.sidebarElement.removeChild(this.sidebarPanes.breakpoints.element); - - this.sidebarPanes.callstack.expanded = true; - this.sidebarPanes.callstack.addEventListener("call frame selected", this._callFrameSelected, this); - - this.sidebarPanes.scopechain.expanded = true; - - var panelEnablerHeading = WebInspector.UIString("You need to enable debugging before you can use the Scripts panel."); - var panelEnablerDisclaimer = WebInspector.UIString("Enabling debugging will make scripts run slower."); - var panelEnablerButton = WebInspector.UIString("Enable Debugging"); - - this.panelEnablerView = new WebInspector.PanelEnablerView("scripts", panelEnablerHeading, panelEnablerDisclaimer, panelEnablerButton); - this.panelEnablerView.addEventListener("enable clicked", this._enableDebugging, this); - - this.element.appendChild(this.panelEnablerView.element); - this.element.appendChild(this.viewsContainerElement); - this.element.appendChild(this.sidebarElement); - this.element.appendChild(this.sidebarResizeElement); - - this.enableToggleButton = document.createElement("button"); - this.enableToggleButton.className = "enable-toggle-status-bar-item status-bar-item"; - this.enableToggleButton.addEventListener("click", this._toggleDebugging.bind(this), false); - - this.pauseOnExceptionButton = document.createElement("button"); - this.pauseOnExceptionButton.id = "scripts-pause-on-exceptions-status-bar-item"; - this.pauseOnExceptionButton.className = "status-bar-item"; - this.pauseOnExceptionButton.addEventListener("click", this._togglePauseOnExceptions.bind(this), false); - - this._breakpointsURLMap = {}; - - this.reset(); -} - -WebInspector.ScriptsPanel.prototype = { - toolbarItemClass: "scripts", - - get toolbarItemLabel() - { - return WebInspector.UIString("Scripts"); - }, - - get statusBarItems() - { - return [this.enableToggleButton, this.pauseOnExceptionButton]; - }, - - get paused() - { - return this._paused; - }, - - show: function() - { - WebInspector.Panel.prototype.show.call(this); - this.sidebarResizeElement.style.right = (this.sidebarElement.offsetWidth - 3) + "px"; - - if (this.visibleView) { - if (this.visibleView instanceof WebInspector.ResourceView) - this.visibleView.headersVisible = false; - this.visibleView.show(this.viewsContainerElement); - } - - // Hide any views that are visible that are not this panel's current visible view. - // This can happen when a ResourceView is visible in the Resources panel then switched - // to the this panel. - for (var sourceID in this._sourceIDMap) { - var scriptOrResource = this._sourceIDMap[sourceID]; - var view = this._sourceViewForScriptOrResource(scriptOrResource); - if (!view || view === this.visibleView) - continue; - view.visible = false; - } - }, - - get searchableViews() - { - var views = []; - - const visibleView = this.visibleView; - if (visibleView && visibleView.performSearch) { - visibleView.alreadySearching = true; - views.push(visibleView); - } - - for (var sourceID in this._sourceIDMap) { - var scriptOrResource = this._sourceIDMap[sourceID]; - var view = this._sourceViewForScriptOrResource(scriptOrResource); - if (!view.performSearch || view.alreadySearching) - continue; - - view.alreadySearching = true; - views.push(view); - } - - for (var i = 0; i < views.length; ++i) - delete views[i].alreadySearching; - - return views; - }, - - addScript: function(sourceID, sourceURL, source, startingLine, errorLine, errorMessage) - { - var script = new WebInspector.Script(sourceID, sourceURL, source, startingLine, errorLine, errorMessage); - - if (sourceURL in WebInspector.resourceURLMap) { - var resource = WebInspector.resourceURLMap[sourceURL]; - resource.addScript(script); - } - - if (sourceURL in this._breakpointsURLMap && sourceID) { - var breakpoints = this._breakpointsURLMap[sourceURL]; - var breakpointsLength = breakpoints.length; - for (var i = 0; i < breakpointsLength; ++i) { - var breakpoint = breakpoints[i]; - if (startingLine <= breakpoint.line) { - breakpoint.sourceID = sourceID; - if (breakpoint.enabled) - InspectorController.addBreakpoint(breakpoint.sourceID, breakpoint.line); - } - } - } - - if (sourceID) - this._sourceIDMap[sourceID] = (resource || script); - - this._addScriptToFilesMenu(script); - }, - - addBreakpoint: function(breakpoint) - { - this.sidebarPanes.breakpoints.addBreakpoint(breakpoint); - - var sourceFrame; - if (breakpoint.url) { - if (!(breakpoint.url in this._breakpointsURLMap)) - this._breakpointsURLMap[breakpoint.url] = []; - this._breakpointsURLMap[breakpoint.url].unshift(breakpoint); - - if (breakpoint.url in WebInspector.resourceURLMap) { - var resource = WebInspector.resourceURLMap[breakpoint.url]; - sourceFrame = this._sourceFrameForScriptOrResource(resource); - } - } - - if (breakpoint.sourceID && !sourceFrame) { - var object = this._sourceIDMap[breakpoint.sourceID] - sourceFrame = this._sourceFrameForScriptOrResource(object); - } - - if (sourceFrame) - sourceFrame.addBreakpoint(breakpoint); - }, - - removeBreakpoint: function(breakpoint) - { - this.sidebarPanes.breakpoints.removeBreakpoint(breakpoint); - - var sourceFrame; - if (breakpoint.url && breakpoint.url in this._breakpointsURLMap) { - var breakpoints = this._breakpointsURLMap[breakpoint.url]; - breakpoints.remove(breakpoint); - if (!breakpoints.length) - delete this._breakpointsURLMap[breakpoint.url]; - - if (breakpoint.url in WebInspector.resourceURLMap) { - var resource = WebInspector.resourceURLMap[breakpoint.url]; - sourceFrame = this._sourceFrameForScriptOrResource(resource); - } - } - - if (breakpoint.sourceID && !sourceFrame) { - var object = this._sourceIDMap[breakpoint.sourceID] - sourceFrame = this._sourceFrameForScriptOrResource(object); - } - - if (sourceFrame) - sourceFrame.removeBreakpoint(breakpoint); - }, - - evaluateInSelectedCallFrame: function(code, updateInterface) - { - var selectedCallFrame = this.sidebarPanes.callstack.selectedCallFrame; - if (!this._paused || !selectedCallFrame) - return; - if (typeof updateInterface === "undefined") - updateInterface = true; - var result = selectedCallFrame.evaluate(code); - if (updateInterface) - this.sidebarPanes.scopechain.update(selectedCallFrame); - return result; - }, - - variablesInScopeForSelectedCallFrame: function() - { - var selectedCallFrame = this.sidebarPanes.callstack.selectedCallFrame; - if (!this._paused || !selectedCallFrame) - return {}; - - var result = {}; - var scopeChain = selectedCallFrame.scopeChain; - for (var i = 0; i < scopeChain.length; ++i) { - var scopeObject = scopeChain[i]; - for (var property in scopeObject) - result[property] = true; - } - - return result; - }, - - debuggerPaused: function() - { - this._paused = true; - this._waitingToPause = false; - this._stepping = false; - - this._updateDebuggerButtons(); - - var callStackPane = this.sidebarPanes.callstack; - var currentFrame = InspectorController.currentCallFrame(); - callStackPane.update(currentFrame, this._sourceIDMap); - callStackPane.selectedCallFrame = currentFrame; - - WebInspector.currentPanel = this; - window.focus(); - }, - - debuggerWasEnabled: function() - { - this.reset(); - }, - - debuggerWasDisabled: function() - { - this.reset(); - }, - - reset: function() - { - this.visibleView = null; - - delete this.currentQuery; - this.searchCanceled(); - - if (!InspectorController.debuggerEnabled()) { - this._paused = false; - this._waitingToPause = false; - this._stepping = false; - } - - this._clearInterface(); - - this._backForwardList = []; - this._currentBackForwardIndex = -1; - this._updateBackAndForwardButtons(); - - this._scriptsForURLsInFilesSelect = {}; - this.filesSelectElement.removeChildren(); - this.functionsSelectElement.removeChildren(); - this.viewsContainerElement.removeChildren(); - - if (this._sourceIDMap) { - for (var sourceID in this._sourceIDMap) { - var object = this._sourceIDMap[sourceID]; - if (object instanceof WebInspector.Resource) - object.removeAllScripts(); - } - } - - this._sourceIDMap = {}; - }, - - get visibleView() - { - return this._visibleView; - }, - - set visibleView(x) - { - if (this._visibleView === x) - return; - - if (this._visibleView) - this._visibleView.hide(); - - this._visibleView = x; - - if (x) - x.show(this.viewsContainerElement); - }, - - canShowResource: function(resource) - { - return resource && resource.scripts.length && InspectorController.debuggerEnabled(); - }, - - showScript: function(script, line) - { - this._showScriptOrResource(script, line, true); - }, - - showResource: function(resource, line) - { - this._showScriptOrResource(resource, line, true); - }, - - showView: function(view) - { - if (!view) - return; - this._showScriptOrResource((view.resource || view.script)); - }, - - scriptViewForScript: function(script) - { - if (!script) - return null; - if (!script._scriptView) - script._scriptView = new WebInspector.ScriptView(script); - return script._scriptView; - }, - - sourceFrameForScript: function(script) - { - var view = this.scriptViewForScript(script); - if (!view) - return null; - - // Setting up the source frame requires that we be attached. - if (!this.element.parentNode) - this.attach(); - - view.setupSourceFrameIfNeeded(); - return view.sourceFrame; - }, - - _sourceViewForScriptOrResource: function(scriptOrResource) - { - if (scriptOrResource instanceof WebInspector.Resource) - return WebInspector.panels.resources.resourceViewForResource(scriptOrResource); - if (scriptOrResource instanceof WebInspector.Script) - return this.scriptViewForScript(scriptOrResource); - }, - - _sourceFrameForScriptOrResource: function(scriptOrResource) - { - if (scriptOrResource instanceof WebInspector.Resource) - return WebInspector.panels.resources.sourceFrameForResource(scriptOrResource); - if (scriptOrResource instanceof WebInspector.Script) - return this.sourceFrameForScript(scriptOrResource); - }, - - _showScriptOrResource: function(scriptOrResource, line, shouldHighlightLine, fromBackForwardAction) - { - if (!scriptOrResource) - return; - - var view; - if (scriptOrResource instanceof WebInspector.Resource) { - view = WebInspector.panels.resources.resourceViewForResource(scriptOrResource); - view.headersVisible = false; - - if (scriptOrResource.url in this._breakpointsURLMap) { - var sourceFrame = this._sourceFrameForScriptOrResource(scriptOrResource); - if (sourceFrame && !sourceFrame.breakpoints.length) { - var breakpoints = this._breakpointsURLMap[scriptOrResource.url]; - var breakpointsLength = breakpoints.length; - for (var i = 0; i < breakpointsLength; ++i) - sourceFrame.addBreakpoint(breakpoints[i]); - } - } - } else if (scriptOrResource instanceof WebInspector.Script) - view = this.scriptViewForScript(scriptOrResource); - - if (!view) - return; - - if (!fromBackForwardAction) { - var oldIndex = this._currentBackForwardIndex; - if (oldIndex >= 0) - this._backForwardList.splice(oldIndex + 1, this._backForwardList.length - oldIndex); - - // Check for a previous entry of the same object in _backForwardList. - // If one is found, remove it and update _currentBackForwardIndex to match. - var previousEntryIndex = this._backForwardList.indexOf(scriptOrResource); - if (previousEntryIndex !== -1) { - this._backForwardList.splice(previousEntryIndex, 1); - --this._currentBackForwardIndex; - } - - this._backForwardList.push(scriptOrResource); - ++this._currentBackForwardIndex; - - this._updateBackAndForwardButtons(); - } - - this.visibleView = view; - - if (line) { - if (view.revealLine) - view.revealLine(line); - if (view.highlightLine && shouldHighlightLine) - view.highlightLine(line); - } - - var option; - if (scriptOrResource instanceof WebInspector.Script) { - option = scriptOrResource.filesSelectOption; - console.assert(option); - } else { - var url = scriptOrResource.url; - var script = this._scriptsForURLsInFilesSelect[url]; - if (script) - option = script.filesSelectOption; - } - - if (option) - this.filesSelectElement.selectedIndex = option.index; - }, - - _addScriptToFilesMenu: function(script) - { - if (script.resource && this._scriptsForURLsInFilesSelect[script.sourceURL]) - return; - - this._scriptsForURLsInFilesSelect[script.sourceURL] = script; - - var select = this.filesSelectElement; - - // FIXME: Append in some meaningful order. - var option = document.createElement("option"); - option.representedObject = (script.resource || script); - option.text = (script.sourceURL ? WebInspector.displayNameForURL(script.sourceURL) : WebInspector.UIString("(program)")); - select.appendChild(option); - - script.filesSelectOption = option; - - // Call _showScriptOrResource if the option we just appended ended up being selected. - // This will happen for the first item added to the menu. - if (select.options[select.selectedIndex] === option) - this._showScriptOrResource(option.representedObject); - }, - - _clearCurrentExecutionLine: function() - { - if (this._executionSourceFrame) - this._executionSourceFrame.executionLine = 0; - delete this._executionSourceFrame; - }, - - _callFrameSelected: function() - { - this._clearCurrentExecutionLine(); - - var callStackPane = this.sidebarPanes.callstack; - var currentFrame = callStackPane.selectedCallFrame; - if (!currentFrame) - return; - - this.sidebarPanes.scopechain.update(currentFrame); - - var scriptOrResource = this._sourceIDMap[currentFrame.sourceID]; - this._showScriptOrResource(scriptOrResource, currentFrame.line); - - this._executionSourceFrame = this._sourceFrameForScriptOrResource(scriptOrResource); - if (this._executionSourceFrame) - this._executionSourceFrame.executionLine = currentFrame.line; - }, - - _changeVisibleFile: function(event) - { - var select = this.filesSelectElement; - this._showScriptOrResource(select.options[select.selectedIndex].representedObject); - }, - - _startSidebarResizeDrag: function(event) - { - WebInspector.elementDragStart(this.sidebarElement, this._sidebarResizeDrag.bind(this), this._endSidebarResizeDrag.bind(this), event, "col-resize"); - - if (event.target === this.sidebarResizeWidgetElement) - this._dragOffset = (event.target.offsetWidth - (event.pageX - event.target.totalOffsetLeft)); - else - this._dragOffset = 0; - }, - - _endSidebarResizeDrag: function(event) - { - WebInspector.elementDragEnd(event); - - delete this._dragOffset; - }, - - _sidebarResizeDrag: function(event) - { - var x = event.pageX + this._dragOffset; - var newWidth = Number.constrain(window.innerWidth - x, Preferences.minScriptsSidebarWidth, window.innerWidth * 0.66); - - this.sidebarElement.style.width = newWidth + "px"; - this.sidebarButtonsElement.style.width = newWidth + "px"; - this.viewsContainerElement.style.right = newWidth + "px"; - this.sidebarResizeWidgetElement.style.right = newWidth + "px"; - this.sidebarResizeElement.style.right = (newWidth - 3) + "px"; - - event.preventDefault(); - }, - - _updatePauseOnExceptionsButton: function() - { - if (InspectorController.pauseOnExceptions()) { - this.pauseOnExceptionButton.title = WebInspector.UIString("Don't pause on exceptions."); - this.pauseOnExceptionButton.addStyleClass("toggled-on"); - } else { - this.pauseOnExceptionButton.title = WebInspector.UIString("Pause on exceptions."); - this.pauseOnExceptionButton.removeStyleClass("toggled-on"); - } - }, - - _updateDebuggerButtons: function() - { - if (InspectorController.debuggerEnabled()) { - this.enableToggleButton.title = WebInspector.UIString("Debugging enabled. Click to disable."); - this.enableToggleButton.addStyleClass("toggled-on"); - this.pauseOnExceptionButton.removeStyleClass("hidden"); - this.panelEnablerView.visible = false; - } else { - this.enableToggleButton.title = WebInspector.UIString("Debugging disabled. Click to enable."); - this.enableToggleButton.removeStyleClass("toggled-on"); - this.pauseOnExceptionButton.addStyleClass("hidden"); - this.panelEnablerView.visible = true; - } - - this._updatePauseOnExceptionsButton(); - - if (this._paused) { - this.pauseButton.addStyleClass("paused"); - - this.pauseButton.disabled = false; - this.stepOverButton.disabled = false; - this.stepIntoButton.disabled = false; - this.stepOutButton.disabled = false; - - this.debuggerStatusElement.textContent = WebInspector.UIString("Paused"); - } else { - this.pauseButton.removeStyleClass("paused"); - - this.pauseButton.disabled = this._waitingToPause; - this.stepOverButton.disabled = true; - this.stepIntoButton.disabled = true; - this.stepOutButton.disabled = true; - - if (this._waitingToPause) - this.debuggerStatusElement.textContent = WebInspector.UIString("Pausing"); - else if (this._stepping) - this.debuggerStatusElement.textContent = WebInspector.UIString("Stepping"); - else - this.debuggerStatusElement.textContent = ""; - } - }, - - _updateBackAndForwardButtons: function() - { - this.backButton.disabled = this._currentBackForwardIndex <= 0; - this.forwardButton.disabled = this._currentBackForwardIndex >= (this._backForwardList.length - 1); - }, - - _clearInterface: function() - { - this.sidebarPanes.callstack.update(null); - this.sidebarPanes.scopechain.update(null); - - this._clearCurrentExecutionLine(); - this._updateDebuggerButtons(); - }, - - _goBack: function() - { - if (this._currentBackForwardIndex <= 0) { - console.error("Can't go back from index " + this._currentBackForwardIndex); - return; - } - - this._showScriptOrResource(this._backForwardList[--this._currentBackForwardIndex], null, false, true); - this._updateBackAndForwardButtons(); - }, - - _goForward: function() - { - if (this._currentBackForwardIndex >= this._backForwardList.length - 1) { - console.error("Can't go forward from index " + this._currentBackForwardIndex); - return; - } - - this._showScriptOrResource(this._backForwardList[++this._currentBackForwardIndex], null, false, true); - this._updateBackAndForwardButtons(); - }, - - _enableDebugging: function() - { - if (InspectorController.debuggerEnabled()) - return; - this._toggleDebugging(); - }, - - _toggleDebugging: function() - { - this._paused = false; - this._waitingToPause = false; - this._stepping = false; - - if (InspectorController.debuggerEnabled()) - InspectorController.disableDebugger(); - else - InspectorController.enableDebugger(); - }, - - _togglePauseOnExceptions: function() - { - InspectorController.setPauseOnExceptions(!InspectorController.pauseOnExceptions()); - this._updatePauseOnExceptionsButton(); - }, - - _togglePause: function() - { - if (this._paused) { - this._paused = false; - this._waitingToPause = false; - InspectorController.resumeDebugger(); - } else { - this._stepping = false; - this._waitingToPause = true; - InspectorController.pauseInDebugger(); - } - - this._clearInterface(); - }, - - _stepOverClicked: function() - { - this._paused = false; - this._stepping = true; - - this._clearInterface(); - - InspectorController.stepOverStatementInDebugger(); - }, - - _stepIntoClicked: function() - { - this._paused = false; - this._stepping = true; - - this._clearInterface(); - - InspectorController.stepIntoStatementInDebugger(); - }, - - _stepOutClicked: function() - { - this._paused = false; - this._stepping = true; - - this._clearInterface(); - - InspectorController.stepOutOfFunctionInDebugger(); - } -} - -WebInspector.ScriptsPanel.prototype.__proto__ = WebInspector.Panel.prototype; |
