Backed out 2 changesets (bug 1465491) for turning bug 1270731 into permafail. CLOSED TREE
authorCosmin Sabou <csabou@mozilla.com>
Mon, 30 Jul 2018 23:57:02 +0300
changeset 429292 6436144d9173d6a72128bd90b5e4efbe748b8204
parent 429291 0bde8c96f409d01b9f054b55d9c4eb2f95bb3099
child 429293 9035ff3757acd19ae5aece396bc2cc5ee61a58ce
push id34359
push usershindli@mozilla.com
push dateTue, 31 Jul 2018 09:53:19 +0000
treeherdermozilla-central@5a49a2ff0ee0 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1465491, 1270731
milestone63.0a1
backs out32c5b19c77c93c9941214f533ae41c556b6ec8e4
2073834a70d6bd2ff07812679430dd150d59e356
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out 2 changesets (bug 1465491) for turning bug 1270731 into permafail. CLOSED TREE Backed out changeset 32c5b19c77c9 (bug 1465491) Backed out changeset 2073834a70d6 (bug 1465491)
devtools/client/debugger/new/test/mochitest/browser.ini
devtools/client/debugger/new/test/mochitest/browser_dbg_rr_breakpoints-01.js
devtools/client/debugger/new/test/mochitest/browser_dbg_rr_breakpoints-02.js
devtools/client/debugger/new/test/mochitest/browser_dbg_rr_breakpoints-03.js
devtools/client/debugger/new/test/mochitest/browser_dbg_rr_breakpoints-04.js
devtools/client/debugger/new/test/mochitest/browser_dbg_rr_breakpoints-05.js
devtools/client/debugger/new/test/mochitest/browser_dbg_rr_record.js
devtools/client/debugger/new/test/mochitest/browser_dbg_rr_recovery-01.js
devtools/client/debugger/new/test/mochitest/browser_dbg_rr_replay-01.js
devtools/client/debugger/new/test/mochitest/browser_dbg_rr_replay-02.js
devtools/client/debugger/new/test/mochitest/browser_dbg_rr_replay-03.js
devtools/client/debugger/new/test/mochitest/browser_dbg_rr_stepping-01.js
devtools/client/debugger/new/test/mochitest/browser_dbg_rr_stepping-02.js
devtools/client/debugger/new/test/mochitest/browser_dbg_rr_stepping-03.js
devtools/client/debugger/new/test/mochitest/browser_dbg_rr_stepping-04.js
devtools/client/debugger/new/test/mochitest/examples/doc_rr_basic.html
devtools/client/debugger/new/test/mochitest/examples/doc_rr_continuous.html
devtools/client/debugger/new/test/mochitest/examples/doc_rr_recovery.html
devtools/client/debugger/new/test/mochitest/head.js
devtools/client/shared/test/shared-head.js
--- a/devtools/client/debugger/new/test/mochitest/browser.ini
+++ b/devtools/client/debugger/new/test/mochitest/browser.ini
@@ -295,19 +295,16 @@ support-files =
   examples/simple2.js
   examples/simple3.js
   examples/frames.js
   examples/pause-points.js
   examples/script-mutate.js
   examples/script-switching-02.js
   examples/script-switching-01.js
   examples/times2.js
-  examples/doc_rr_basic.html
-  examples/doc_rr_continuous.html
-  examples/doc_rr_recovery.html
 
 [browser_dbg-asm.js]
 [browser_dbg-async-stepping.js]
 [browser_dbg-sourcemapped-breakpoint-console.js]
 skip-if = (os == "win" && ccov) # Bug 1453549
 [browser_dbg-sourcemapped-scopes.js]
 skip-if = ccov || (verify && debug && (os == 'linux')) # Bug 1441545
 [browser_dbg-sourcemapped-stepping.js]
@@ -386,36 +383,8 @@ skip-if = os == 'linux' && !asan # bug 1
 [browser_dbg-sources-named-eval.js]
 [browser_dbg-stepping.js]
 skip-if = debug || (verify && (os == 'win')) || (os == "win" && os_version == "6.1")
 [browser_dbg-tabs.js]
 [browser_dbg-tabs-pretty-print.js]
 [browser_dbg-toggling-tools.js]
 [browser_dbg-wasm-sourcemaps.js]
 skip-if = true
