зеркало из https://github.com/mozilla/gecko-dev.git
478 строки
20 KiB
XML
478 строки
20 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://global/skin/" type="text/css"?>
|
|
<?xml-stylesheet href="chrome://devtools/content/shared/widgets/widgets.css" type="text/css"?>
|
|
<?xml-stylesheet href="chrome://devtools/content/debugger/debugger.css" type="text/css"?>
|
|
<?xml-stylesheet href="chrome://devtools/skin/widgets.css" type="text/css"?>
|
|
<?xml-stylesheet href="chrome://devtools/skin/debugger.css" type="text/css"?>
|
|
<!DOCTYPE window [
|
|
<!ENTITY % debuggerDTD SYSTEM "chrome://devtools/locale/debugger.dtd">
|
|
%debuggerDTD;
|
|
<!ENTITY % editMenuDTD SYSTEM "chrome://global/locale/editMenuOverlay.dtd">
|
|
%editMenuDTD;
|
|
]>
|
|
|
|
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
|
xmlns:html="http://www.w3.org/1999/xhtml"
|
|
macanimationtype="document"
|
|
fullscreenbutton="true"
|
|
screenX="4" screenY="4"
|
|
width="960" height="480"
|
|
persist="screenX screenY width height sizemode">
|
|
|
|
<script type="application/javascript"
|
|
src="chrome://devtools/content/shared/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="utils.js"/>
|
|
<script type="text/javascript" src="views/workers-view.js"/>
|
|
<script type="text/javascript" src="views/variable-bubble-view.js"/>
|
|
<script type="text/javascript" src="views/watch-expressions-view.js"/>
|
|
<script type="text/javascript" src="views/global-search-view.js"/>
|
|
<script type="text/javascript" src="views/toolbar-view.js"/>
|
|
<script type="text/javascript" src="views/options-view.js"/>
|
|
<script type="text/javascript" src="views/stack-frames-view.js"/>
|
|
<script type="text/javascript" src="views/stack-frames-classic-view.js"/>
|
|
<script type="text/javascript" src="views/filter-view.js"/>
|
|
|
|
#include ../../../toolkit/content/editMenuCommands.inc.xul
|
|
|
|
<commandset id="debuggerCommands"></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-editConditionalBreakpoint"
|
|
label="&debuggerUI.seEditMenuCondBreak;"
|
|
key="addConditionalBreakpointKey"
|
|
command="addConditionalBreakpointCommand"/>
|
|
<menuitem id="se-dbg-cMenu-addAsWatch"
|
|
label="&debuggerUI.seMenuAddWatch;"
|
|
key="addWatchExpressionKey"
|
|
command="addWatchExpressionCommand"/>
|
|
<menuseparator/>
|
|
<menuitem id="cMenu_copy" label="©Cmd.label;"
|
|
accesskey="©Cmd.accesskey;" command="cmd_copy"/>
|
|
<menuseparator/>
|
|
<menuitem id="cMenu_selectAll" label="&selectAllCmd.label;"
|
|
accesskey="&selectAllCmd.accesskey;" command="cmd_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"/>
|
|
<menuitem id="auto-black-box"
|
|
type="checkbox"
|
|
label="&debuggerUI.autoBlackBox;"
|
|
accesskey="&debuggerUI.autoBlackBox.accesskey;"
|
|
command="toggleAutoBlackBox"/>
|
|
</menupopup>
|
|
</popupset>
|
|
|
|
<popupset id="debuggerSourcesPopupset">
|
|
<menupopup id="debuggerSourcesContextMenu">
|
|
<menuitem id="debugger-sources-context-newtab"
|
|
label="&debuggerUI.context.newTab;"
|
|
accesskey="&debuggerUI.context.newTab.accesskey;"/>
|
|
<menuitem id="debugger-sources-context-copyurl"
|
|
label="&debuggerUI.context.copyUrl;"
|
|
accesskey="&debuggerUI.context.copyUrl.accesskey;"/>
|
|
</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="stepOverKey"
|
|
keycode="&debuggerUI.stepping.stepOver1;"
|
|
command="stepOverCommand"/>
|
|
<key id="stepInKey"
|
|
keycode="&debuggerUI.stepping.stepIn1;"
|
|
command="stepInCommand"/>
|
|
<key id="stepOutKey"
|
|
keycode="&debuggerUI.stepping.stepOut1;"
|
|
modifiers="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"/>
|
|
<key id="debuggerSourcesCopyUrl"
|
|
key="&debuggerUI.context.copyUrl.key;"
|
|
modifiers="accel"
|
|
oncommand="DebuggerView.Sources._onCopyUrlCommand()"/>
|
|
</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>
|
|
<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">
|
|
<vbox id="workers-and-sources-pane">
|
|
<tabbox id="workers-pane"
|
|
class="devtools-sidebar-tabs"
|
|
flex="0"
|
|
hidden="true">
|
|
<tabs>
|
|
<tab id="workers-tab"
|
|
crop="end"
|
|
label="&debuggerUI.tabs.workers;"/>
|
|
</tabs>
|
|
<tabpanels flex="1">
|
|
<tabpanel>
|
|
<vbox id="workers" flex="1"/>
|
|
</tabpanel>
|
|
</tabpanels>
|
|
</tabbox>
|
|
<splitter id="workers-splitter"
|
|
class="devtools-horizontal-splitter"
|
|
hidden="true" />
|
|
<tabbox id="sources-pane"
|
|
class="devtools-sidebar-tabs"
|
|
flex="1">
|
|
<tabs>
|
|
<tab id="sources-tab"
|
|
crop="end"
|
|
label="&debuggerUI.tabs.sources;"/>
|
|
<tab id="callstack-tab"
|
|
crop="end"
|
|
label="&debuggerUI.tabs.callstack;"/>
|
|
</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"
|
|
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>
|
|
</tabpanels>
|
|
</tabbox>
|
|
</vbox>
|
|
<splitter id="sources-and-editor-splitter"
|
|
class="devtools-side-splitter"/>
|
|
<vbox id="debugger-content" flex="1">
|
|
<hbox id="editor-and-instruments-pane" flex="1">
|
|
<deck id="editor-deck" flex="1" class="devtools-main-content">
|
|
<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>
|
|
<html:div id="source-progress-container"
|
|
align="center">
|
|
<html:div id="hbox">
|
|
<html:progress id="source-progress"></html:progress>
|
|
</html:div>
|
|
</html:div>
|
|
</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"
|
|
crop="end"
|
|
label="&debuggerUI.tabs.variables;"/>
|
|
<tab id="events-tab"
|
|
crop="end"
|
|
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>
|
|
</hbox>
|
|
</vbox>
|
|
<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>
|