From 6d3885f455ec5b90ad11c20255b4e81e64333681 Mon Sep 17 00:00:00 2001 From: James Long Date: Mon, 12 Sep 2016 23:45:16 -0400 Subject: [PATCH] Bug 1300861 - enable new debugger in nightly r=bgrins --- .../test/browser_canvas-frontend-call-stack-01.js | 6 ++++++ .../test/browser_canvas-frontend-call-stack-02.js | 6 ++++++ devtools/client/debugger/new/panel.js | 1 + devtools/client/debugger/test/mochitest/head.js | 4 ++++ .../client/framework/test/browser_source_map-01.js | 6 ++++++ .../client/framework/test/browser_source_map-02.js | 6 ++++++ .../test/browser_toolbox_split_console.js | 6 ++++++ .../test/browser_toolbox_view_source_01.js | 6 ++++++ .../test/browser_toolbox_view_source_02.js | 6 ++++++ devtools/client/preferences/devtools.js | 5 +++++ .../test/browser_console_optimized_out_vars.js | 6 ++++++ ...owser_console_variables_view_while_debugging.js | 14 +++++++++++--- ...ariables_view_while_debugging_and_inspecting.js | 14 +++++++++++--- .../test/browser_eval_in_debugger_stackframe.js | 6 ++++++ .../test/browser_eval_in_debugger_stackframe2.js | 7 +++++++ ...bconsole_autocomplete_in_debugger_stackframe.js | 6 ++++++ ...console_bug_1050691_click_function_to_source.js | 6 ++++++ ...webconsole_bug_766001_JS_Console_in_Debugger.js | 6 ++++++ .../test/browser_webconsole_closure_inspection.js | 6 ++++++ ...webconsole_input_field_focus_on_panel_select.js | 2 +- .../test/browser_webconsole_view_source.js | 6 ++++++ 21 files changed, 124 insertions(+), 7 deletions(-) diff --git a/devtools/client/canvasdebugger/test/browser_canvas-frontend-call-stack-01.js b/devtools/client/canvasdebugger/test/browser_canvas-frontend-call-stack-01.js index 21b7d4e8ed6f..964683c84f71 100644 --- a/devtools/client/canvasdebugger/test/browser_canvas-frontend-call-stack-01.js +++ b/devtools/client/canvasdebugger/test/browser_canvas-frontend-call-stack-01.js @@ -5,6 +5,12 @@ * Tests if the a function call's stack is properly displayed in the UI. */ +// Force the old debugger UI since it's directly used (see Bug 1301705) +Services.prefs.setBoolPref("devtools.debugger.new-debugger-frontend", false); +registerCleanupFunction(function* () { + Services.prefs.clearUserPref("devtools.debugger.new-debugger-frontend"); +}); + function* ifTestingSupported() { let { target, panel } = yield initCanvasDebuggerFrontend(SIMPLE_CANVAS_DEEP_STACK_URL); let { window, $, $all, EVENTS, SnapshotsListView, CallsListView } = panel.panelWin; diff --git a/devtools/client/canvasdebugger/test/browser_canvas-frontend-call-stack-02.js b/devtools/client/canvasdebugger/test/browser_canvas-frontend-call-stack-02.js index 491aa695eb00..9b5c65839c00 100644 --- a/devtools/client/canvasdebugger/test/browser_canvas-frontend-call-stack-02.js +++ b/devtools/client/canvasdebugger/test/browser_canvas-frontend-call-stack-02.js @@ -6,6 +6,12 @@ * and jumping to source in the debugger for the topmost call item works. */ +// Force the old debugger UI since it's directly used (see Bug 1301705) +Services.prefs.setBoolPref("devtools.debugger.new-debugger-frontend", false); +registerCleanupFunction(function* () { + Services.prefs.clearUserPref("devtools.debugger.new-debugger-frontend"); +}); + function* ifTestingSupported() { let { target, panel } = yield initCanvasDebuggerFrontend(SIMPLE_CANVAS_DEEP_STACK_URL); let { window, $, $all, EVENTS, SnapshotsListView, CallsListView } = panel.panelWin; diff --git a/devtools/client/debugger/new/panel.js b/devtools/client/debugger/new/panel.js index 8e288929e5cd..19145d503301 100644 --- a/devtools/client/debugger/new/panel.js +++ b/devtools/client/debugger/new/panel.js @@ -22,6 +22,7 @@ DebuggerPanel.prototype = { threadClient: this.toolbox.threadClient, tabTarget: this.toolbox.target }); + this.isReady = true; return this; }); }, diff --git a/devtools/client/debugger/test/mochitest/head.js b/devtools/client/debugger/test/mochitest/head.js index 85f1f5170f93..b7271007df74 100644 --- a/devtools/client/debugger/test/mochitest/head.js +++ b/devtools/client/debugger/test/mochitest/head.js @@ -31,7 +31,11 @@ const FRAME_SCRIPT_URL = getRootDirectory(gTestPath) + "code_frame-script.js"; const CHROME_URL = "chrome://mochitests/content/browser/devtools/client/debugger/test/mochitest/"; const CHROME_URI = Services.io.newURI(CHROME_URL, null, null); +Services.prefs.setBoolPref("devtools.debugger.new-debugger-frontend", false); + registerCleanupFunction(function* () { + Services.prefs.clearUserPref("devtools.debugger.new-debugger-frontend"); + info("finish() was called, cleaning up..."); Services.prefs.setBoolPref("devtools.debugger.log", gEnableLogging); diff --git a/devtools/client/framework/test/browser_source_map-01.js b/devtools/client/framework/test/browser_source_map-01.js index b9bf6eb566c4..af18086818ab 100644 --- a/devtools/client/framework/test/browser_source_map-01.js +++ b/devtools/client/framework/test/browser_source_map-01.js @@ -13,6 +13,12 @@ thisTestLeaksUncaughtRejectionsAndShouldBeFixed( * when tagging an already source mapped location initially. */ +// Force the old debugger UI since it's directly used (see Bug 1301705) +Services.prefs.setBoolPref("devtools.debugger.new-debugger-frontend", false); +registerCleanupFunction(function* () { + Services.prefs.clearUserPref("devtools.debugger.new-debugger-frontend"); +}); + const DEBUGGER_ROOT = "http://example.com/browser/devtools/client/debugger/test/mochitest/"; // Empty page const PAGE_URL = `${DEBUGGER_ROOT}doc_empty-tab-01.html`; diff --git a/devtools/client/framework/test/browser_source_map-02.js b/devtools/client/framework/test/browser_source_map-02.js index 247b91b1e670..f31ce01754bb 100644 --- a/devtools/client/framework/test/browser_source_map-02.js +++ b/devtools/client/framework/test/browser_source_map-02.js @@ -7,6 +7,12 @@ * and un pretty printing. */ +// Force the old debugger UI since it's directly used (see Bug 1301705) +Services.prefs.setBoolPref("devtools.debugger.new-debugger-frontend", false); +registerCleanupFunction(function* () { + Services.prefs.clearUserPref("devtools.debugger.new-debugger-frontend"); +}); + const DEBUGGER_ROOT = "http://example.com/browser/devtools/client/debugger/test/mochitest/"; // Empty page const PAGE_URL = `${DEBUGGER_ROOT}doc_empty-tab-01.html`; diff --git a/devtools/client/framework/test/browser_toolbox_split_console.js b/devtools/client/framework/test/browser_toolbox_split_console.js index 444190ac7945..02d934b89591 100644 --- a/devtools/client/framework/test/browser_toolbox_split_console.js +++ b/devtools/client/framework/test/browser_toolbox_split_console.js @@ -13,6 +13,12 @@ let panelWin = null; const URL = "data:text/html;charset=utf8,test split console key delegation"; const XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; +// Force the old debugger UI since it's directly used (see Bug 1301705) +Services.prefs.setBoolPref("devtools.debugger.new-debugger-frontend", false); +registerCleanupFunction(function* () { + Services.prefs.clearUserPref("devtools.debugger.new-debugger-frontend"); +}); + add_task(function* () { let tab = yield addTab(URL); let target = TargetFactory.forTab(tab); diff --git a/devtools/client/framework/test/browser_toolbox_view_source_01.js b/devtools/client/framework/test/browser_toolbox_view_source_01.js index 32e38aed117b..5a9a6d9b0eef 100644 --- a/devtools/client/framework/test/browser_toolbox_view_source_01.js +++ b/devtools/client/framework/test/browser_toolbox_view_source_01.js @@ -11,6 +11,12 @@ var URL = `${URL_ROOT}doc_viewsource.html`; var JS_URL = `${URL_ROOT}code_math.js`; +// Force the old debugger UI since it's directly used (see Bug 1301705) +Services.prefs.setBoolPref("devtools.debugger.new-debugger-frontend", false); +registerCleanupFunction(function* () { + Services.prefs.clearUserPref("devtools.debugger.new-debugger-frontend"); +}); + function* viewSource() { let toolbox = yield openNewTabAndToolbox(URL); diff --git a/devtools/client/framework/test/browser_toolbox_view_source_02.js b/devtools/client/framework/test/browser_toolbox_view_source_02.js index f0d097b85129..c18e885cf285 100644 --- a/devtools/client/framework/test/browser_toolbox_view_source_02.js +++ b/devtools/client/framework/test/browser_toolbox_view_source_02.js @@ -10,6 +10,12 @@ var URL = `${URL_ROOT}doc_viewsource.html`; var JS_URL = `${URL_ROOT}code_math.js`; +// Force the old debugger UI since it's directly used (see Bug 1301705) +Services.prefs.setBoolPref("devtools.debugger.new-debugger-frontend", false); +registerCleanupFunction(function* () { + Services.prefs.clearUserPref("devtools.debugger.new-debugger-frontend"); +}); + function* viewSource() { let toolbox = yield openNewTabAndToolbox(URL); let { panelWin: debuggerWin } = yield toolbox.selectTool("jsdebugger"); diff --git a/devtools/client/preferences/devtools.js b/devtools/client/preferences/devtools.js index 822b7f256764..dde33da7db51 100644 --- a/devtools/client/preferences/devtools.js +++ b/devtools/client/preferences/devtools.js @@ -92,7 +92,12 @@ pref("devtools.debugger.auto-pretty-print", false); pref("devtools.debugger.auto-black-box", true); pref("devtools.debugger.workers", false); pref("devtools.debugger.promise", false); + +#if defined(NIGHTLY_BUILD) +pref("devtools.debugger.new-debugger-frontend", true); +#else pref("devtools.debugger.new-debugger-frontend", false); +#endif // The default Debugger UI settings pref("devtools.debugger.ui.panes-workers-and-sources-width", 200); diff --git a/devtools/client/webconsole/test/browser_console_optimized_out_vars.js b/devtools/client/webconsole/test/browser_console_optimized_out_vars.js index 18deb16d6bb9..dc898eb2b828 100644 --- a/devtools/client/webconsole/test/browser_console_optimized_out_vars.js +++ b/devtools/client/webconsole/test/browser_console_optimized_out_vars.js @@ -8,6 +8,12 @@ "use strict"; +// Force the old debugger UI since it's directly used (see Bug 1301705) +Services.prefs.setBoolPref("devtools.debugger.new-debugger-frontend", false); +registerCleanupFunction(function* () { + Services.prefs.clearUserPref("devtools.debugger.new-debugger-frontend"); +}); + function test() { Task.spawn(function* () { const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" + diff --git a/devtools/client/webconsole/test/browser_console_variables_view_while_debugging.js b/devtools/client/webconsole/test/browser_console_variables_view_while_debugging.js index 08f97e6fba45..e83a8d626671 100644 --- a/devtools/client/webconsole/test/browser_console_variables_view_while_debugging.js +++ b/devtools/client/webconsole/test/browser_console_variables_view_while_debugging.js @@ -12,18 +12,26 @@ const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" + "test/test-eval-in-stackframe.html"; +// Force the old debugger UI since it's directly used (see Bug 1301705) +Services.prefs.setBoolPref("devtools.debugger.new-debugger-frontend", false); +registerCleanupFunction(function* () { + Services.prefs.clearUserPref("devtools.debugger.new-debugger-frontend"); +}); + add_task(function* () { yield loadTab(TEST_URI); let hud = yield openConsole(); let dbgPanel = yield openDebugger(); - yield waitForFrameAdded(dbgPanel); + yield waitForFrameAdded(); yield openConsole(); yield testVariablesView(hud); }); -function* waitForFrameAdded(dbgPanel) { - let thread = dbgPanel.panelWin.DebuggerController.activeThread; +function* waitForFrameAdded() { + let target = TargetFactory.forTab(gBrowser.selectedTab); + let toolbox = gDevTools.getToolbox(target); + let thread = toolbox.threadClient; info("Waiting for framesadded"); yield new Promise(resolve => { diff --git a/devtools/client/webconsole/test/browser_console_variables_view_while_debugging_and_inspecting.js b/devtools/client/webconsole/test/browser_console_variables_view_while_debugging_and_inspecting.js index 2eb62423d839..556e7275d7ee 100644 --- a/devtools/client/webconsole/test/browser_console_variables_view_while_debugging_and_inspecting.js +++ b/devtools/client/webconsole/test/browser_console_variables_view_while_debugging_and_inspecting.js @@ -11,20 +11,28 @@ const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" + "test/test-eval-in-stackframe.html"; +// Force the old debugger UI since it's directly used (see Bug 1301705) +Services.prefs.setBoolPref("devtools.debugger.new-debugger-frontend", false); +registerCleanupFunction(function* () { + Services.prefs.clearUserPref("devtools.debugger.new-debugger-frontend"); +}); + add_task(function* () { yield loadTab(TEST_URI); let hud = yield openConsole(); let dbgPanel = yield openDebugger(); yield openInspector(); - yield waitForFrameAdded(dbgPanel); + yield waitForFrameAdded(); yield openConsole(); yield testVariablesView(hud); }); -function* waitForFrameAdded(dbgPanel) { - let thread = dbgPanel.panelWin.DebuggerController.activeThread; +function* waitForFrameAdded() { + let target = TargetFactory.forTab(gBrowser.selectedTab); + let toolbox = gDevTools.getToolbox(target); + let thread = toolbox.threadClient; info("Waiting for framesadded"); yield new Promise(resolve => { diff --git a/devtools/client/webconsole/test/browser_eval_in_debugger_stackframe.js b/devtools/client/webconsole/test/browser_eval_in_debugger_stackframe.js index c73e43a89cc9..0d3c1591d798 100644 --- a/devtools/client/webconsole/test/browser_eval_in_debugger_stackframe.js +++ b/devtools/client/webconsole/test/browser_eval_in_debugger_stackframe.js @@ -14,6 +14,12 @@ const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" + var gWebConsole, gJSTerm, gDebuggerWin, gThread, gDebuggerController; var gStackframes; +// Force the old debugger UI since it's directly used (see Bug 1301705) +Services.prefs.setBoolPref("devtools.debugger.new-debugger-frontend", false); +registerCleanupFunction(function* () { + Services.prefs.clearUserPref("devtools.debugger.new-debugger-frontend"); +}); + function test() { loadTab(TEST_URI).then(() => { openConsole().then(consoleOpened); diff --git a/devtools/client/webconsole/test/browser_eval_in_debugger_stackframe2.js b/devtools/client/webconsole/test/browser_eval_in_debugger_stackframe2.js index df4b2ac60b28..bc116d443cf7 100644 --- a/devtools/client/webconsole/test/browser_eval_in_debugger_stackframe2.js +++ b/devtools/client/webconsole/test/browser_eval_in_debugger_stackframe2.js @@ -11,6 +11,13 @@ const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" + "test/test-eval-in-stackframe.html"; + +// Force the old debugger UI since it's directly used (see Bug 1301705) +Services.prefs.setBoolPref("devtools.debugger.new-debugger-frontend", false); +registerCleanupFunction(function* () { + Services.prefs.clearUserPref("devtools.debugger.new-debugger-frontend"); +}); + add_task(function* () { yield loadTab(TEST_URI); diff --git a/devtools/client/webconsole/test/browser_webconsole_autocomplete_in_debugger_stackframe.js b/devtools/client/webconsole/test/browser_webconsole_autocomplete_in_debugger_stackframe.js index 0d384edb6d0b..60ba5ff0ebba 100644 --- a/devtools/client/webconsole/test/browser_webconsole_autocomplete_in_debugger_stackframe.js +++ b/devtools/client/webconsole/test/browser_webconsole_autocomplete_in_debugger_stackframe.js @@ -11,6 +11,12 @@ const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" + "test/test-autocomplete-in-stackframe.html"; +// Force the old debugger UI since it's directly used (see Bug 1301705) +Services.prefs.setBoolPref("devtools.debugger.new-debugger-frontend", false); +registerCleanupFunction(function* () { + Services.prefs.clearUserPref("devtools.debugger.new-debugger-frontend"); +}); + var gStackframes; registerCleanupFunction(function () { gStackframes = null; diff --git a/devtools/client/webconsole/test/browser_webconsole_bug_1050691_click_function_to_source.js b/devtools/client/webconsole/test/browser_webconsole_bug_1050691_click_function_to_source.js index 2c68f1f15ce2..9b220b4a24fa 100644 --- a/devtools/client/webconsole/test/browser_webconsole_bug_1050691_click_function_to_source.js +++ b/devtools/client/webconsole/test/browser_webconsole_bug_1050691_click_function_to_source.js @@ -10,6 +10,12 @@ const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" + "test/test-bug_1050691_click_function_to_source.html"; +// Force the old debugger UI since it's directly used (see Bug 1301705) +Services.prefs.setBoolPref("devtools.debugger.new-debugger-frontend", false); +registerCleanupFunction(function* () { + Services.prefs.clearUserPref("devtools.debugger.new-debugger-frontend"); +}); + add_task(function* () { yield loadTab(TEST_URI); let hud = yield openConsole(); diff --git a/devtools/client/webconsole/test/browser_webconsole_bug_766001_JS_Console_in_Debugger.js b/devtools/client/webconsole/test/browser_webconsole_bug_766001_JS_Console_in_Debugger.js index 47bc19f2bbe2..163a5b889254 100644 --- a/devtools/client/webconsole/test/browser_webconsole_bug_766001_JS_Console_in_Debugger.js +++ b/devtools/client/webconsole/test/browser_webconsole_bug_766001_JS_Console_in_Debugger.js @@ -11,6 +11,12 @@ const TEST_URI = "http://example.com/browser/devtools/client/webconsole/test" + "/test-bug-766001-js-console-links.html"; +// Force the old debugger UI since it's directly used (see Bug 1301705) +Services.prefs.setBoolPref("devtools.debugger.new-debugger-frontend", false); +registerCleanupFunction(function* () { + Services.prefs.clearUserPref("devtools.debugger.new-debugger-frontend"); +}); + function test() { let hud; diff --git a/devtools/client/webconsole/test/browser_webconsole_closure_inspection.js b/devtools/client/webconsole/test/browser_webconsole_closure_inspection.js index 83a21cccdae2..007b1d3184dd 100644 --- a/devtools/client/webconsole/test/browser_webconsole_closure_inspection.js +++ b/devtools/client/webconsole/test/browser_webconsole_closure_inspection.js @@ -13,6 +13,12 @@ const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" + var gWebConsole, gJSTerm, gVariablesView; +// Force the old debugger UI since it's directly used (see Bug 1301705) +Services.prefs.setBoolPref("devtools.debugger.new-debugger-frontend", false); +registerCleanupFunction(function* () { + Services.prefs.clearUserPref("devtools.debugger.new-debugger-frontend"); +}); + function test() { registerCleanupFunction(() => { gWebConsole = gJSTerm = gVariablesView = null; diff --git a/devtools/client/webconsole/test/browser_webconsole_input_field_focus_on_panel_select.js b/devtools/client/webconsole/test/browser_webconsole_input_field_focus_on_panel_select.js index 91780fb3a742..2d7fda7f5ff5 100644 --- a/devtools/client/webconsole/test/browser_webconsole_input_field_focus_on_panel_select.js +++ b/devtools/client/webconsole/test/browser_webconsole_input_field_focus_on_panel_select.js @@ -26,7 +26,7 @@ add_task(function* () { is(hud.jsterm.inputNode.hasAttribute("focused"), false, "inputNode shouldn't be focused"); - yield openDebugger(); + yield openInspector(); hud = yield openConsole(); is(hud.jsterm.inputNode.hasAttribute("focused"), true, diff --git a/devtools/client/webconsole/test/browser_webconsole_view_source.js b/devtools/client/webconsole/test/browser_webconsole_view_source.js index e0865cebdd26..b59b76162e32 100644 --- a/devtools/client/webconsole/test/browser_webconsole_view_source.js +++ b/devtools/client/webconsole/test/browser_webconsole_view_source.js @@ -13,6 +13,12 @@ const TEST_URI = "https://example.com/browser/devtools/client/webconsole/" + "test/test-mixedcontent-securityerrors.html"; +// Force the old debugger UI since it's directly used (see Bug 1301705) +Services.prefs.setBoolPref("devtools.debugger.new-debugger-frontend", false); +registerCleanupFunction(function* () { + Services.prefs.clearUserPref("devtools.debugger.new-debugger-frontend"); +}); + add_task(function* () { yield loadTab(TEST_URI); let hud = yield openConsole(null);