-[browser_dbg_rr_record.js]
-skip-if = os != "mac" || debug
-[browser_dbg_rr_breakpoints-01.js]
-skip-if = os != "mac" || debug
-[browser_dbg_rr_breakpoints-02.js]
-skip-if = os != "mac" || debug
-[browser_dbg_rr_breakpoints-03.js]
-skip-if = os != "mac" || debug
-[browser_dbg_rr_breakpoints-04.js]
-skip-if = os != "mac" || debug
-[browser_dbg_rr_breakpoints-05.js]
-skip-if = os != "mac" || debug
-[browser_dbg_rr_stepping-01.js]
-skip-if = os != "mac" || debug
-[browser_dbg_rr_stepping-02.js]
-skip-if = os != "mac" || debug
-[browser_dbg_rr_stepping-03.js]
-skip-if = os != "mac" || debug
-[browser_dbg_rr_stepping-04.js]
-skip-if = os != "mac" || debug
-[browser_dbg_rr_recovery-01.js]
-skip-if = os != "mac" || debug
-[browser_dbg_rr_replay-01.js]
-skip-if = os != "mac" || debug
-[browser_dbg_rr_replay-02.js]
-skip-if = os != "mac" || debug
-[browser_dbg_rr_replay-03.js]
-skip-if = os != "mac" || debug
deleted file mode 100644
--- a/devtools/client/debugger/new/test/mochitest/browser_dbg_rr_breakpoints-01.js
+++ /dev/null
@@ -1,43 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-// Test basic breakpoint functionality in web replay.
-async function test() {
-  waitForExplicitFinish();
-
-  let tab = gBrowser.addTab(null, { recordExecution: "*" });
-  gBrowser.selectedTab = tab;
-  openTrustedLinkIn(EXAMPLE_URL + "doc_rr_basic.html", "current");
-  await once(Services.ppmm, "RecordingFinished");
-
-  let toolbox = await attachDebugger(tab), client = toolbox.threadClient;
-  await client.interrupt();
-  await setBreakpoint(client, "doc_rr_basic.html", 21);
-
-  // Visit a lot of breakpoints so that we are sure we have crossed major
-  // checkpoint boundaries.
-  await rewindToLine(client, 21);
-  await checkEvaluateInTopFrame(client, "number", 10);
-  await rewindToLine(client, 21);
-  await checkEvaluateInTopFrame(client, "number", 9);
-  await rewindToLine(client, 21);
-  await checkEvaluateInTopFrame(client, "number", 8);
-  await rewindToLine(client, 21);
-  await checkEvaluateInTopFrame(client, "number", 7);
-  await rewindToLine(client, 21);
-  await checkEvaluateInTopFrame(client, "number", 6);
-  await resumeToLine(client, 21);
-  await checkEvaluateInTopFrame(client, "number", 7);
-  await resumeToLine(client, 21);
-  await checkEvaluateInTopFrame(client, "number", 8);
-  await resumeToLine(client, 21);
-  await checkEvaluateInTopFrame(client, "number", 9);
-  await resumeToLine(client, 21);
-  await checkEvaluateInTopFrame(client, "number", 10);
-
-  await toolbox.destroy();
-  await gBrowser.removeTab(tab);
-  finish();
-}
deleted file mode 100644
--- a/devtools/client/debugger/new/test/mochitest/browser_dbg_rr_breakpoints-02.js
+++ /dev/null
@@ -1,29 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-// Test unhandled divergence while evaluating at a breakpoint with Web Replay.
-async function test() {
-  waitForExplicitFinish();
-
-  let tab = gBrowser.addTab(null, { recordExecution: "*" });
-  gBrowser.selectedTab = tab;
-  openTrustedLinkIn(EXAMPLE_URL + "doc_rr_basic.html", "current");
-  await once(Services.ppmm, "RecordingFinished");
-
-  let toolbox = await attachDebugger(tab), client = toolbox.threadClient;
-  await client.interrupt();
-  await setBreakpoint(client, "doc_rr_basic.html", 21);
-  await rewindToLine(client, 21);
-  await checkEvaluateInTopFrame(client, "number", 10);
-  await checkEvaluateInTopFrameThrows(client, "window.alert(3)");
-  await checkEvaluateInTopFrame(client, "number", 10);
-  await checkEvaluateInTopFrameThrows(client, "window.alert(3)");
-  await checkEvaluateInTopFrame(client, "number", 10);
-  await checkEvaluateInTopFrame(client, "testStepping2()", undefined);
-
-  await toolbox.destroy();
-  await gBrowser.removeTab(tab);
-  finish();
-}
deleted file mode 100644
--- a/devtools/client/debugger/new/test/mochitest/browser_dbg_rr_breakpoints-03.js
+++ /dev/null
@@ -1,29 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-// Test some issues when stepping around after hitting a breakpoint while recording.
-async function test() {
-  waitForExplicitFinish();
-
-  let tab = gBrowser.addTab(null, { recordExecution: "*" });
-  gBrowser.selectedTab = tab;
-  openTrustedLinkIn(EXAMPLE_URL + "doc_rr_continuous.html", "current");
-
-  let toolbox = await attachDebugger(tab), client = toolbox.threadClient;
-  await client.interrupt();
-  await setBreakpoint(client, "doc_rr_continuous.html", 19);
-  await resumeToLine(client, 19);
-  await reverseStepOverToLine(client, 18);
-  await checkEvaluateInTopFrame(client, "SpecialPowers.Cu.recordReplayDirective(/* AlwaysTakeTemporarySnapshots */ 3)", undefined);
-  await stepInToLine(client, 22);
-  await setBreakpoint(client, "doc_rr_continuous.html", 24);
-  await resumeToLine(client, 24);
-  await setBreakpoint(client, "doc_rr_continuous.html", 22);
-  await rewindToLine(client, 22);
-
-  await toolbox.destroy();
-  await gBrowser.removeTab(tab);
-  finish();
-}
deleted file mode 100644
--- a/devtools/client/debugger/new/test/mochitest/browser_dbg_rr_breakpoints-04.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-// Test navigating back to earlier breakpoints while recording, then resuming
-// recording.
-async function test() {
-  waitForExplicitFinish();
-
-  let tab = gBrowser.addTab(null, { recordExecution: "*" });
-  gBrowser.selectedTab = tab;
-  openTrustedLinkIn(EXAMPLE_URL + "doc_rr_continuous.html", "current");
-
-  let toolbox = await attachDebugger(tab), client = toolbox.threadClient;
-  await client.interrupt();
-  await setBreakpoint(client, "doc_rr_continuous.html", 14);
-  await resumeToLine(client, 14);
-  let value = await evaluateInTopFrame(client, "number");
-  await resumeToLine(client, 14);
-  await checkEvaluateInTopFrame(client, "number", value + 1);
-  await rewindToLine(client, 14);
-  await checkEvaluateInTopFrame(client, "number", value);
-  await resumeToLine(client, 14);
-  await checkEvaluateInTopFrame(client, "number", value + 1);
-  await resumeToLine(client, 14);
-  await checkEvaluateInTopFrame(client, "number", value + 2);
-  await resumeToLine(client, 14);
-  await checkEvaluateInTopFrame(client, "number", value + 3);
-  await rewindToLine(client, 14);
-  await checkEvaluateInTopFrame(client, "number", value + 2);
-
-  await toolbox.destroy();
-  await gBrowser.removeTab(tab);
-  finish();
-}
deleted file mode 100644
--- a/devtools/client/debugger/new/test/mochitest/browser_dbg_rr_breakpoints-05.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-// Test hitting breakpoints when rewinding past the point where the breakpoint
-// script was created.
-async function test() {
-  waitForExplicitFinish();
-
-  let tab = gBrowser.addTab(null, { recordExecution: "*" });
-  gBrowser.selectedTab = tab;
-  openTrustedLinkIn(EXAMPLE_URL + "doc_rr_basic.html", "current");
-  await once(Services.ppmm, "RecordingFinished");
-
-  let toolbox = await attachDebugger(tab), client = toolbox.threadClient;
-  await client.interrupt();
-  client.rewind();
-  await once(Services.ppmm, "HitRecordingBeginning");
-
-  await setBreakpoint(client, "doc_rr_basic.html", 21);
-  await resumeToLine(client, 21);
-  await checkEvaluateInTopFrame(client, "number", 1);
-  await resumeToLine(client, 21);
-  await checkEvaluateInTopFrame(client, "number", 2);
-
-  await toolbox.destroy();
-  await gBrowser.removeTab(tab);
-  finish();
-}
deleted file mode 100644
--- a/devtools/client/debugger/new/test/mochitest/browser_dbg_rr_record.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-// Test basic recording of a tab without any debugging.
-async function test() {
-  waitForExplicitFinish();
-
-  var recordingTab = gBrowser.addTab(null, { recordExecution: "*" });
-  gBrowser.selectedTab = recordingTab;
-  openTrustedLinkIn(EXAMPLE_URL + "doc_rr_basic.html", "current");
-  await once(Services.ppmm, "RecordingFinished");
-
-  await gBrowser.removeTab(recordingTab);
-
-  ok(true, "Finished");
-  finish();
-}
deleted file mode 100644
--- a/devtools/client/debugger/new/test/mochitest/browser_dbg_rr_recovery-01.js
+++ /dev/null
@@ -1,28 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-// Test basic recovery of crashed child processes in web replay.
-async function test() {
-  waitForExplicitFinish();
-
-  let tab = gBrowser.addTab(null, { recordExecution: "*" });
-  gBrowser.selectedTab = tab;
-  openTrustedLinkIn(EXAMPLE_URL + "doc_rr_recovery.html", "current");
-  await once(Services.ppmm, "RecordingFinished");
-
-  let toolbox = await attachDebugger(tab), client = toolbox.threadClient;
-  await client.interrupt();
-  await setBreakpoint(client, "doc_rr_recovery.html", 21);
-  await rewindToLine(client, 21);
-  await checkEvaluateInTopFrame(client, "SpecialPowers.Cu.recordReplayDirective(/* CrashSoon */ 1)", undefined);
-  await stepOverToLine(client, 22);
-  await stepOverToLine(client, 23);
-  await checkEvaluateInTopFrame(client, "SpecialPowers.Cu.recordReplayDirective(/* CrashSoon */ 1); " +
-                                        "SpecialPowers.Cu.recordReplayDirective(/* MaybeCrash */ 2)", undefined);
-
-  await toolbox.destroy();
-  await gBrowser.removeTab(tab);
-  finish();
-}
deleted file mode 100644
--- a/devtools/client/debugger/new/test/mochitest/browser_dbg_rr_replay-01.js
+++ /dev/null
@@ -1,39 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-// Basic test for saving a recording and then replaying it in a new tab.
-async function test() {
-  waitForExplicitFinish();
-
-  let recordingFile = newRecordingFile();
-  let recordingTab = gBrowser.addTab(null, { recordExecution: "*" });
-  gBrowser.selectedTab = recordingTab;
-  openTrustedLinkIn(EXAMPLE_URL + "doc_rr_basic.html", "current");
-  await once(Services.ppmm, "RecordingFinished");
-
-  let tabParent = recordingTab.linkedBrowser.frameLoader.tabParent;
-  ok(tabParent, "Found recording tab parent");
-  ok(tabParent.saveRecording(recordingFile), "Saved recording");
-  await once(Services.ppmm, "SaveRecordingFinished");
-
-  let replayingTab = gBrowser.addTab(null, { replayExecution: recordingFile });
-  gBrowser.selectedTab = replayingTab;
-  await once(Services.ppmm, "HitRecordingEndpoint");
-
-  let toolbox = await attachDebugger(replayingTab), client = toolbox.threadClient;
-  await client.interrupt();
-  await setBreakpoint(client, "doc_rr_basic.html", 21);
-  await rewindToLine(client, 21);
-  await checkEvaluateInTopFrame(client, "number", 10);
-  await rewindToLine(client, 21);
-  await checkEvaluateInTopFrame(client, "number", 9);
-  await resumeToLine(client, 21);
-  await checkEvaluateInTopFrame(client, "number", 10);
-
-  await toolbox.destroy();
-  await gBrowser.removeTab(recordingTab);
-  await gBrowser.removeTab(replayingTab);
-  finish();
-}
deleted file mode 100644
--- a/devtools/client/debugger/new/test/mochitest/browser_dbg_rr_replay-02.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-// Test ending a recording at a breakpoint and then separately replaying to the end.
-async function test() {
-  waitForExplicitFinish();
-
-  let recordingFile = newRecordingFile();
-  let recordingTab = gBrowser.addTab(null, { recordExecution: "*" });
-  gBrowser.selectedTab = recordingTab;
-  openTrustedLinkIn(EXAMPLE_URL + "doc_rr_continuous.html", "current");
-
-  let toolbox = await attachDebugger(recordingTab), client = toolbox.threadClient;
-  await client.interrupt();
-  await setBreakpoint(client, "doc_rr_continuous.html", 14);
-  await resumeToLine(client, 14);
-  await resumeToLine(client, 14);
-  await reverseStepOverToLine(client, 13);
-  let lastNumberValue = await evaluateInTopFrame(client, "number");
-
-  let tabParent = recordingTab.linkedBrowser.frameLoader.tabParent;
-  ok(tabParent, "Found recording tab parent");
-  ok(tabParent.saveRecording(recordingFile), "Saved recording");
-  await once(Services.ppmm, "SaveRecordingFinished");
-
-  await toolbox.destroy();
-  await gBrowser.removeTab(recordingTab);
-
-  let replayingTab = gBrowser.addTab(null, { replayExecution: recordingFile });
-  gBrowser.selectedTab = replayingTab;
-  await once(Services.ppmm, "HitRecordingEndpoint");
-
-  toolbox = await attachDebugger(replayingTab);
-  client = toolbox.threadClient;
-  await client.interrupt();
-  await checkEvaluateInTopFrame(client, "number", lastNumberValue);
-  await reverseStepOverToLine(client, 13);
-  await setBreakpoint(client, "doc_rr_continuous.html", 14);
-  await rewindToLine(client, 14);
-  await checkEvaluateInTopFrame(client, "number", lastNumberValue - 1);
-  await resumeToLine(client, 14);
-  await checkEvaluateInTopFrame(client, "number", lastNumberValue);
-
-  await toolbox.destroy();
-  await gBrowser.removeTab(replayingTab);
-  finish();
-}
deleted file mode 100644
--- a/devtools/client/debugger/new/test/mochitest/browser_dbg_rr_replay-03.js
+++ /dev/null
@@ -1,32 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-// Test for saving a recording and then replaying it in a new tab, with rewinding disabled.
-async function test() {
-  waitForExplicitFinish();
-
-  await pushPref("devtools.recordreplay.enableRewinding", false);
-
-  let recordingFile = newRecordingFile();
-  let recordingTab = gBrowser.addTab(null, { recordExecution: "*" });
-  gBrowser.selectedTab = recordingTab;
-  openTrustedLinkIn(EXAMPLE_URL + "doc_rr_basic.html", "current");
-  await once(Services.ppmm, "RecordingFinished");
-
-  let tabParent = recordingTab.linkedBrowser.frameLoader.tabParent;
-  ok(tabParent, "Found recording tab parent");
-  ok(tabParent.saveRecording(recordingFile), "Saved recording");
-  await once(Services.ppmm, "SaveRecordingFinished");
-
-  let replayingTab = gBrowser.addTab(null, { replayExecution: recordingFile });
-  gBrowser.selectedTab = replayingTab;
-  await once(Services.ppmm, "HitRecordingEndpoint");
-
-  ok(true, "Replayed to end of recording");
-
-  await gBrowser.removeTab(recordingTab);
-  await gBrowser.removeTab(replayingTab);
-  finish();
-}
deleted file mode 100644
--- a/devtools/client/debugger/new/test/mochitest/browser_dbg_rr_stepping-01.js
+++ /dev/null
@@ -1,29 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-// Test basic step-over/back functionality in web replay.
-async function test() {
-  waitForExplicitFinish();
-
-  let tab = gBrowser.addTab(null, { recordExecution: "*" });
-  gBrowser.selectedTab = tab;
-  openTrustedLinkIn(EXAMPLE_URL + "doc_rr_basic.html", "current");
-  await once(Services.ppmm, "RecordingFinished");
-
-  let toolbox = await attachDebugger(tab), client = toolbox.threadClient;
-  await client.interrupt();
-  await setBreakpoint(client, "doc_rr_basic.html", 21);
-  await rewindToLine(client, 21);
-  await checkEvaluateInTopFrame(client, "number", 10);
-  await reverseStepOverToLine(client, 20);
-  await checkEvaluateInTopFrame(client, "number", 9);
-  await checkEvaluateInTopFrameThrows(client, "window.alert(3)");
-  await stepOverToLine(client, 21);
-  await checkEvaluateInTopFrame(client, "number", 10);
-
-  await toolbox.destroy();
-  await gBrowser.removeTab(tab);
-  finish();
-}
deleted file mode 100644
--- a/devtools/client/debugger/new/test/mochitest/browser_dbg_rr_stepping-02.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-// Test fixes for some simple stepping bugs.
-async function test() {
-  waitForExplicitFinish();
-
-  let tab = gBrowser.addTab(null, { recordExecution: "*" });
-  gBrowser.selectedTab = tab;
-  openTrustedLinkIn(EXAMPLE_URL + "doc_rr_basic.html", "current");
-  await once(Services.ppmm, "RecordingFinished");
-
-  let toolbox = await attachDebugger(tab), client = toolbox.threadClient;
-  await client.interrupt();
-  await setBreakpoint(client, "doc_rr_basic.html", 22);
-  await rewindToLine(client, 22);
-  await stepInToLine(client, 25);
-  await stepOverToLine(client, 26);
-  await stepOverToLine(client, 27);
-  await reverseStepInToLine(client, 33);
-  await reverseStepOverToLine(client, 32);
-  await reverseStepOutToLine(client, 26);
-  await reverseStepOverToLine(client, 25);
-
-  await toolbox.destroy();
-  await gBrowser.removeTab(tab);
-  finish();
-}
deleted file mode 100644
--- a/devtools/client/debugger/new/test/mochitest/browser_dbg_rr_stepping-03.js
+++ /dev/null
@@ -1,28 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-// Test stepping back while recording, then resuming recording.
-async function test() {
-  waitForExplicitFinish();
-
-  let tab = gBrowser.addTab(null, { recordExecution: "*" });
-  gBrowser.selectedTab = tab;
-  openTrustedLinkIn(EXAMPLE_URL + "doc_rr_continuous.html", "current");
-
-  let toolbox = await attachDebugger(tab), client = toolbox.threadClient;
-  await client.interrupt();
-  await setBreakpoint(client, "doc_rr_continuous.html", 13);
-  await resumeToLine(client, 13);
-  let value = await evaluateInTopFrame(client, "number");
-  await reverseStepOverToLine(client, 12);
-  await checkEvaluateInTopFrame(client, "number", value - 1);
-  await resumeToLine(client, 13);
-  await resumeToLine(client, 13);
-  await checkEvaluateInTopFrame(client, "number", value + 1);
-
-  await toolbox.destroy();
-  await gBrowser.removeTab(tab);
-  finish();
-}
deleted file mode 100644
--- a/devtools/client/debugger/new/test/mochitest/browser_dbg_rr_stepping-04.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-// Stepping past the beginning or end of a frame should act like a step-out.
-async function test() {
-  waitForExplicitFinish();
-
-  let tab = gBrowser.addTab(null, { recordExecution: "*" });
-  gBrowser.selectedTab = tab;
-  openTrustedLinkIn(EXAMPLE_URL + "doc_rr_basic.html", "current");
-  await once(Services.ppmm, "RecordingFinished");
-
-  let toolbox = await attachDebugger(tab), client = toolbox.threadClient;
-  await client.interrupt();
-  await setBreakpoint(client, "doc_rr_basic.html", 21);
-  await rewindToLine(client, 21);
-  await checkEvaluateInTopFrame(client, "number", 10);
-  await reverseStepOverToLine(client, 20);
-  await reverseStepOverToLine(client, 12);
-
-  // After reverse-stepping out of the topmost frame we should rewind to the
-  // last breakpoint hit.
-  await reverseStepOverToLine(client, 21);
-  await checkEvaluateInTopFrame(client, "number", 9);
-
-  await stepOverToLine(client, 22);
-  await stepOverToLine(client, 23);
-  // Line 13 seems like it should be the next stepping point, but the column
-  // numbers reported by the JS engine and required by the pause points do not
-  // match, and we don't stop here.
-  //await stepOverToLine(client, 13);
-  await stepOverToLine(client, 17);
-  await stepOverToLine(client, 18);
-
-  // After forward-stepping out of the topmost frame we should run forward to
-  // the next breakpoint hit.
-  await stepOverToLine(client, 21);
-  await checkEvaluateInTopFrame(client, "number", 10);
-
-  await toolbox.destroy();
-  await gBrowser.removeTab(tab);
-  finish();
-}
deleted file mode 100644
--- a/devtools/client/debugger/new/test/mochitest/examples/doc_rr_basic.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<html lang="en" dir="ltr">
-<body>
-<div id="maindiv">Hello World!</div>
-</body>
-<script>
-const cpmm = SpecialPowers.Services.cpmm;
-function recordingFinished() {
-  cpmm.sendAsyncMessage("RecordingFinished");
-}
-var number = 0;
-function f() {
-  updateNumber();
-  if (number >= 10) {
-    window.setTimeout(recordingFinished);
-    return;
-  }
-  window.setTimeout(f, 1);
-}
-function updateNumber() {
-  number++;
-  document.getElementById("maindiv").innerHTML = "Number: " + number;
-  testStepping();
-}
-function testStepping() {
-  var a = 0;
-  testStepping2();
-  return a;
-}
-function testStepping2() {
-  var c = this; // Note: using 'this' causes the script to have a prologue.
-  c++;
-  c--;
-}
-window.setTimeout(f, 1);
-// Simulate a longer recording by marking major checkpoints whenever possible.
-SpecialPowers.Cu.recordReplayDirective(/* AlwaysMarkMajorCheckpoints */ 4);
-</script>
-</html>
deleted file mode 100644
--- a/devtools/client/debugger/new/test/mochitest/examples/doc_rr_continuous.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<html lang="en" dir="ltr">
-<body>
-<div id="maindiv">Hello World!</div>
-</body>
-<script>
-var number = 0;
-function f() {
-  updateNumber();
-  window.setTimeout(f, 1);
-}
-function updateNumber() {
-  number++;
-  document.getElementById("maindiv").innerHTML = "Number: " + number;
-  testStepping();
-}
-function testStepping() {
-  var a = 0;
-  testStepping2();
-  return a;
-}
-function testStepping2() {
-  var c = 0;
-  c++;
-  c--;
-}
-window.setTimeout(f, 100);
-</script>
-</html>
deleted file mode 100644
--- a/devtools/client/debugger/new/test/mochitest/examples/doc_rr_recovery.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<html lang="en" dir="ltr">
-<body>
-<div id="maindiv">Hello World!</div>
-</body>
-<script>
-// this line intentionally left blank
-// this line intentionally left blank
-// this line intentionally left blank
-const cpmm = SpecialPowers.Services.cpmm;
-var number = 0;
-function f() {
-  updateNumber();
-  if (number >= 10) {
-    cpmm.sendAsyncMessage("RecordingFinished");
-    return;
-  }
-  window.setTimeout(f, 1);
-}
-function updateNumber() {
-  number++;
-  document.getElementById("maindiv").innerHTML = "Number: " + number;
-  SpecialPowers.Cu.recordReplayDirective(/* MaybeCrash */ 2);
-}
-window.setTimeout(f, 1);
-</script>
-</html>
--- a/devtools/client/debugger/new/test/mochitest/head.js
+++ b/devtools/client/debugger/new/test/mochitest/head.js
@@ -60,98 +60,8 @@ async function takeScreenshot(dbg) {
   );
   let context = canvas.getContext("2d");
   canvas.width = dbg.win.innerWidth;
   canvas.height = dbg.win.innerHeight;
   context.drawWindow(dbg.win, 0, 0, canvas.width, canvas.height, "white");
   await waitForTime(1000);
   dump(`[SCREENSHOT] ${canvas.toDataURL()}\n`);
 }
