gecko/browser/devtools/debugger/debugger.xul

520 lines
22 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://browser/content/devtools/widgets.css" type="text/css"?>
<?xml-stylesheet href="chrome://browser/content/devtools/debugger.css" type="text/css"?>
<?xml-stylesheet href="chrome://browser/skin/devtools/common.css" type="text/css"?>
<?xml-stylesheet href="chrome://browser/skin/devtools/widgets.css" type="text/css"?>
<?xml-stylesheet href="chrome://browser/skin/devtools/debugger.css" type="text/css"?>
<!DOCTYPE window [
<!ENTITY % debuggerDTD SYSTEM "chrome://browser/locale/devtools/debugger.dtd">
%debuggerDTD;
]>
<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
macanimationtype="document"
fullscreenbutton="true"
screenX="4" screenY="4"
width="960" height="480"
persist="screenX screenY width height sizemode">
<script type="application/javascript;version=1.8"
src="chrome://browser/content/devtools/theme-switching.js"/>
<script type="text/javascript" src="chrome://global/content/globalOverlay.js"/>
<script type="text/javascript" src="debugger-controller.js"/>
<script type="text/javascript" src="debugger-view.js"/>
<script type="text/javascript" src="debugger-toolbar.js"/>
<script type="text/javascript" src="debugger-panes.js"/>
<commandset id="editMenuCommands"/>
<commandset id="debuggerCommands">
<command id="blackBoxCommand"
oncommand="DebuggerView.Sources.toggleBlackBoxing()"/>
<command id="unBlackBoxButton"
oncommand="DebuggerView.Sources._onStopBlackBoxing()"/>
<command id="prettyPrintCommand"
oncommand="DebuggerView.Sources.togglePrettyPrint()"/>
<command id="toggleBreakpointsCommand"
oncommand="DebuggerView.Sources.toggleBreakpoints()"/>
<command id="nextSourceCommand"
oncommand="DebuggerView.Sources.selectNextItem()"/>
<command id="prevSourceCommand"
oncommand="DebuggerView.Sources.selectPrevItem()"/>
<command id="resumeCommand"
oncommand="DebuggerView.Toolbar._onResumePressed()"/>
<command id="stepOverCommand"
oncommand="DebuggerView.Toolbar._onStepOverPressed()"/>
<command id="stepInCommand"
oncommand="DebuggerView.Toolbar._onStepInPressed()"/>
<command id="stepOutCommand"
oncommand="DebuggerView.Toolbar._onStepOutPressed()"/>
<command id="fileSearchCommand"
oncommand="DebuggerView.Filtering._doFileSearch()"/>
<command id="globalSearchCommand"
oncommand="DebuggerView.Filtering._doGlobalSearch()"/>
<command id="functionSearchCommand"
oncommand="DebuggerView.Filtering._doFunctionSearch()"/>
<command id="tokenSearchCommand"
oncommand="DebuggerView.Filtering._doTokenSearch()"/>
<command id="lineSearchCommand"
oncommand="DebuggerView.Filtering._doLineSearch()"/>
<command id="variableSearchCommand"
oncommand="DebuggerView.Filtering._doVariableSearch()"/>
<command id="variablesFocusCommand"
oncommand="DebuggerView.Filtering._doVariablesFocus()"/>
<command id="addBreakpointCommand"
oncommand="DebuggerView.Sources._onCmdAddBreakpoint(event)"/>
<command id="addConditionalBreakpointCommand"
oncommand="DebuggerView.Sources._onCmdAddConditionalBreakpoint(event)"/>
<command id="addWatchExpressionCommand"
oncommand="DebuggerView.WatchExpressions._onCmdAddExpression()"/>
<command id="removeAllWatchExpressionsCommand"
oncommand="DebuggerView.WatchExpressions._onCmdRemoveAllExpressions()"/>
<command id="toggleAutoPrettyPrint"
oncommand="DebuggerView.Options._toggleAutoPrettyPrint()"/>
<command id="togglePauseOnExceptions"
oncommand="DebuggerView.Options._togglePauseOnExceptions()"/>
<command id="toggleIgnoreCaughtExceptions"
oncommand="DebuggerView.Options._toggleIgnoreCaughtExceptions()"/>
<command id="toggleShowPanesOnStartup"
oncommand="DebuggerView.Options._toggleShowPanesOnStartup()"/>
<command id="toggleShowOnlyEnum"
oncommand="DebuggerView.Options._toggleShowVariablesOnlyEnum()"/>
<command id="toggleShowVariablesFilterBox"
oncommand="DebuggerView.Options._toggleShowVariablesFilterBox()"/>
<command id="toggleShowOriginalSource"
oncommand="DebuggerView.Options._toggleShowOriginalSource()"/>
<command id="toggleTracing"
oncommand="DebuggerView.Tracer._onToggleTracing()"/>
<command id="startTracing"
oncommand="DebuggerView.Tracer._onStartTracing()"/>
<command id="clearTraces"
oncommand="DebuggerView.Tracer._onClear()"/>
</commandset>
<popupset id="debuggerPopupset">
<menupopup id="sourceEditorContextMenu"
onpopupshowing="goUpdateGlobalEditMenuItems()">
<menuitem id="se-dbg-cMenu-addBreakpoint"
label="&debuggerUI.seMenuBreak;"
key="addBreakpointKey"
command="addBreakpointCommand"/>
<menuitem id="se-dbg-cMenu-addConditionalBreakpoint"
label="&debuggerUI.seMenuCondBreak;"
key="addConditionalBreakpointKey"
command="addConditionalBreakpointCommand"/>
<menuitem id="se-dbg-cMenu-addAsWatch"
label="&debuggerUI.seMenuAddWatch;"
key="addWatchExpressionKey"
command="addWatchExpressionCommand"/>
<menuseparator/>
<menuitem id="cMenu_copy"/>
<menuseparator/>
<menuitem id="cMenu_selectAll"/>
<menuseparator/>
<menuitem id="se-dbg-cMenu-findFile"
label="&debuggerUI.searchFile;"
accesskey="&debuggerUI.searchFile.accesskey;"
key="fileSearchKey"
command="fileSearchCommand"/>
<menuitem id="se-dbg-cMenu-findGlobal"
label="&debuggerUI.searchGlobal;"
accesskey="&debuggerUI.searchGlobal.accesskey;"
key="globalSearchKey"
command="globalSearchCommand"/>
<menuitem id="se-dbg-cMenu-findFunction"
label="&debuggerUI.searchFunction;"
accesskey="&debuggerUI.searchFunction.accesskey;"
key="functionSearchKey"
command="functionSearchCommand"/>
<menuseparator/>
<menuitem id="se-dbg-cMenu-findToken"
label="&debuggerUI.searchToken;"
accesskey="&debuggerUI.searchToken.accesskey;"
key="tokenSearchKey"
command="tokenSearchCommand"/>
<menuitem id="se-dbg-cMenu-findLine"
label="&debuggerUI.searchGoToLine;"
accesskey="&debuggerUI.searchGoToLine.accesskey;"
key="lineSearchKey"
command="lineSearchCommand"/>
<menuseparator/>
<menuitem id="se-dbg-cMenu-findVariable"
label="&debuggerUI.searchVariable;"
accesskey="&debuggerUI.searchVariable.accesskey;"
key="variableSearchKey"
command="variableSearchCommand"/>
<menuitem id="se-dbg-cMenu-focusVariables"
label="&debuggerUI.focusVariables;"
accesskey="&debuggerUI.focusVariables.accesskey;"
key="variablesFocusKey"
command="variablesFocusCommand"/>
<menuitem id="se-dbg-cMenu-prettyPrint"
label="&debuggerUI.sources.prettyPrint;"
command="prettyPrintCommand"/>
</menupopup>
<menupopup id="debuggerWatchExpressionsContextMenu">
<menuitem id="add-watch-expression"
label="&debuggerUI.addWatch;"
accesskey="&debuggerUI.addWatch.accesskey;"
key="addWatchExpressionKey"
command="addWatchExpressionCommand"/>
<menuitem id="removeAll-watch-expression"
label="&debuggerUI.removeAllWatch;"
accesskey="&debuggerUI.removeAllWatch.accesskey;"
key="removeAllWatchExpressionsKey"
command="removeAllWatchExpressionsCommand"/>
</menupopup>
<menupopup id="debuggerPrefsContextMenu"
position="before_end"
onpopupshowing="DebuggerView.Options._onPopupShowing()"
onpopuphiding="DebuggerView.Options._onPopupHiding()"
onpopuphidden="DebuggerView.Options._onPopupHidden()">
<menuitem id="auto-pretty-print"
type="checkbox"
label="&debuggerUI.autoPrettyPrint;"
accesskey="&debuggerUI.autoPrettyPrint.accesskey;"
command="toggleAutoPrettyPrint"/>
<menuitem id="pause-on-exceptions"
type="checkbox"
label="&debuggerUI.pauseExceptions;"
accesskey="&debuggerUI.pauseExceptions.accesskey;"
command="togglePauseOnExceptions"/>
<menuitem id="ignore-caught-exceptions"
type="checkbox"
label="&debuggerUI.ignoreCaughtExceptions;"
accesskey="&debuggerUI.ignoreCaughtExceptions.accesskey;"
command="toggleIgnoreCaughtExceptions"/>
<menuitem id="show-panes-on-startup"
type="checkbox"
label="&debuggerUI.showPanesOnInit;"
accesskey="&debuggerUI.showPanesOnInit.accesskey;"
command="toggleShowPanesOnStartup"/>
<menuitem id="show-vars-only-enum"
type="checkbox"
label="&debuggerUI.showOnlyEnum;"
accesskey="&debuggerUI.showOnlyEnum.accesskey;"
command="toggleShowOnlyEnum"/>
<menuitem id="show-vars-filter-box"
type="checkbox"
label="&debuggerUI.showVarsFilter;"
accesskey="&debuggerUI.showVarsFilter.accesskey;"
command="toggleShowVariablesFilterBox"/>
<menuitem id="show-original-source"
type="checkbox"
label="&debuggerUI.showOriginalSource;"
accesskey="&debuggerUI.showOriginalSource.accesskey;"
command="toggleShowOriginalSource"/>
</menupopup>
</popupset>
<keyset id="debuggerKeys">
<key id="nextSourceKey"
keycode="VK_DOWN"
modifiers="accel alt"
command="nextSourceCommand"/>
<key id="prevSourceKey"
keycode="VK_UP"
modifiers="accel alt"
command="prevSourceCommand"/>
<key id="resumeKey"
keycode="&debuggerUI.stepping.resume1;"
command="resumeCommand"/>
<key id="resumeKey2"
keycode="&debuggerUI.stepping.resume2;"
modifiers="accel"
command="resumeCommand"/>
<key id="stepOverKey"
keycode="&debuggerUI.stepping.stepOver1;"
command="stepOverCommand"/>
<key id="stepOverKey2"
keycode="&debuggerUI.stepping.stepOver2;"
modifiers="accel"
command="stepOverCommand"/>
<key id="stepInKey"
keycode="&debuggerUI.stepping.stepIn1;"
command="stepInCommand"/>
<key id="stepInKey2"
keycode="&debuggerUI.stepping.stepIn2;"
modifiers="accel"
command="stepInCommand"/>
<key id="stepOutKey"
keycode="&debuggerUI.stepping.stepOut1;"
modifiers="shift"
command="stepOutCommand"/>
<key id="stepOutKey2"
keycode="&debuggerUI.stepping.stepOut2;"
modifiers="accel shift"
command="stepOutCommand"/>
<key id="fileSearchKey"
key="&debuggerUI.searchFile.key;"
modifiers="accel"
command="fileSearchCommand"/>
<key id="fileSearchKey"
key="&debuggerUI.searchFile.altkey;"
modifiers="accel"
command="fileSearchCommand"/>
<key id="globalSearchKey"
key="&debuggerUI.searchGlobal.key;"
modifiers="accel alt"
command="globalSearchCommand"/>
<key id="functionSearchKey"
key="&debuggerUI.searchFunction.key;"
modifiers="accel"
command="functionSearchCommand"/>
<key id="tokenSearchKey"
key="&debuggerUI.searchToken.key;"
modifiers="accel"
command="tokenSearchCommand"/>
<key id="lineSearchKey"
key="&debuggerUI.searchGoToLine.key;"
modifiers="accel"
command="lineSearchCommand"/>
<key id="variableSearchKey"
key="&debuggerUI.searchVariable.key;"
modifiers="accel alt"
command="variableSearchCommand"/>
<key id="variablesFocusKey"
key="&debuggerUI.focusVariables.key;"
modifiers="accel shift"
command="variablesFocusCommand"/>
<key id="addBreakpointKey"
key="&debuggerUI.seMenuBreak.key;"
modifiers="accel"
command="addBreakpointCommand"/>
<key id="addConditionalBreakpointKey"
key="&debuggerUI.seMenuCondBreak.key;"
modifiers="accel shift"
command="addConditionalBreakpointCommand"/>
<key id="addWatchExpressionKey"
key="&debuggerUI.seMenuAddWatch.key;"
modifiers="accel shift"
command="addWatchExpressionCommand"/>
<key id="removeAllWatchExpressionsKey"
key="&debuggerUI.removeAllWatch.key;"
modifiers="accel alt"
command="removeAllWatchExpressionsCommand"/>
</keyset>
<vbox id="body"
class="theme-body"
layout="horizontal"
flex="1">
<toolbar id="debugger-toolbar"
class="devtools-toolbar">
<hbox id="debugger-controls"
class="devtools-toolbarbutton-group">
<toolbarbutton id="resume"
class="devtools-toolbarbutton"
tabindex="0"/>
<toolbarbutton id="step-over"
class="devtools-toolbarbutton"
tabindex="0"/>
<toolbarbutton id="step-in"
class="devtools-toolbarbutton"
tabindex="0"/>
<toolbarbutton id="step-out"
class="devtools-toolbarbutton"
tabindex="0"/>
</hbox>
<hbox>
<toolbarbutton id="trace"
class="devtools-toolbarbutton"
command="toggleTracing"
tabindex="0"
hidden="true"/>
</hbox>
<vbox id="stackframes" flex="1"/>
<textbox id="searchbox"
class="devtools-searchinput" type="search"/>
<toolbarbutton id="instruments-pane-toggle"
class="devtools-toolbarbutton"
tooltiptext="&debuggerUI.panesButton.tooltip;"
tabindex="0"/>
<toolbarbutton id="debugger-options"
class="devtools-toolbarbutton devtools-option-toolbarbutton"
tooltiptext="&debuggerUI.optsButton.tooltip;"
popup="debuggerPrefsContextMenu"
tabindex="0"/>
</toolbar>
<vbox id="globalsearch" orient="vertical" hidden="true"/>
<splitter class="devtools-horizontal-splitter" hidden="true"/>
<hbox id="debugger-widgets" flex="1">
<tabbox id="sources-pane"
class="devtools-sidebar-tabs">
<tabs>
<tab id="sources-tab" label="&debuggerUI.tabs.sources;"/>
<tab id="callstack-tab" label="&debuggerUI.tabs.callstack;"/>
<tab id="tracer-tab" label="&debuggerUI.tabs.traces;" hidden="true"/>
</tabs>
<tabpanels flex="1">
<tabpanel id="sources-tabpanel">
<vbox id="sources" flex="1"/>
<toolbar id="sources-toolbar" class="devtools-toolbar">
<hbox id="sources-controls"
class="devtools-toolbarbutton-group">
<toolbarbutton id="black-box"
class="devtools-toolbarbutton"
tooltiptext="&debuggerUI.sources.blackBoxTooltip;"
command="blackBoxCommand"/>
<toolbarbutton id="pretty-print"
class="devtools-toolbarbutton devtools-monospace"
text-as-image="true"
label="{}"
tooltiptext="&debuggerUI.sources.prettyPrint;"
command="prettyPrintCommand"
hidden="true"/>
</hbox>
<vbox class="devtools-separator"/>
<toolbarbutton id="toggle-breakpoints"
class="devtools-toolbarbutton"
tooltiptext="&debuggerUI.sources.toggleBreakpoints;"
command="toggleBreakpointsCommand"/>
</toolbar>
</tabpanel>
<tabpanel id="callstack-tabpanel">
<vbox id="callstack-list" flex="1"/>
</tabpanel>
<tabpanel id="tracer-tabpanel">
<vbox id="tracer-traces" flex="1"/>
<hbox class="trace-item-template" hidden="true">
<hbox class="trace-item" align="center" flex="1" crop="end">
<label class="trace-type plain"/>
<label class="trace-name plain" crop="end"/>
</hbox>
</hbox>
<toolbar id="tracer-toolbar" class="devtools-toolbar">
<toolbarbutton id="clear-tracer"
label="&debuggerUI.clearButton;"
tooltiptext="&debuggerUI.clearButton.tooltip;"
command="clearTraces"
class="devtools-toolbarbutton"/>
<textbox id="tracer-search"
class="devtools-searchinput"
flex="1"
type="search"/>
</toolbar>
</tabpanel>
</tabpanels>
</tabbox>
<splitter id="sources-and-editor-splitter"
class="devtools-side-splitter"/>
<deck id="editor-deck" flex="1">
<vbox id="editor"/>
<vbox id="black-boxed-message"
align="center"
pack="center">
<description id="black-boxed-message-label">
&debuggerUI.blackBoxMessage.label;
</description>
<button id="black-boxed-message-button"
class="devtools-toolbarbutton"
label="&debuggerUI.blackBoxMessage.unBlackBoxButton;"
command="unBlackBoxCommand"/>
</vbox>
<vbox id="source-progress-container"
align="center"
pack="center">
<progressmeter id="source-progress"
mode="undetermined"/>
</vbox>
</deck>
<splitter id="editor-and-instruments-splitter"
class="devtools-side-splitter"/>
<tabbox id="instruments-pane"
class="devtools-sidebar-tabs"
hidden="true">
<tabs>
<tab id="variables-tab" label="&debuggerUI.tabs.variables;"/>
<tab id="events-tab" label="&debuggerUI.tabs.events;"/>
</tabs>
<tabpanels flex="1">
<tabpanel id="variables-tabpanel">
<vbox id="expressions"/>
<splitter class="devtools-horizontal-splitter"/>
<vbox id="variables" flex="1"/>
</tabpanel>
<tabpanel id="events-tabpanel">
<vbox id="event-listeners" flex="1"/>
</tabpanel>
</tabpanels>
</tabbox>
<splitter id="vertical-layout-splitter"
class="devtools-horizontal-splitter"/>
<hbox id="vertical-layout-panes-container">
<splitter id="sources-and-instruments-splitter"
class="devtools-side-splitter"/>
<!-- The sources-pane and instruments-pane will be moved in this
container if the toolbox's host requires it. -->
</hbox>
</hbox>
</vbox>
<panel id="searchbox-help-panel"
level="top"
type="arrow"
position="before_start"
noautofocus="true"
consumeoutsideclicks="false">
<vbox>
<hbox>
<label id="filter-label"/>
</hbox>
<label id="searchbox-panel-operators"
value="&debuggerUI.searchPanelOperators;"/>
<hbox align="center">
<button id="global-operator-button"
class="searchbox-panel-operator-button devtools-monospace"
command="globalSearchCommand"/>
<label id="global-operator-label"
class="plain searchbox-panel-operator-label"/>
</hbox>
<hbox align="center">
<button id="function-operator-button"
class="searchbox-panel-operator-button devtools-monospace"
command="functionSearchCommand"/>
<label id="function-operator-label"
class="plain searchbox-panel-operator-label"/>
</hbox>
<hbox align="center">
<button id="token-operator-button"
class="searchbox-panel-operator-button devtools-monospace"
command="tokenSearchCommand"/>
<label id="token-operator-label"
class="plain searchbox-panel-operator-label"/>
</hbox>
<hbox align="center">
<button id="line-operator-button"
class="searchbox-panel-operator-button devtools-monospace"
command="lineSearchCommand"/>
<label id="line-operator-label"
class="plain searchbox-panel-operator-label"/>
</hbox>
<hbox align="center">
<button id="variable-operator-button"
class="searchbox-panel-operator-button devtools-monospace"
command="variableSearchCommand"/>
<label id="variable-operator-label"
class="plain searchbox-panel-operator-label"/>
</hbox>
</vbox>
</panel>
<panel id="conditional-breakpoint-panel"
level="top"
type="arrow"
noautofocus="true"
consumeoutsideclicks="false">
<vbox>
<label id="conditional-breakpoint-panel-description"
value="&debuggerUI.condBreakPanelTitle;"/>
<textbox id="conditional-breakpoint-panel-textbox"/>
</vbox>
</panel>
</window>