mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Backed out changeset 85303b3d8d17 (bug 882790) a=backout
This commit is contained in:
parent
aae1f6f147
commit
0e4fa0a2a4
@ -127,6 +127,16 @@
|
||||
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;"
|
||||
@ -338,9 +348,6 @@
|
||||
class="devtools-toolbarbutton"
|
||||
tooltiptext="&debuggerUI.sources.toggleBreakpoints;"
|
||||
command="toggleBreakpointsCommand"/>
|
||||
<toolbarbutton id="toggle-pause-exceptions"
|
||||
class="devtools-toolbarbutton"
|
||||
command="togglePauseOnExceptionsCommand"/>
|
||||
<toolbarbutton id="toggle-promise-debugger"
|
||||
class="devtools-toolbarbutton"
|
||||
tooltiptext="&debuggerUI.sources.togglePromiseDebugger;"
|
||||
|
@ -8,7 +8,7 @@
|
||||
const TAB_URL = EXAMPLE_URL + "doc_pause-exceptions.html";
|
||||
|
||||
let gTab, gPanel, gDebugger;
|
||||
let gFrames, gVariables, gPrefs;
|
||||
let gFrames, gVariables, gPrefs, gOptions;
|
||||
|
||||
function test() {
|
||||
requestLongerTimeout(2);
|
||||
@ -19,16 +19,19 @@ function test() {
|
||||
gFrames = gDebugger.DebuggerView.StackFrames;
|
||||
gVariables = gDebugger.DebuggerView.Variables;
|
||||
gPrefs = gDebugger.Prefs;
|
||||
gOptions = gDebugger.DebuggerView.Options;
|
||||
|
||||
is(gPrefs.pauseOnExceptions, false,
|
||||
"The pause-on-exceptions pref should be disabled by default.");
|
||||
isnot(gOptions._pauseOnExceptionsItem.getAttribute("checked"), "true",
|
||||
"The pause-on-exceptions menu item should not be checked.");
|
||||
|
||||
testPauseOnExceptionsDisabled()
|
||||
.then(clickToPauseOnAllExceptions)
|
||||
.then(testPauseOnAllExceptionsEnabled)
|
||||
.then(clickToPauseOnUncaughtExceptions)
|
||||
.then(testPauseOnUncaughtExceptionsEnabled)
|
||||
.then(clickToStopPauseOnExceptions)
|
||||
.then(enablePauseOnExceptions)
|
||||
.then(disableIgnoreCaughtExceptions)
|
||||
.then(testPauseOnExceptionsEnabled)
|
||||
.then(disablePauseOnExceptions)
|
||||
.then(enableIgnoreCaughtExceptions)
|
||||
.then(() => closeDebuggerAndFinish(gPanel))
|
||||
.then(null, aError => {
|
||||
ok(false, "Got an error: " + aError.message + "\n" + aError.stack);
|
||||
@ -79,52 +82,9 @@ function testPauseOnExceptionsDisabled() {
|
||||
return finished;
|
||||
}
|
||||
|
||||
function testPauseOnUncaughtExceptionsEnabled() {
|
||||
let finished = waitForDebuggerEvents(gPanel, gDebugger.EVENTS.FETCHED_SCOPES).then(() => {
|
||||
info("Testing enabled pause-on-uncaught-exceptions only.");
|
||||
|
||||
is(gDebugger.gThreadClient.state, "paused",
|
||||
"Should only be getting stack frames while paused (1).");
|
||||
ok(isCaretPos(gPanel, 26),
|
||||
"Should be paused on the debugger statement (1).");
|
||||
|
||||
let innerScope = gVariables.getScopeAtIndex(0);
|
||||
let innerNodes = innerScope.target.querySelector(".variables-view-element-details").childNodes;
|
||||
|
||||
is(gFrames.itemCount, 1,
|
||||
"Should have one frame.");
|
||||
is(gVariables._store.length, 3,
|
||||
"Should have three scopes.");
|
||||
|
||||
is(innerNodes[0].querySelector(".name").getAttribute("value"), "this",
|
||||
"Should have the right property name for 'this'.");
|
||||
is(innerNodes[0].querySelector(".value").getAttribute("value"), "<button>",
|
||||
"Should have the right property value for 'this'.");
|
||||
|
||||
let finished = waitForDebuggerEvents(gPanel, gDebugger.EVENTS.AFTER_FRAMES_CLEARED).then(() => {
|
||||
isnot(gDebugger.gThreadClient.state, "paused",
|
||||
"Should not be paused after resuming.");
|
||||
ok(isCaretPos(gPanel, 26),
|
||||
"Should be idle on the debugger statement.");
|
||||
|
||||
ok(true, "Frames were cleared, debugger didn't pause again.");
|
||||
});
|
||||
|
||||
EventUtils.sendMouseEvent({ type: "mousedown" },
|
||||
gDebugger.document.getElementById("resume"),
|
||||
gDebugger);
|
||||
|
||||
return finished;
|
||||
});
|
||||
|
||||
generateMouseClickInTab(gTab, "content.document.querySelector('button')");
|
||||
|
||||
return finished;
|
||||
}
|
||||
|
||||
function testPauseOnAllExceptionsEnabled() {
|
||||
function testPauseOnExceptionsEnabled() {
|
||||
let finished = waitForCaretAndScopes(gPanel, 19).then(() => {
|
||||
info("Testing enabled pause-on-all-exceptions.");
|
||||
info("Testing enabled pause-on-exceptions.");
|
||||
|
||||
is(gDebugger.gThreadClient.state, "paused",
|
||||
"Should only be getting stack frames while paused.");
|
||||
@ -145,7 +105,7 @@ function testPauseOnAllExceptionsEnabled() {
|
||||
"Should have the right property value for <exception>.");
|
||||
|
||||
let finished = waitForCaretAndScopes(gPanel, 26).then(() => {
|
||||
info("Testing enabled pause-on-all-exceptions and resumed after pause.");
|
||||
info("Testing enabled pause-on-exceptions and resumed after pause.");
|
||||
|
||||
is(gDebugger.gThreadClient.state, "paused",
|
||||
"Should only be getting stack frames while paused.");
|
||||
@ -193,63 +153,81 @@ function testPauseOnAllExceptionsEnabled() {
|
||||
return finished;
|
||||
}
|
||||
|
||||
function clickToPauseOnAllExceptions() {
|
||||
var deferred = promise.defer();
|
||||
var pauseOnExceptionsButton = getPauseOnExceptionsButton();
|
||||
function enablePauseOnExceptions() {
|
||||
let deferred = promise.defer();
|
||||
|
||||
gDebugger.gThreadClient.addOneTimeListener("resumed", () => {
|
||||
is(pauseOnExceptionsButton.getAttribute("tooltiptext"),
|
||||
"Pause on uncaught exceptions",
|
||||
"The button's tooltip text should be 'Pause on uncaught exceptions'.");
|
||||
is(pauseOnExceptionsButton.getAttribute("state"), 1,
|
||||
"The pause on exceptions button state variable should be 1");
|
||||
is(gPrefs.pauseOnExceptions, true,
|
||||
"The pause-on-exceptions pref should now be enabled.");
|
||||
is(gOptions._pauseOnExceptionsItem.getAttribute("checked"), "true",
|
||||
"The pause-on-exceptions menu item should now be checked.");
|
||||
|
||||
deferred.resolve();
|
||||
ok(true, "Pausing on exceptions was enabled.");
|
||||
deferred.resolve();
|
||||
});
|
||||
|
||||
pauseOnExceptionsButton.click();
|
||||
gOptions._pauseOnExceptionsItem.setAttribute("checked", "true");
|
||||
gOptions._togglePauseOnExceptions();
|
||||
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
function clickToPauseOnUncaughtExceptions() {
|
||||
var deferred = promise.defer();
|
||||
var pauseOnExceptionsButton = getPauseOnExceptionsButton();
|
||||
function disablePauseOnExceptions() {
|
||||
let deferred = promise.defer();
|
||||
|
||||
gDebugger.gThreadClient.addOneTimeListener("resumed", () =>{
|
||||
is(pauseOnExceptionsButton.getAttribute("tooltiptext"),
|
||||
"Do not pause on exceptions",
|
||||
"The button's tooltip text should be 'Do not pause on exceptions'.");
|
||||
is(pauseOnExceptionsButton.getAttribute("state"), 2,
|
||||
"The pause on exceptions button state variable should be 2");
|
||||
gDebugger.gThreadClient.addOneTimeListener("resumed", () => {
|
||||
is(gPrefs.pauseOnExceptions, false,
|
||||
"The pause-on-exceptions pref should now be disabled.");
|
||||
isnot(gOptions._pauseOnExceptionsItem.getAttribute("checked"), "true",
|
||||
"The pause-on-exceptions menu item should now be unchecked.");
|
||||
|
||||
deferred.resolve();
|
||||
ok(true, "Pausing on exceptions was disabled.");
|
||||
deferred.resolve();
|
||||
});
|
||||
pauseOnExceptionsButton.click();
|
||||
|
||||
gOptions._pauseOnExceptionsItem.setAttribute("checked", "false");
|
||||
gOptions._togglePauseOnExceptions();
|
||||
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
function clickToStopPauseOnExceptions() {
|
||||
var deferred = promise.defer();
|
||||
var pauseOnExceptionsButton = getPauseOnExceptionsButton();
|
||||
function enableIgnoreCaughtExceptions() {
|
||||
let deferred = promise.defer();
|
||||
|
||||
gDebugger.gThreadClient.addOneTimeListener("resumed", () =>{
|
||||
is(pauseOnExceptionsButton.getAttribute("tooltiptext"),
|
||||
"Pause on all exceptions",
|
||||
"The button's tooltip text should be 'Pause on all exceptions'.");
|
||||
is(pauseOnExceptionsButton.getAttribute("state"), 0,
|
||||
"The pause on exceptions button state variable should be 0");
|
||||
gDebugger.gThreadClient.addOneTimeListener("resumed", () => {
|
||||
is(gPrefs.ignoreCaughtExceptions, true,
|
||||
"The ignore-caught-exceptions pref should now be enabled.");
|
||||
is(gOptions._ignoreCaughtExceptionsItem.getAttribute("checked"), "true",
|
||||
"The ignore-caught-exceptions menu item should now be checked.");
|
||||
|
||||
deferred.resolve();
|
||||
ok(true, "Ignore caught exceptions was enabled.");
|
||||
deferred.resolve();
|
||||
});
|
||||
pauseOnExceptionsButton.click();
|
||||
|
||||
gOptions._ignoreCaughtExceptionsItem.setAttribute("checked", "true");
|
||||
gOptions._toggleIgnoreCaughtExceptions();
|
||||
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
function getPauseOnExceptionsButton() {
|
||||
return gDebugger.document.getElementById("toggle-pause-exceptions");
|
||||
}
|
||||
function disableIgnoreCaughtExceptions() {
|
||||
let deferred = promise.defer();
|
||||
|
||||
gDebugger.gThreadClient.addOneTimeListener("resumed", () => {
|
||||
is(gPrefs.ignoreCaughtExceptions, false,
|
||||
"The ignore-caught-exceptions pref should now be disabled.");
|
||||
isnot(gOptions._ignoreCaughtExceptionsItem.getAttribute("checked"), "true",
|
||||
"The ignore-caught-exceptions menu item should now be unchecked.");
|
||||
|
||||
ok(true, "Ignore caught exceptions was disabled.");
|
||||
deferred.resolve();
|
||||
});
|
||||
|
||||
gOptions._ignoreCaughtExceptionsItem.setAttribute("checked", "false");
|
||||
gOptions._toggleIgnoreCaughtExceptions();
|
||||
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
registerCleanupFunction(function() {
|
||||
gTab = null;
|
||||
@ -258,4 +236,5 @@ registerCleanupFunction(function() {
|
||||
gFrames = null;
|
||||
gVariables = null;
|
||||
gPrefs = null;
|
||||
gOptions = null;
|
||||
});
|
||||
|
@ -2,16 +2,15 @@
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
/**
|
||||
* Make sure that pausing on exceptions works after tab reload.
|
||||
* Make sure that pausing on exceptions works after reload.
|
||||
*/
|
||||
|
||||
const TAB_URL = EXAMPLE_URL + "doc_pause-exceptions.html";
|
||||
|
||||
let gTab, gPanel, gDebugger;
|
||||
let gFrames, gVariables, gPrefs;
|
||||
let gFrames, gVariables, gPrefs, gOptions;
|
||||
|
||||
function test() {
|
||||
requestLongerTimeout(2);
|
||||
initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
|
||||
gTab = aTab;
|
||||
gPanel = aPanel;
|
||||
@ -19,15 +18,19 @@ function test() {
|
||||
gFrames = gDebugger.DebuggerView.StackFrames;
|
||||
gVariables = gDebugger.DebuggerView.Variables;
|
||||
gPrefs = gDebugger.Prefs;
|
||||
gOptions = gDebugger.DebuggerView.Options;
|
||||
|
||||
is(gPrefs.pauseOnExceptions, false,
|
||||
"The pause-on-exceptions pref should be disabled by default.");
|
||||
isnot(gOptions._pauseOnExceptionsItem.getAttribute("checked"), "true",
|
||||
"The pause-on-exceptions menu item should not be checked.");
|
||||
|
||||
clickToPauseOnAllExceptions()
|
||||
enablePauseOnExceptions()
|
||||
.then(disableIgnoreCaughtExceptions)
|
||||
.then(() => reloadActiveTab(gPanel, gDebugger.EVENTS.SOURCE_SHOWN))
|
||||
.then(testPauseOnAllExceptionsEnabledAfterReload)
|
||||
.then(clickToPauseOnUncaughtExceptions)
|
||||
.then(clickToStopPauseOnExceptions)
|
||||
.then(testPauseOnExceptionsAfterReload)
|
||||
.then(disablePauseOnExceptions)
|
||||
.then(enableIgnoreCaughtExceptions)
|
||||
.then(() => closeDebuggerAndFinish(gPanel))
|
||||
.then(null, aError => {
|
||||
ok(false, "Got an error: " + aError.message + "\n" + aError.stack);
|
||||
@ -35,9 +38,9 @@ function test() {
|
||||
});
|
||||
}
|
||||
|
||||
function testPauseOnAllExceptionsEnabledAfterReload() {
|
||||
function testPauseOnExceptionsAfterReload() {
|
||||
let finished = waitForCaretAndScopes(gPanel, 19).then(() => {
|
||||
info("Testing enabled pause-on-all-exceptions.");
|
||||
info("Testing enabled pause-on-exceptions.");
|
||||
|
||||
is(gDebugger.gThreadClient.state, "paused",
|
||||
"Should only be getting stack frames while paused.");
|
||||
@ -58,7 +61,7 @@ function testPauseOnAllExceptionsEnabledAfterReload() {
|
||||
"Should have the right property value for <exception>.");
|
||||
|
||||
let finished = waitForCaretAndScopes(gPanel, 26).then(() => {
|
||||
info("Testing enabled pause-on-all-exceptions and resumed after pause.");
|
||||
info("Testing enabled pause-on-exceptions and resumed after pause.");
|
||||
|
||||
is(gDebugger.gThreadClient.state, "paused",
|
||||
"Should only be getting stack frames while paused.");
|
||||
@ -106,61 +109,80 @@ function testPauseOnAllExceptionsEnabledAfterReload() {
|
||||
return finished;
|
||||
}
|
||||
|
||||
function clickToPauseOnAllExceptions() {
|
||||
var deferred = promise.defer();
|
||||
var pauseOnExceptionsButton = getPauseOnExceptionsButton();
|
||||
function enablePauseOnExceptions() {
|
||||
let deferred = promise.defer();
|
||||
|
||||
gDebugger.gThreadClient.addOneTimeListener("resumed", () => {
|
||||
is(pauseOnExceptionsButton.getAttribute("tooltiptext"),
|
||||
"Pause on uncaught exceptions",
|
||||
"The button's tooltip text should be 'Pause on uncaught exceptions'.");
|
||||
is(pauseOnExceptionsButton.getAttribute("state"), 1,
|
||||
"The pause on exceptions button state variable should be 1");
|
||||
is(gPrefs.pauseOnExceptions, true,
|
||||
"The pause-on-exceptions pref should now be enabled.");
|
||||
is(gOptions._pauseOnExceptionsItem.getAttribute("checked"), "true",
|
||||
"The pause-on-exceptions menu item should now be checked.");
|
||||
|
||||
deferred.resolve();
|
||||
ok(true, "Pausing on exceptions was enabled.");
|
||||
deferred.resolve();
|
||||
});
|
||||
|
||||
pauseOnExceptionsButton.click();
|
||||
gOptions._pauseOnExceptionsItem.setAttribute("checked", "true");
|
||||
gOptions._togglePauseOnExceptions();
|
||||
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
function clickToPauseOnUncaughtExceptions() {
|
||||
var deferred = promise.defer();
|
||||
var pauseOnExceptionsButton = getPauseOnExceptionsButton();
|
||||
function disablePauseOnExceptions() {
|
||||
let deferred = promise.defer();
|
||||
|
||||
gDebugger.gThreadClient.addOneTimeListener("resumed", () =>{
|
||||
is(pauseOnExceptionsButton.getAttribute("tooltiptext"),
|
||||
"Do not pause on exceptions",
|
||||
"The button's tooltip text should be 'Do not pause on exceptions'.");
|
||||
is(pauseOnExceptionsButton.getAttribute("state"), 2,
|
||||
"The pause on exceptions button state variable should be 2");
|
||||
gDebugger.gThreadClient.addOneTimeListener("resumed", () => {
|
||||
is(gPrefs.pauseOnExceptions, false,
|
||||
"The pause-on-exceptions pref should now be disabled.");
|
||||
isnot(gOptions._pauseOnExceptionsItem.getAttribute("checked"), "true",
|
||||
"The pause-on-exceptions menu item should now be unchecked.");
|
||||
|
||||
deferred.resolve();
|
||||
ok(true, "Pausing on exceptions was disabled.");
|
||||
deferred.resolve();
|
||||
});
|
||||
pauseOnExceptionsButton.click();
|
||||
|
||||
gOptions._pauseOnExceptionsItem.setAttribute("checked", "false");
|
||||
gOptions._togglePauseOnExceptions();
|
||||
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
function clickToStopPauseOnExceptions() {
|
||||
var deferred = promise.defer();
|
||||
var pauseOnExceptionsButton = getPauseOnExceptionsButton();
|
||||
function enableIgnoreCaughtExceptions() {
|
||||
let deferred = promise.defer();
|
||||
|
||||
gDebugger.gThreadClient.addOneTimeListener("resumed", () =>{
|
||||
is(pauseOnExceptionsButton.getAttribute("tooltiptext"),
|
||||
"Pause on all exceptions",
|
||||
"The button's tooltip text should be 'Pause on all exceptions'.");
|
||||
is(pauseOnExceptionsButton.getAttribute("state"), 0,
|
||||
"The pause on exceptions button state variable should be 0");
|
||||
gDebugger.gThreadClient.addOneTimeListener("resumed", () => {
|
||||
is(gPrefs.ignoreCaughtExceptions, true,
|
||||
"The ignore-caught-exceptions pref should now be enabled.");
|
||||
is(gOptions._ignoreCaughtExceptionsItem.getAttribute("checked"), "true",
|
||||
"The ignore-caught-exceptions menu item should now be checked.");
|
||||
|
||||
deferred.resolve();
|
||||
ok(true, "Ignore caught exceptions was enabled.");
|
||||
deferred.resolve();
|
||||
});
|
||||
pauseOnExceptionsButton.click();
|
||||
|
||||
gOptions._ignoreCaughtExceptionsItem.setAttribute("checked", "true");
|
||||
gOptions._toggleIgnoreCaughtExceptions();
|
||||
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
function getPauseOnExceptionsButton() {
|
||||
return gDebugger.document.getElementById("toggle-pause-exceptions");
|
||||
function disableIgnoreCaughtExceptions() {
|
||||
let deferred = promise.defer();
|
||||
|
||||
gDebugger.gThreadClient.addOneTimeListener("resumed", () => {
|
||||
is(gPrefs.ignoreCaughtExceptions, false,
|
||||
"The ignore-caught-exceptions pref should now be disabled.");
|
||||
isnot(gOptions._ignoreCaughtExceptionsItem.getAttribute("checked"), "true",
|
||||
"The ignore-caught-exceptions menu item should now be unchecked.");
|
||||
|
||||
ok(true, "Ignore caught exceptions was disabled.");
|
||||
deferred.resolve();
|
||||
});
|
||||
|
||||
gOptions._ignoreCaughtExceptionsItem.setAttribute("checked", "false");
|
||||
gOptions._toggleIgnoreCaughtExceptions();
|
||||
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
registerCleanupFunction(function() {
|
||||
@ -170,4 +192,5 @@ registerCleanupFunction(function() {
|
||||
gFrames = null;
|
||||
gVariables = null;
|
||||
gPrefs = null;
|
||||
gOptions = null;
|
||||
});
|
||||
|
@ -12,7 +12,7 @@ const JS_URL = EXAMPLE_URL + "code_math_bogus_map.js";
|
||||
// logs, so we are disabling that here.
|
||||
DevToolsUtils.reportingDisabled = true;
|
||||
|
||||
let gPanel, gDebugger, gFrames, gSources, gPrefs;
|
||||
let gPanel, gDebugger, gFrames, gSources, gPrefs, gOptions;
|
||||
|
||||
function test() {
|
||||
initDebugger(TAB_URL).then(([aTab,, aPanel]) => {
|
||||
@ -21,18 +21,22 @@ function test() {
|
||||
gFrames = gDebugger.DebuggerView.StackFrames;
|
||||
gSources = gDebugger.DebuggerView.Sources;
|
||||
gPrefs = gDebugger.Prefs;
|
||||
gOptions = gDebugger.DebuggerView.Options;
|
||||
|
||||
is(gPrefs.pauseOnExceptions, false,
|
||||
"The pause-on-exceptions pref should be disabled by default.");
|
||||
isnot(gOptions._pauseOnExceptionsItem.getAttribute("checked"), "true",
|
||||
"The pause-on-exceptions menu item should not be checked.");
|
||||
|
||||
waitForSourceShown(gPanel, JS_URL)
|
||||
.then(checkInitialSource)
|
||||
.then(clickToPauseOnAllExceptions)
|
||||
.then(clickToPauseOnUncaughtExceptions)
|
||||
.then(enablePauseOnExceptions)
|
||||
.then(disableIgnoreCaughtExceptions)
|
||||
.then(testSetBreakpoint)
|
||||
.then(reloadPage)
|
||||
.then(testHitBreakpoint)
|
||||
.then(clickToStopPauseOnExceptions)
|
||||
.then(enableIgnoreCaughtExceptions)
|
||||
.then(disablePauseOnExceptions)
|
||||
.then(() => closeDebuggerAndFinish(gPanel))
|
||||
.then(null, aError => {
|
||||
ok(false, "Got an error: " + aError.message + "\n" + aError.stack);
|
||||
@ -45,61 +49,38 @@ function checkInitialSource() {
|
||||
"The debugger should show the minified js file.");
|
||||
}
|
||||
|
||||
function clickToPauseOnAllExceptions() {
|
||||
var deferred = promise.defer();
|
||||
var pauseOnExceptionsButton = getPauseOnExceptionsButton();
|
||||
function enablePauseOnExceptions() {
|
||||
let deferred = promise.defer();
|
||||
|
||||
gDebugger.gThreadClient.addOneTimeListener("resumed", () => {
|
||||
is(pauseOnExceptionsButton.getAttribute("tooltiptext"),
|
||||
"Pause on uncaught exceptions",
|
||||
"The button's tooltip text should be 'Pause on uncaught exceptions'.");
|
||||
is(pauseOnExceptionsButton.getAttribute("state"), 1,
|
||||
"The pause on exceptions button state variable should be 1");
|
||||
is(gPrefs.pauseOnExceptions, true,
|
||||
"The pause-on-exceptions pref should now be enabled.");
|
||||
|
||||
deferred.resolve();
|
||||
ok(true, "Pausing on exceptions was enabled.");
|
||||
deferred.resolve();
|
||||
});
|
||||
|
||||
pauseOnExceptionsButton.click();
|
||||
gOptions._pauseOnExceptionsItem.setAttribute("checked", "true");
|
||||
gOptions._togglePauseOnExceptions();
|
||||
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
function clickToPauseOnUncaughtExceptions() {
|
||||
var deferred = promise.defer();
|
||||
var pauseOnExceptionsButton = getPauseOnExceptionsButton();
|
||||
|
||||
gDebugger.gThreadClient.addOneTimeListener("resumed", () =>{
|
||||
is(pauseOnExceptionsButton.getAttribute("tooltiptext"),
|
||||
"Do not pause on exceptions",
|
||||
"The button's tooltip text should be 'Do not pause on exceptions'.");
|
||||
is(pauseOnExceptionsButton.getAttribute("state"), 2,
|
||||
"The pause on exceptions button state variable should be 2");
|
||||
|
||||
deferred.resolve();
|
||||
});
|
||||
pauseOnExceptionsButton.click();
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
function clickToStopPauseOnExceptions() {
|
||||
var deferred = promise.defer();
|
||||
var pauseOnExceptionsButton = getPauseOnExceptionsButton();
|
||||
function disableIgnoreCaughtExceptions() {
|
||||
let deferred = promise.defer();
|
||||
|
||||
gDebugger.gThreadClient.addOneTimeListener("resumed", () => {
|
||||
is(pauseOnExceptionsButton.getAttribute("tooltiptext"),
|
||||
"Pause on all exceptions",
|
||||
"The button's tooltip text should be 'Pause on all exceptions'.");
|
||||
is(pauseOnExceptionsButton.getAttribute("state"), 0,
|
||||
"The pause on exceptions button state variable should be 0");
|
||||
is(gPrefs.ignoreCaughtExceptions, false,
|
||||
"The ignore-caught-exceptions pref should now be disabled.");
|
||||
|
||||
deferred.resolve();
|
||||
ok(true, "Ignore caught exceptions was disabled.");
|
||||
deferred.resolve();
|
||||
});
|
||||
pauseOnExceptionsButton.click();
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
function getPauseOnExceptionsButton() {
|
||||
return gDebugger.document.getElementById("toggle-pause-exceptions");
|
||||
gOptions._ignoreCaughtExceptionsItem.setAttribute("checked", "false");
|
||||
gOptions._toggleIgnoreCaughtExceptions();
|
||||
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
function testSetBreakpoint() {
|
||||
@ -131,11 +112,62 @@ function testHitBreakpoint() {
|
||||
gDebugger.gThreadClient.resume(aResponse => {
|
||||
ok(!aResponse.error, "Shouldn't get an error resuming.");
|
||||
is(aResponse.type, "resumed", "Type should be 'resumed'.");
|
||||
is(gFrames.itemCount, 2, "Should have two frames.");
|
||||
|
||||
waitForDebuggerEvents(gPanel, gDebugger.EVENTS.FETCHED_SCOPES).then(() => {
|
||||
is(gFrames.itemCount, 2, "Should have two frames.");
|
||||
|
||||
// This is weird, but we need to let the debugger a chance to
|
||||
// update first
|
||||
executeSoon(() => {
|
||||
gDebugger.gThreadClient.resume(() => {
|
||||
gDebugger.gThreadClient.addOneTimeListener("paused", () => {
|
||||
gDebugger.gThreadClient.resume(() => {
|
||||
// We also need to make sure the next step doesn't add a
|
||||
// "resumed" handler until this is completely finished
|
||||
executeSoon(() => {
|
||||
deferred.resolve();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
function enableIgnoreCaughtExceptions() {
|
||||
let deferred = promise.defer();
|
||||
|
||||
gDebugger.gThreadClient.addOneTimeListener("resumed", () => {
|
||||
is(gPrefs.ignoreCaughtExceptions, true,
|
||||
"The ignore-caught-exceptions pref should now be enabled.");
|
||||
|
||||
ok(true, "Ignore caught exceptions was enabled.");
|
||||
deferred.resolve();
|
||||
});
|
||||
|
||||
gOptions._ignoreCaughtExceptionsItem.setAttribute("checked", "true");
|
||||
gOptions._toggleIgnoreCaughtExceptions();
|
||||
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
function disablePauseOnExceptions() {
|
||||
let deferred = promise.defer();
|
||||
|
||||
gDebugger.gThreadClient.addOneTimeListener("resumed", () => {
|
||||
is(gPrefs.pauseOnExceptions, false,
|
||||
"The pause-on-exceptions pref should now be disabled.");
|
||||
|
||||
ok(true, "Pausing on exceptions was disabled.");
|
||||
deferred.resolve();
|
||||
});
|
||||
|
||||
gOptions._pauseOnExceptionsItem.setAttribute("checked", "false");
|
||||
gOptions._togglePauseOnExceptions();
|
||||
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
@ -145,5 +177,6 @@ registerCleanupFunction(function() {
|
||||
gFrames = null;
|
||||
gSources = null;
|
||||
gPrefs = null;
|
||||
gOptions = null;
|
||||
DevToolsUtils.reportingDisabled = false;
|
||||
});
|
||||
|
@ -17,6 +17,8 @@ function OptionsView(DebuggerController, DebuggerView) {
|
||||
this.DebuggerView = DebuggerView;
|
||||
|
||||
this._toggleAutoPrettyPrint = this._toggleAutoPrettyPrint.bind(this);
|
||||
this._togglePauseOnExceptions = this._togglePauseOnExceptions.bind(this);
|
||||
this._toggleIgnoreCaughtExceptions = this._toggleIgnoreCaughtExceptions.bind(this);
|
||||
this._toggleShowPanesOnStartup = this._toggleShowPanesOnStartup.bind(this);
|
||||
this._toggleShowVariablesOnlyEnum = this._toggleShowVariablesOnlyEnum.bind(this);
|
||||
this._toggleShowVariablesFilterBox = this._toggleShowVariablesFilterBox.bind(this);
|
||||
@ -33,6 +35,8 @@ OptionsView.prototype = {
|
||||
|
||||
this._button = document.getElementById("debugger-options");
|
||||
this._autoPrettyPrint = document.getElementById("auto-pretty-print");
|
||||
this._pauseOnExceptionsItem = document.getElementById("pause-on-exceptions");
|
||||
this._ignoreCaughtExceptionsItem = document.getElementById("ignore-caught-exceptions");
|
||||
this._showPanesOnStartupItem = document.getElementById("show-panes-on-startup");
|
||||
this._showVariablesOnlyEnumItem = document.getElementById("show-vars-only-enum");
|
||||
this._showVariablesFilterBoxItem = document.getElementById("show-vars-filter-box");
|
||||
@ -40,6 +44,8 @@ OptionsView.prototype = {
|
||||
this._autoBlackBoxItem = document.getElementById("auto-black-box");
|
||||
|
||||
this._autoPrettyPrint.setAttribute("checked", Prefs.autoPrettyPrint);
|
||||
this._pauseOnExceptionsItem.setAttribute("checked", Prefs.pauseOnExceptions);
|
||||
this._ignoreCaughtExceptionsItem.setAttribute("checked", Prefs.ignoreCaughtExceptions);
|
||||
this._showPanesOnStartupItem.setAttribute("checked", Prefs.panesVisibleOnStartup);
|
||||
this._showVariablesOnlyEnumItem.setAttribute("checked", Prefs.variablesOnlyEnumVisible);
|
||||
this._showVariablesFilterBoxItem.setAttribute("checked", Prefs.variablesSearchboxVisible);
|
||||
@ -63,6 +69,8 @@ OptionsView.prototype = {
|
||||
_addCommands: function() {
|
||||
XULUtils.addCommands(document.getElementById('debuggerCommands'), {
|
||||
toggleAutoPrettyPrint: () => this._toggleAutoPrettyPrint(),
|
||||
togglePauseOnExceptions: () => this._togglePauseOnExceptions(),
|
||||
toggleIgnoreCaughtExceptions: () => this._toggleIgnoreCaughtExceptions(),
|
||||
toggleShowPanesOnStartup: () => this._toggleShowPanesOnStartup(),
|
||||
toggleShowOnlyEnum: () => this._toggleShowVariablesOnlyEnum(),
|
||||
toggleShowVariablesFilterBox: () => this._toggleShowVariablesFilterBox(),
|
||||
@ -101,6 +109,27 @@ OptionsView.prototype = {
|
||||
this._autoPrettyPrint.getAttribute("checked") == "true";
|
||||
},
|
||||
|
||||
/**
|
||||
* Listener handling the 'pause on exceptions' menuitem command.
|
||||
*/
|
||||
_togglePauseOnExceptions: function() {
|
||||
Prefs.pauseOnExceptions =
|
||||
this._pauseOnExceptionsItem.getAttribute("checked") == "true";
|
||||
|
||||
this.DebuggerController.activeThread.pauseOnExceptions(
|
||||
Prefs.pauseOnExceptions,
|
||||
Prefs.ignoreCaughtExceptions);
|
||||
},
|
||||
|
||||
_toggleIgnoreCaughtExceptions: function() {
|
||||
Prefs.ignoreCaughtExceptions =
|
||||
this._ignoreCaughtExceptionsItem.getAttribute("checked") == "true";
|
||||
|
||||
this.DebuggerController.activeThread.pauseOnExceptions(
|
||||
Prefs.pauseOnExceptions,
|
||||
Prefs.ignoreCaughtExceptions);
|
||||
},
|
||||
|
||||
/**
|
||||
* Listener handling the 'show panes on startup' menuitem command.
|
||||
*/
|
||||
@ -169,6 +198,7 @@ OptionsView.prototype = {
|
||||
},
|
||||
|
||||
_button: null,
|
||||
_pauseOnExceptionsItem: null,
|
||||
_showPanesOnStartupItem: null,
|
||||
_showVariablesOnlyEnumItem: null,
|
||||
_showVariablesFilterBoxItem: null,
|
||||
|
@ -8,9 +8,6 @@
|
||||
const KNOWN_SOURCE_GROUPS = {
|
||||
"Add-on SDK": "resource://gre/modules/commonjs/",
|
||||
};
|
||||
const DO_NOT_PAUSE_ON_EXCEPTIONS = 0;
|
||||
const PAUSE_ON_ALL_EXCEPTIONS = 1;
|
||||
const PAUSE_ON_UNCAUGHT_EXCEPTIONS = 2;
|
||||
|
||||
KNOWN_SOURCE_GROUPS[L10N.getStr("anonymousSourcesLabel")] = "anonymous";
|
||||
|
||||
@ -23,12 +20,10 @@ function SourcesView(DebuggerController, DebuggerView) {
|
||||
this.Breakpoints = DebuggerController.Breakpoints;
|
||||
this.SourceScripts = DebuggerController.SourceScripts;
|
||||
this.DebuggerView = DebuggerView;
|
||||
this.DebuggerController = DebuggerController;
|
||||
|
||||
this.togglePrettyPrint = this.togglePrettyPrint.bind(this);
|
||||
this.toggleBlackBoxing = this.toggleBlackBoxing.bind(this);
|
||||
this.toggleBreakpoints = this.toggleBreakpoints.bind(this);
|
||||
this.togglePauseOnExceptions = this.togglePauseOnExceptions.bind(this);
|
||||
|
||||
this._onEditorLoad = this._onEditorLoad.bind(this);
|
||||
this._onEditorUnload = this._onEditorUnload.bind(this);
|
||||
@ -61,9 +56,6 @@ SourcesView.prototype = Heritage.extend(WidgetMethods, {
|
||||
this._unnamedSourceIndex = 0;
|
||||
this.emptyText = L10N.getStr("noSourcesText");
|
||||
this._blackBoxCheckboxTooltip = L10N.getStr("blackBoxCheckboxTooltip");
|
||||
this._pauseAllExceptionsTooltip = L10N.getStr("pauseAllExceptionsTooltip");
|
||||
this._pauseUncaughtExceptionsTooltip = L10N.getStr("pauseUncaughtExceptionsTooltip");
|
||||
this._pauseNoExceptionsTooltip = L10N.getStr("pauseNoExceptionsTooltip");
|
||||
|
||||
this._commandset = document.getElementById("debuggerCommands");
|
||||
this._popupset = document.getElementById("debuggerPopupset");
|
||||
@ -74,7 +66,6 @@ SourcesView.prototype = Heritage.extend(WidgetMethods, {
|
||||
this._stopBlackBoxButton = document.getElementById("black-boxed-message-button");
|
||||
this._prettyPrintButton = document.getElementById("pretty-print");
|
||||
this._toggleBreakpointsButton = document.getElementById("toggle-breakpoints");
|
||||
this._togglePauseOnExceptionsButton = document.getElementById("toggle-pause-exceptions");
|
||||
this._newTabMenuItem = document.getElementById("debugger-sources-context-newtab");
|
||||
this._copyUrlMenuItem = document.getElementById("debugger-sources-context-copyurl");
|
||||
|
||||
@ -82,9 +73,6 @@ SourcesView.prototype = Heritage.extend(WidgetMethods, {
|
||||
this._prettyPrintButton.removeAttribute("hidden");
|
||||
}
|
||||
|
||||
this._togglePauseOnExceptionsButton.setAttribute("tooltiptext", this._pauseAllExceptionsTooltip);
|
||||
this._togglePauseOnExceptionsButton.setAttribute("state", DO_NOT_PAUSE_ON_EXCEPTIONS);
|
||||
|
||||
window.on(EVENTS.EDITOR_LOADED, this._onEditorLoad, false);
|
||||
window.on(EVENTS.EDITOR_UNLOADED, this._onEditorUnload, false);
|
||||
this.widget.addEventListener("select", this._onSourceSelect, false);
|
||||
@ -150,7 +138,6 @@ SourcesView.prototype = Heritage.extend(WidgetMethods, {
|
||||
unBlackBoxButton: () => this._onStopBlackBoxing(),
|
||||
prettyPrintCommand: () => this.togglePrettyPrint(),
|
||||
toggleBreakpointsCommand: () =>this.toggleBreakpoints(),
|
||||
togglePauseOnExceptionsCommand: () => this.togglePauseOnExceptions(),
|
||||
togglePromiseDebuggerCommand: () => this.togglePromiseDebugger(),
|
||||
nextSourceCommand: () => this.selectNextItem(),
|
||||
prevSourceCommand: () => this.selectPrevItem()
|
||||
@ -629,37 +616,6 @@ SourcesView.prototype = Heritage.extend(WidgetMethods, {
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Toggles the pause on exceptions functionality
|
||||
*/
|
||||
togglePauseOnExceptions: function() {
|
||||
let state = Number(this._togglePauseOnExceptionsButton.getAttribute("state"));
|
||||
let tooltip;
|
||||
|
||||
state = ++state % 3;
|
||||
|
||||
if (state === DO_NOT_PAUSE_ON_EXCEPTIONS) {
|
||||
tooltip = this._pauseAllExceptionsTooltip;
|
||||
Prefs.pauseOnExceptions = false;
|
||||
Prefs.ignoreCaughtExceptions = false;
|
||||
} else if ( state === PAUSE_ON_ALL_EXCEPTIONS) {
|
||||
tooltip = this._pauseUncaughtExceptionsTooltip;
|
||||
Prefs.pauseOnExceptions = true;
|
||||
Prefs.ignoreCaughtExceptions = false;
|
||||
} else {
|
||||
tooltip = this._pauseNoExceptionsTooltip;
|
||||
Prefs.pauseOnExceptions = true;
|
||||
Prefs.ignoreCaughtExceptions = true;
|
||||
}
|
||||
|
||||
this.DebuggerController.activeThread.pauseOnExceptions(
|
||||
Prefs.pauseOnExceptions,
|
||||
Prefs.ignoreCaughtExceptions);
|
||||
|
||||
this._togglePauseOnExceptionsButton.setAttribute("tooltiptext", tooltip);
|
||||
this._togglePauseOnExceptionsButton.setAttribute("state", state);
|
||||
},
|
||||
|
||||
togglePromiseDebugger: function() {
|
||||
if (Prefs.promiseDebuggerEnabled) {
|
||||
let promisePane = this.DebuggerView._promisePane;
|
||||
|
@ -243,8 +243,7 @@ StackFramesView.prototype = Heritage.extend(WidgetMethods, {
|
||||
},
|
||||
|
||||
_mirror: null,
|
||||
_prevBlackBoxedUrl: null,
|
||||
_popupset: null
|
||||
_prevBlackBoxedUrl: null
|
||||
});
|
||||
|
||||
DebuggerView.StackFrames = new StackFramesView(DebuggerController, DebuggerView);
|
||||
|
@ -66,6 +66,16 @@
|
||||
- the button that clears the collected tracing data in the tracing tab. -->
|
||||
<!ENTITY debuggerUI.clearButton.tooltip "Clear the collected traces">
|
||||
|
||||
<!-- LOCALIZATION NOTE (debuggerUI.pauseExceptions): This is the label for the
|
||||
- checkbox that toggles pausing on exceptions. -->
|
||||
<!ENTITY debuggerUI.pauseExceptions "Pause on Exceptions">
|
||||
<!ENTITY debuggerUI.pauseExceptions.accesskey "E">
|
||||
|
||||
<!-- LOCALIZATION NOTE (debuggerUI.ignoreCaughtExceptions): This is the label for the
|
||||
- checkbox that toggles ignoring caught exceptions. -->
|
||||
<!ENTITY debuggerUI.ignoreCaughtExceptions "Ignore Caught Exceptions">
|
||||
<!ENTITY debuggerUI.ignoreCaughtExceptions.accesskey "C">
|
||||
|
||||
<!-- LOCALIZATION NOTE (debuggerUI.showPanesOnInit): This is the label for the
|
||||
- checkbox that toggles visibility of panes when opening the debugger. -->
|
||||
<!ENTITY debuggerUI.showPanesOnInit "Show Panes on Startup">
|
||||
|
@ -156,21 +156,6 @@ otherEvents=Other
|
||||
# source.
|
||||
blackBoxCheckboxTooltip=Toggle black boxing
|
||||
|
||||
# LOCALIZATION NOTE (pauseAllExceptionsTooltip): The tooltip text to display when
|
||||
# the user hovers over the pause on exceptions button in the "pause on all
|
||||
# exceptions" state.
|
||||
pauseAllExceptionsTooltip=Pause on all exceptions
|
||||
|
||||
# LOCALIZATION NOTE (pauseUncaughtExceptionsTooltip): The tooltip text to display when
|
||||
# the user hovers over the pause on exceptions button in the "pause on uncaught
|
||||
# exceptions" state.
|
||||
pauseUncaughtExceptionsTooltip=Pause on uncaught exceptions
|
||||
|
||||
# LOCALIZATION NOTE (pauseNoExceptionsTooltip): The tooltip text to display when
|
||||
# the user hovers over the pause on exceptions button in the "pause on no
|
||||
# exceptions" state.
|
||||
pauseNoExceptionsTooltip=Do not pause on exceptions
|
||||
|
||||
# LOCALIZATION NOTE (noMatchingStringsText): The text to display in the
|
||||
# global search results when there are no matching strings after filtering.
|
||||
noMatchingStringsText=No matches found
|
||||
|
@ -393,12 +393,6 @@ browser.jar:
|
||||
skin/classic/browser/devtools/debugger-blackbox@2x.png (../shared/devtools/images/debugger-blackbox@2x.png)
|
||||
skin/classic/browser/devtools/debugger-prettyprint.png (../shared/devtools/images/debugger-prettyprint.png)
|
||||
skin/classic/browser/devtools/debugger-prettyprint@2x.png (../shared/devtools/images/debugger-prettyprint@2x.png)
|
||||
skin/classic/browser/devtools/debugger-no-pause-exceptions.png (../shared/devtools/images/debugger-no-pause-exceptions.png)
|
||||
skin/classic/browser/devtools/debugger-no-pause-exceptions@2x.png (../shared/devtools/images/debugger-no-pause-exceptions@2x.png)
|
||||
skin/classic/browser/devtools/debugger-pause-all-exceptions.png (../shared/devtools/images/debugger-pause-all-exceptions.png)
|
||||
skin/classic/browser/devtools/debugger-pause-all-exceptions@2x.png (../shared/devtools/images/debugger-pause-all-exceptions@2x.png)
|
||||
skin/classic/browser/devtools/debugger-pause-uncaught-exceptions.png (../shared/devtools/images/debugger-pause-uncaught-exceptions.png)
|
||||
skin/classic/browser/devtools/debugger-pause-uncaught-exceptions@2x.png (../shared/devtools/images/debugger-pause-uncaught-exceptions@2x.png)
|
||||
skin/classic/browser/devtools/debugger-toggleBreakpoints.png (../shared/devtools/images/debugger-toggleBreakpoints.png)
|
||||
skin/classic/browser/devtools/debugger-toggleBreakpoints@2x.png (../shared/devtools/images/debugger-toggleBreakpoints@2x.png)
|
||||
skin/classic/browser/devtools/tracer-icon.png (../shared/devtools/images/tracer-icon.png)
|
||||
|
@ -497,12 +497,6 @@ browser.jar:
|
||||
skin/classic/browser/devtools/debugger-blackbox@2x.png (../shared/devtools/images/debugger-blackbox@2x.png)
|
||||
skin/classic/browser/devtools/debugger-prettyprint.png (../shared/devtools/images/debugger-prettyprint.png)
|
||||
skin/classic/browser/devtools/debugger-prettyprint@2x.png (../shared/devtools/images/debugger-prettyprint@2x.png)
|
||||
skin/classic/browser/devtools/debugger-no-pause-exceptions.png (../shared/devtools/images/debugger-no-pause-exceptions.png)
|
||||
skin/classic/browser/devtools/debugger-no-pause-exceptions@2x.png (../shared/devtools/images/debugger-no-pause-exceptions@2x.png)
|
||||
skin/classic/browser/devtools/debugger-pause-all-exceptions.png (../shared/devtools/images/debugger-pause-all-exceptions.png)
|
||||
skin/classic/browser/devtools/debugger-pause-all-exceptions@2x.png (../shared/devtools/images/debugger-pause-all-exceptions@2x.png)
|
||||
skin/classic/browser/devtools/debugger-pause-uncaught-exceptions.png (../shared/devtools/images/debugger-pause-uncaught-exceptions.png)
|
||||
skin/classic/browser/devtools/debugger-pause-uncaught-exceptions@2x.png (../shared/devtools/images/debugger-pause-uncaught-exceptions@2x.png)
|
||||
skin/classic/browser/devtools/debugger-toggleBreakpoints.png (../shared/devtools/images/debugger-toggleBreakpoints.png)
|
||||
skin/classic/browser/devtools/debugger-toggleBreakpoints@2x.png (../shared/devtools/images/debugger-toggleBreakpoints@2x.png)
|
||||
skin/classic/browser/devtools/tracer-icon.png (../shared/devtools/images/tracer-icon.png)
|
||||
|
@ -92,36 +92,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
#toggle-pause-exceptions[state="0"] {
|
||||
list-style-image: url(debugger-no-pause-exceptions.png);
|
||||
}
|
||||
|
||||
@media (min-resolution: 1.25dppx) {
|
||||
#toggle-pause-exceptions[state="0"] {
|
||||
list-style-image: url(debugger-no-pause-exceptions@2x.png);
|
||||
}
|
||||
}
|
||||
|
||||
#toggle-pause-exceptions[state="1"] {
|
||||
list-style-image: url(debugger-pause-all-exceptions.png);
|
||||
}
|
||||
|
||||
@media (min-resolution: 1.25dppx) {
|
||||
#toggle-pause-exceptions[state="1"] {
|
||||
list-style-image: url(debugger-pause-all-exceptions@2x.png);
|
||||
}
|
||||
}
|
||||
|
||||
#toggle-pause-exceptions[state="2"] {
|
||||
list-style-image: url(debugger-pause-uncaught-exceptions.png);
|
||||
}
|
||||
|
||||
@media (min-resolution: 1.25dppx) {
|
||||
#toggle-pause-exceptions[state="2"] {
|
||||
list-style-image: url(debugger-pause-uncaught-exceptions@2x.png);
|
||||
}
|
||||
}
|
||||
|
||||
#toggle-promise-debugger {
|
||||
/* TODO Bug 1186119: Add a toggle promise debugger image */
|
||||
}
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
Before Width: | Height: | Size: 4.1 KiB |
Binary file not shown.
Before Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
Before Width: | Height: | Size: 4.1 KiB |
Binary file not shown.
Before Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
Before Width: | Height: | Size: 4.1 KiB |
@ -508,12 +508,6 @@ browser.jar:
|
||||
skin/classic/browser/devtools/debugger-blackbox@2x.png (../shared/devtools/images/debugger-blackbox@2x.png)
|
||||
skin/classic/browser/devtools/debugger-prettyprint.png (../shared/devtools/images/debugger-prettyprint.png)
|
||||
skin/classic/browser/devtools/debugger-prettyprint@2x.png (../shared/devtools/images/debugger-prettyprint@2x.png)
|
||||
skin/classic/browser/devtools/debugger-no-pause-exceptions.png (../shared/devtools/images/debugger-no-pause-exceptions.png)
|
||||
skin/classic/browser/devtools/debugger-no-pause-exceptions@2x.png (../shared/devtools/images/debugger-no-pause-exceptions@2x.png)
|
||||
skin/classic/browser/devtools/debugger-pause-all-exceptions.png (../shared/devtools/images/debugger-pause-all-exceptions.png)
|
||||
skin/classic/browser/devtools/debugger-pause-all-exceptions@2x.png (../shared/devtools/images/debugger-pause-all-exceptions@2x.png)
|
||||
skin/classic/browser/devtools/debugger-pause-uncaught-exceptions.png (../shared/devtools/images/debugger-pause-uncaught-exceptions.png)
|
||||
skin/classic/browser/devtools/debugger-pause-uncaught-exceptions@2x.png (../shared/devtools/images/debugger-pause-uncaught-exceptions@2x.png)
|
||||
skin/classic/browser/devtools/debugger-toggleBreakpoints.png (../shared/devtools/images/debugger-toggleBreakpoints.png)
|
||||
skin/classic/browser/devtools/debugger-toggleBreakpoints@2x.png (../shared/devtools/images/debugger-toggleBreakpoints@2x.png)
|
||||
skin/classic/browser/devtools/tracer-icon.png (../shared/devtools/images/tracer-icon.png)
|
||||
|
Loading…
Reference in New Issue
Block a user