-
-// Attach a debugger to a tab, returning a promise that resolves with the
-// debugger's toolbox.
-async function attachDebugger(tab) {
-  let target = TargetFactory.forTab(tab);
-  let toolbox = await gDevTools.showToolbox(target, "jsdebugger");
-  ok(toolbox.threadClient.state == "resuming", "Thread is attached");
-  return toolbox;
-}
-
-// Return a promise that resolves when a breakpoint has been set.
-async function setBreakpoint(threadClient, expectedFile, lineno) {
-  let {sources} = await threadClient.getSources();
-  ok(sources.length == 1, "Got one source");
-  ok(RegExp(expectedFile).test(sources[0].url), "Source is " + expectedFile);
-  let sourceClient = threadClient.source(sources[0]);
-  await sourceClient.setBreakpoint({ line: lineno });
-}
-
-function resumeThenPauseAtLineFunctionFactory(method) {
-  return async function(threadClient, lineno) {
-    threadClient[method]();
-    await threadClient.addOneTimeListener("paused", function(event, packet) {
-      let frameLine = ("frame" in packet) ? packet.frame.where.line : undefined;
-      ok(frameLine == lineno, "Paused at line " + frameLine + " expected " + lineno);
-    });
-  };
-}
-
-// Define various methods that resume a thread in a specific way and ensure it
-// pauses at a specified line.
-var rewindToLine = resumeThenPauseAtLineFunctionFactory("rewind");
-var resumeToLine = resumeThenPauseAtLineFunctionFactory("resume");
-var reverseStepOverToLine = resumeThenPauseAtLineFunctionFactory("reverseStepOver");
-var stepOverToLine = resumeThenPauseAtLineFunctionFactory("stepOver");
-var reverseStepInToLine = resumeThenPauseAtLineFunctionFactory("reverseStepIn");
-var stepInToLine = resumeThenPauseAtLineFunctionFactory("stepIn");
-var reverseStepOutToLine = resumeThenPauseAtLineFunctionFactory("reverseStepOut");
-var stepOutToLine = resumeThenPauseAtLineFunctionFactory("stepOut");
-
-// Return a promise that resolves with the result of a thread evaluating a
-// string in the topmost frame.
-async function evaluateInTopFrame(threadClient, text) {
-  let {frames} = await threadClient.getFrames(0, 1);
-  ok(frames.length == 1, "Got one frame");
-  let response = await threadClient.eval(frames[0].actor, text);
-  ok(response.type == "resumed", "Got resume response from eval");
-  let rval;
-  await threadClient.addOneTimeListener("paused", function(event, packet) {
-    ok(packet.type == "paused" &&
-       packet.why.type == "clientEvaluated" &&
-       "return" in packet.why.frameFinished, "Eval returned a value");
-    rval = packet.why.frameFinished["return"];
-  });
-  return (rval.type == "undefined") ? undefined : rval;
-}
-
-// Return a promise that resolves when a thread evaluates a string in the
-// topmost frame, ensuring the result matches the expected value.
-async function checkEvaluateInTopFrame(threadClient, text, expected) {
-  let rval = await evaluateInTopFrame(threadClient, text);
-  ok(rval == expected, "Eval returned " + expected);
-}
-
-// Return a promise that resolves when a thread evaluates a string in the
-// topmost frame, with the result throwing an exception.
-async function checkEvaluateInTopFrameThrows(threadClient, text) {
-  let {frames} = await threadClient.getFrames(0, 1);
-  ok(frames.length == 1, "Got one frame");
-  let response = await threadClient.eval(frames[0].actor, text);
-  ok(response.type == "resumed", "Got resume response from eval");
-  await threadClient.addOneTimeListener("paused", function(event, packet) {
-    ok(packet.type == "paused" &&
-       packet.why.type == "clientEvaluated" &&
-       "throw" in packet.why.frameFinished, "Eval threw an exception");
-  });
-}
-
-// Return a pathname that can be used for a new recording file.
-function newRecordingFile() {
-  ChromeUtils.import("resource://gre/modules/osfile.jsm", this);
-  return OS.Path.join(OS.Constants.Path.tmpDir,
-                      "MochitestRecording" + Math.round(Math.random() * 1000000000));
-}
-
-// Several web replay mochitests are running into these rejections. See bug 1447411.
-ChromeUtils.import("resource://testing-common/PromiseTestUtils.jsm", this);
-PromiseTestUtils.whitelistRejectionsGlobally(/No such actor for ID/);
-PromiseTestUtils.whitelistRejectionsGlobally(/Component not initialized/);
-PromiseTestUtils.whitelistRejectionsGlobally(/this.worker is null/);
--- a/devtools/client/shared/test/shared-head.js
+++ b/devtools/client/shared/test/shared-head.js
@@ -285,17 +285,16 @@ function waitForNEvents(target, eventNam
 
   let count = 0;
 
   return new Promise(resolve => {
     for (const [add, remove] of [
       ["on", "off"],
       ["addEventListener", "removeEventListener"],
       ["addListener", "removeListener"],
-      ["addMessageListener", "removeMessageListener"]
     ]) {
       if ((add in target) && (remove in target)) {
         target[add](eventName, function onEvent(...args) {
           if (typeof info === "function") {
             info("Got event: '" + eventName + "' on " + target + ".");
           }
 
           if (++count == numTimes) {