Bug 1314057 - Remove old debugger tests for breakpoints where already covered by new debugger r=jlast
authorDavid Walsh <dwalsh@mozilla.com>
Mon, 01 Oct 2018 15:05:29 -0500
changeset 497763 e503bf1a29c546253fac7ddce6b8ebce9ce5f3ed
parent 497762 f9572cfd7bac75d4493f44206cd27958d74269d0
child 497764 61875633b2c215ccba313122257c6521ddb65617
push id1864
push userffxbld-merge
push dateMon, 03 Dec 2018 15:51:40 +0000
treeherdermozilla-release@f040763d99ad [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjlast
bugs1314057
milestone64.0a1
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
Bug 1314057 - Remove old debugger tests for breakpoints where already covered by new debugger r=jlast
devtools/client/debugger/test/mochitest/browser.ini
devtools/client/debugger/test/mochitest/browser2.ini
devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-01.js
devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-02.js
devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-03.js
devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-04.js
devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-05.js
devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-06.js
devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-07.js
devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-08.js
devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-event-01.js
devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-event-02.js
devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-actual-location.js
devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-actual-location2.js
devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-break-on-last-line-of-script-on-reload.js
devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-condition-thrown-message.js
devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-contextmenu-add.js
devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-contextmenu.js
devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-disabled-reload.js
devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-highlight.js
devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-reload.js
devtools/client/debugger/test/mochitest/browser_dbg_location-changes-01-simple.js
devtools/client/debugger/test/mochitest/browser_dbg_location-changes-02-blank.js
devtools/client/debugger/test/mochitest/browser_dbg_location-changes-03-new.js
devtools/client/debugger/test/mochitest/browser_dbg_location-changes-04-breakpoint.js
devtools/client/debugger/test/mochitest/browser_dbg_no-dangling-breakpoints.js
devtools/client/debugger/test/mochitest/browser_dbg_step-out.js
--- a/devtools/client/debugger/test/mochitest/browser.ini
+++ b/devtools/client/debugger/test/mochitest/browser.ini
@@ -133,70 +133,29 @@ tags = addons
 [browser_dbg_bfcache.js]
 skip-if = e10s || true # bug 1113935
 [browser_dbg_break-in-anon.js]
 uses-unsafe-cpows = true
 [browser_dbg_break-on-next.js]
 skip-if = true # Bug 1437712
 [browser_dbg_break-on-next-console.js]
 uses-unsafe-cpows = true
-[browser_dbg_break-on-dom-01.js]
-skip-if = true # bug 1368908
-[browser_dbg_break-on-dom-02.js]
-uses-unsafe-cpows = true
-[browser_dbg_break-on-dom-03.js]
-uses-unsafe-cpows = true
-[browser_dbg_break-on-dom-04.js]
-uses-unsafe-cpows = true
-[browser_dbg_break-on-dom-05.js]
-uses-unsafe-cpows = true
-[browser_dbg_break-on-dom-06.js]
-uses-unsafe-cpows = true
-[browser_dbg_break-on-dom-07.js]
-uses-unsafe-cpows = true
-[browser_dbg_break-on-dom-08.js]
-uses-unsafe-cpows = true
-[browser_dbg_break-on-dom-event-01.js]
-skip-if = e10s || os == "mac" || e10s # Bug 895426
-[browser_dbg_break-on-dom-event-02.js]
-skip-if = e10s # TODO
 [browser_dbg_break-unselected.js]
-[browser_dbg_breakpoints-actual-location.js]
-uses-unsafe-cpows = true
-[browser_dbg_breakpoints-actual-location2.js]
-uses-unsafe-cpows = true
-[browser_dbg_breakpoints-break-on-last-line-of-script-on-reload.js]
-skip-if = e10s # Bug 1093535
-[browser_dbg_breakpoints-condition-thrown-message.js]
-uses-unsafe-cpows = true
-skip-if = e10s && debug
-[browser_dbg_breakpoints-contextmenu-add.js]
-uses-unsafe-cpows = true
-[browser_dbg_breakpoints-contextmenu.js]
-uses-unsafe-cpows = true
-[browser_dbg_breakpoints-disabled-reload.js]
-skip-if = e10s # Bug 1093535
 [browser_dbg_breakpoints-editor.js]
 uses-unsafe-cpows = true
 skip-if = e10s && debug
 [browser_dbg_breakpoints-eval.js]
 uses-unsafe-cpows = true
 skip-if = e10s && debug
-[browser_dbg_breakpoints-highlight.js]
-uses-unsafe-cpows = true
-skip-if = e10s && debug
 [browser_dbg_breakpoints-new-script.js]
 uses-unsafe-cpows = true
 skip-if = e10s && debug
 [browser_dbg_breakpoints-other-tabs.js]
 uses-unsafe-cpows = true
 skip-if = e10s && debug
-[browser_dbg_breakpoints-reload.js]
-uses-unsafe-cpows = true
-skip-if = e10s && debug
 [browser_dbg_bug-896139.js]
 uses-unsafe-cpows = true
 skip-if = e10s && debug
 [browser_dbg_chrome-create.js]
 skip-if = (e10s && debug) || (verify && os == "linux") # Exit code mismatch with verify
 [browser_dbg_chrome-debugging.js]
 skip-if = e10s && debug
 [browser_dbg_clean-exit-window.js]
@@ -281,21 +240,11 @@ skip-if = e10s && debug
 skip-if = e10s && debug
 tags = addons
 [browser_dbg_listtabs-01.js]
 [browser_dbg_listtabs-02.js]
 skip-if = true # Never worked for remote frames, needs a mock DebuggerServerConnection
 [browser_dbg_listtabs-03.js]
 skip-if = e10s && debug
 [browser_dbg_listworkers.js]
-[browser_dbg_location-changes-01-simple.js]
-uses-unsafe-cpows = true
-skip-if = e10s && debug
-[browser_dbg_location-changes-02-blank.js]
-uses-unsafe-cpows = true
-skip-if = e10s && debug
-[browser_dbg_location-changes-03-new.js]
-skip-if = e10s # TODO
-[browser_dbg_location-changes-04-breakpoint.js]
-skip-if = e10s # TODO
 [browser_dbg_multiple-windows.js]
 [browser_dbg_navigation.js]
 skip-if = e10s && debug
--- a/devtools/client/debugger/test/mochitest/browser2.ini
+++ b/devtools/client/debugger/test/mochitest/browser2.ini
@@ -113,19 +113,16 @@ support-files =
   doc_WorkerTargetActor.attachThread-tab.html
   head.js
   sjs_post-page.sjs
   sjs_random-javascript.sjs
   testactors.js
   !/devtools/client/shared/test/shared-head.js
   !/devtools/client/shared/test/telemetry-test-helpers.js
 
-[browser_dbg_no-dangling-breakpoints.js]
-uses-unsafe-cpows = true
-skip-if = e10s && debug
 [browser_dbg_on-pause-raise.js]
 uses-unsafe-cpows = true
 skip-if = e10s && debug || os == "linux" # Bug 888811 & bug 891176
 [browser_dbg_optimized-out-vars.js]
 uses-unsafe-cpows = true
 skip-if = e10s && debug
 [browser_dbg_pause-resume.js]
 uses-unsafe-cpows = true
@@ -170,19 +167,16 @@ uses-unsafe-cpows = true
 skip-if = e10s && debug
 [browser_dbg_sources-bookmarklet.js]
 uses-unsafe-cpows = true
 skip-if = e10s && debug
 [browser_dbg_sources-webext-contentscript.js]
 uses-unsafe-cpows = true
 [browser_dbg_split-console-paused-reload.js]
 skip-if = true # Bug 1288348 - previously e10s && debug
-[browser_dbg_step-out.js]
-uses-unsafe-cpows = true
-skip-if = e10s && debug
 [browser_dbg_target-scoped-actor-01.js]
 [browser_dbg_target-scoped-actor-02.js]
 [browser_dbg_terminate-on-tab-close.js]
 uses-unsafe-cpows = true
 skip-if = e10s && debug
 [browser_dbg_variables-view-01.js]
 uses-unsafe-cpows = true
 skip-if = e10s && debug
deleted file mode 100644
--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-01.js
+++ /dev/null
@@ -1,52 +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/ */
-
-/**
- * Tests that event listeners aren't fetched when the events tab isn't selected.
- */
-
-const TAB_URL = EXAMPLE_URL + "doc_event-listeners-02.html";
-
-function test() {
-  let options = {
-    source: TAB_URL,
-    line: 1
-  };
-  initDebugger(TAB_URL, options).then(([aTab,, aPanel]) => {
-    let gPanel = aPanel;
-    let gDebugger = aPanel.panelWin;
-    let gView = gDebugger.DebuggerView;
-    let gEvents = gView.EventListeners;
-    let gController = gDebugger.DebuggerController;
-    let constants = gDebugger.require("./content/constants");
-
-    gDebugger.on(gDebugger.EVENTS.EVENT_LISTENERS_FETCHED, () => {
-      ok(false, "Shouldn't have fetched any event listeners.");
-    });
-    gDebugger.on(gDebugger.EVENTS.EVENT_BREAKPOINTS_UPDATED, () => {
-      ok(false, "Shouldn't have updated any event breakpoints.");
-    });
-
-    gView.toggleInstrumentsPane({ visible: true, animated: false });
-
-    is(gView.instrumentsPaneHidden, false,
-      "The instruments pane should be visible now.");
-    is(gView.instrumentsPaneTab, "variables-tab",
-      "The variables tab should be selected by default.");
-
-    Task.spawn(function* () {
-      is(gEvents.itemCount, 0, "There should be no events before reloading.");
-
-      let reloaded = waitForNavigation(gPanel);
-      gDebugger.DebuggerController._target.activeTab.reload();
-
-      is(gEvents.itemCount, 0, "There should be no events while reloading.");
-      yield reloaded;
-      is(gEvents.itemCount, 0, "There should be no events after reloading.");
-
-      yield closeDebuggerAndFinish(aPanel);
-    });
-  });
-}
deleted file mode 100644
--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-02.js
+++ /dev/null
@@ -1,135 +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/ */
-
-/**
- * Tests that event listeners are fetched when the events tab is selected
- * or while sources are fetched and the events tab is focused.
- */
-
-const TAB_URL = EXAMPLE_URL + "doc_event-listeners-02.html";
-
-function test() {
-  let options = {
-    source: TAB_URL,
-    line: 1
-  };
-  initDebugger(TAB_URL, options).then(([aTab,, aPanel]) => {
-    let gPanel = aPanel;
-    let gDebugger = aPanel.panelWin;
-    let gView = gDebugger.DebuggerView;
-    let gEvents = gView.EventListeners;
-    let gController = gDebugger.DebuggerController;
-    let constants = gDebugger.require("./content/constants");
-
-    Task.spawn(function* () {
-      yield testFetchOnFocus();
-      yield testFetchOnReloadWhenFocused();
-      yield testFetchOnReloadWhenNotFocused();
-      yield closeDebuggerAndFinish(aPanel);
-    });
-
-    function testFetchOnFocus() {
-      return Task.spawn(function* () {
-        let fetched = waitForDispatch(aPanel, constants.FETCH_EVENT_LISTENERS);
-
-        gView.toggleInstrumentsPane({ visible: true, animated: false }, 1);
-        is(gView.instrumentsPaneHidden, false,
-          "The instruments pane should be visible now.");
-        is(gView.instrumentsPaneTab, "events-tab",
-          "The events tab should be selected.");
-
-        yield fetched;
-
-        ok(true,
-          "Event listeners were fetched when the events tab was selected");
-        is(gEvents.itemCount, 4,
-          "There should be 4 events displayed in the view.");
-      });
-    }
-
-    function testFetchOnReloadWhenFocused() {
-      return Task.spawn(function* () {
-        let fetched = waitForDispatch(aPanel, constants.FETCH_EVENT_LISTENERS);
-
-        let reloading = once(gDebugger.gTarget, "will-navigate");
-        let reloaded = waitForNavigation(gPanel);
-        gDebugger.DebuggerController._target.activeTab.reload();
-
-        yield reloading;
-
-        is(gEvents.itemCount, 0,
-          "There should be no events displayed in the view while reloading.");
-        ok(true,
-          "Event listeners were removed when the target started navigating.");
-
-        yield reloaded;
-
-        is(gView.instrumentsPaneHidden, false,
-          "The instruments pane should still be visible.");
-        is(gView.instrumentsPaneTab, "events-tab",
-          "The events tab should still be selected.");
-
-        yield fetched;
-
-        is(gEvents.itemCount, 4,
-          "There should be 4 events displayed in the view after reloading.");
-        ok(true,
-          "Event listeners were added back after the target finished navigating.");
-      });
-    }
-
-    function testFetchOnReloadWhenNotFocused() {
-      return Task.spawn(function* () {
-        gController.dispatch({
-          type: gDebugger.services.WAIT_UNTIL,
-          predicate: action => {
-            return (action.type === constants.FETCH_EVENT_LISTENERS ||
-                    action.type === constants.UPDATE_EVENT_BREAKPOINTS);
-          },
-          run: (dispatch, getState, action) => {
-            if (action.type === constants.FETCH_EVENT_LISTENERS) {
-              ok(false, "Shouldn't have fetched any event listeners.");
-            }
-            else if (action.type === constants.UPDATE_EVENT_BREAKPOINTS) {
-              ok(false, "Shouldn't have updated any event breakpoints.");
-            }
-          }
-        });
-
-        gView.toggleInstrumentsPane({ visible: true, animated: false }, 0);
-        is(gView.instrumentsPaneHidden, false,
-          "The instruments pane should still be visible.");
-        is(gView.instrumentsPaneTab, "variables-tab",
-          "The variables tab should be selected.");
-
-        let reloading = once(gDebugger.gTarget, "will-navigate");
-        let reloaded = waitForNavigation(gPanel);
-        gDebugger.DebuggerController._target.activeTab.reload();
-
-        yield reloading;
-
-        is(gEvents.itemCount, 0,
-          "There should be no events displayed in the view while reloading.");
-        ok(true,
-          "Event listeners were removed when the target started navigating.");
-
-        yield reloaded;
-
-        is(gView.instrumentsPaneHidden, false,
-          "The instruments pane should still be visible.");
-        is(gView.instrumentsPaneTab, "variables-tab",
-          "The variables tab should still be selected.");
-
-        // Just to be really sure that the events will never ever fire.
-        yield waitForTime(1000);
-
-        is(gEvents.itemCount, 0,
-          "There should be no events displayed in the view after reloading.");
-        ok(true,
-          "Event listeners were not added after the target finished navigating.");
-      });
-    }
-  });
-}
deleted file mode 100644
--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-03.js
+++ /dev/null
@@ -1,102 +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/ */
-
-/**
- * Tests that event listeners are properly displayed in the view.
- */
-
-const TAB_URL = EXAMPLE_URL + "doc_event-listeners-02.html";
-
-function test() {
-  let options = {
-    source: TAB_URL,
-    line: 1
-  };
-  initDebugger(TAB_URL, options).then(([aTab,, aPanel]) => {
-    let gDebugger = aPanel.panelWin;
-    let gView = gDebugger.DebuggerView;
-    let gEvents = gView.EventListeners;
-    let gController = gDebugger.DebuggerController;
-    let constants = gDebugger.require("./content/constants");
-
-    Task.spawn(function* () {
-      let fetched = waitForDispatch(aPanel, constants.FETCH_EVENT_LISTENERS);
-      gView.toggleInstrumentsPane({ visible: true, animated: false }, 1);
-      yield fetched;
-
-      is(gEvents.widget._parent.querySelectorAll(".side-menu-widget-group").length, 3,
-        "There should be 3 groups shown in the view.");
-
-      let groupCheckboxes = gEvents.widget._parent.querySelectorAll(
-        ".side-menu-widget-group-checkbox");
-      is(groupCheckboxes.length, 3,
-        "There should be a checkbox for each group shown in the view.");
-      for (let cb of groupCheckboxes) {
-        isnot(cb.getAttribute("tooltiptext"), "undefined",
-          "A valid tooltip text should be defined on group checkboxes");
-      }
-
-      is(gEvents.widget._parent.querySelectorAll(".side-menu-widget-item").length, 4,
-        "There should be 4 items shown in the view.");
-      is(gEvents.widget._parent.querySelectorAll(".side-menu-widget-item-checkbox").length, 4,
-        "There should be a checkbox for each item shown in the view.");
-
-      testEventItem(0, "doc_event-listeners-02.html", "change", ["body > input:nth-child(2)"], false);
-      testEventItem(1, "doc_event-listeners-02.html", "click", ["body > button:nth-child(1)"], false);
-      testEventItem(2, "doc_event-listeners-02.html", "keydown", ["window", "body"], false);
-      testEventItem(3, "doc_event-listeners-02.html", "keyup", ["body > input:nth-child(2)"], false);
-
-      testEventGroup("interactionEvents", false);
-      testEventGroup("keyboardEvents", false);
-      testEventGroup("mouseEvents", false);
-
-      is(gEvents.getAllEvents().toString(), "change,click,keydown,keyup",
-        "The getAllEvents() method returns the correct stuff.");
-      is(gEvents.getCheckedEvents().toString(), "",
-        "The getCheckedEvents() method returns the correct stuff.");
-
-      yield ensureThreadClientState(aPanel, "attached");
-      yield closeDebuggerAndFinish(aPanel);
-    });
-
-    function testEventItem(index, label, type, selectors, checked) {
-      let item = gEvents.items[index];
-      let node = item.target;
-
-      ok(item.attachment.url.includes(label),
-        "The event at index " + index + " has the correct url.");
-      is(item.attachment.type, type,
-        "The event at index " + index + " has the correct type.");
-      is(item.attachment.selectors.toString(), selectors,
-        "The event at index " + index + " has the correct selectors.");
-      is(item.attachment.checkboxState, checked,
-        "The event at index " + index + " has the correct checkbox state.");
-
-      let targets = selectors.length > 1
-        ? gDebugger.L10N.getFormatStr("eventNodes", selectors.length)
-        : selectors.toString();
-
-      is(node.querySelector(".dbg-event-listener-type").getAttribute("value"), type,
-        "The correct type is shown for this event.");
-      is(node.querySelector(".dbg-event-listener-targets").getAttribute("value"), targets,
-        "The correct target is shown for this event.");
-      is(node.querySelector(".dbg-event-listener-location").getAttribute("value"), label,
-        "The correct location is shown for this event.");
-      is(node.parentNode.querySelector(".side-menu-widget-item-checkbox").checked, checked,
-        "The correct checkbox state is shown for this event.");
-    }
-
-    function testEventGroup(string, checked) {
-      let name = gDebugger.L10N.getStr(string);
-      let group = gEvents.widget._parent
-        .querySelector(".side-menu-widget-group[name=" + name + "]");
-
-      is(group.querySelector(".side-menu-widget-group-title > .name").value, name,
-        "The correct label is shown for the group named " + name + ".");
-      is(group.querySelector(".side-menu-widget-group-checkbox").checked, checked,
-        "The correct checkbox state is shown for the group named " + name + ".");
-    }
-  });
-}
deleted file mode 100644
--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-04.js
+++ /dev/null
@@ -1,101 +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/ */
-
-/**
- * Tests that checking/unchecking an event listener in the view correctly
- * causes the active thread to get updated with the new event breakpoints.
- */
-
-const TAB_URL = EXAMPLE_URL + "doc_event-listeners-02.html";
-
-function test() {
-  let options = {
-    source: TAB_URL,
-    line: 1
-  };
-  initDebugger(TAB_URL, options).then(([aTab,, aPanel]) => {
-    let gDebugger = aPanel.panelWin;
-    let gView = gDebugger.DebuggerView;
-    let gController = gDebugger.DebuggerController;
-    let gEvents = gView.EventListeners;
-    let constants = gDebugger.require("./content/constants");
-
-    Task.spawn(function* () {
-      let fetched = waitForDispatch(aPanel, constants.FETCH_EVENT_LISTENERS);
-      gView.toggleInstrumentsPane({ visible: true, animated: false }, 1);
-      yield fetched;
-
-      testEventItem(0, false);
-      testEventItem(1, false);
-      testEventItem(2, false);
-      testEventItem(3, false);
-      testEventGroup("interactionEvents", false);
-      testEventGroup("keyboardEvents", false);
-      testEventGroup("mouseEvents", false);
-      testEventArrays("change,click,keydown,keyup", "");
-
-      let updated = waitForDispatch(aPanel, constants.UPDATE_EVENT_BREAKPOINTS);
-      EventUtils.sendMouseEvent({ type: "click" }, getItemCheckboxNode(0), gDebugger);
-      yield updated;
-
-      testEventItem(0, true);
-      testEventItem(1, false);
-      testEventItem(2, false);
-      testEventItem(3, false);
-      testEventGroup("interactionEvents", false);
-      testEventGroup("keyboardEvents", false);
-      testEventGroup("mouseEvents", false);
-      testEventArrays("change,click,keydown,keyup", "change");
-
-      updated = waitForDispatch(aPanel, constants.UPDATE_EVENT_BREAKPOINTS);
-      EventUtils.sendMouseEvent({ type: "click" }, getItemCheckboxNode(0), gDebugger);
-      yield updated;
-
-      testEventItem(0, false);
-      testEventItem(1, false);
-      testEventItem(2, false);
-      testEventItem(3, false);
-      testEventGroup("interactionEvents", false);
-      testEventGroup("keyboardEvents", false);
-      testEventGroup("mouseEvents", false);
-      testEventArrays("change,click,keydown,keyup", "");
-
-      yield ensureThreadClientState(aPanel, "attached");
-      yield closeDebuggerAndFinish(aPanel);
-    });
-
-    function getItemCheckboxNode(index) {
-      return gEvents.items[index].target.parentNode
-        .querySelector(".side-menu-widget-item-checkbox");
-    }
-
-    function getGroupCheckboxNode(string) {
-      return gEvents.widget._parent
-        .querySelector(".side-menu-widget-group[name=" + gDebugger.L10N.getStr(string) + "]")
-        .querySelector(".side-menu-widget-group-checkbox");
-    }
-
-    function testEventItem(index, checked) {
-      is(gEvents.attachments[index].checkboxState, checked,
-        "The event at index " + index + " has the correct checkbox state.");
-      is(getItemCheckboxNode(index).checked, checked,
-        "The correct checkbox state is shown for this event.");
-    }
-
-    function testEventGroup(string, checked) {
-      is(getGroupCheckboxNode(string).checked, checked,
-        "The correct checkbox state is shown for the group " + string + ".");
-    }
-
-    function testEventArrays(all, checked) {
-      is(gEvents.getAllEvents().toString(), all,
-        "The getAllEvents() method returns the correct stuff.");
-      is(gEvents.getCheckedEvents().toString(), checked,
-        "The getCheckedEvents() method returns the correct stuff.");
-      is(gController.getState().eventListeners.activeEventNames.toString(), checked,
-        "The correct event names are listed as being active breakpoints.");
-    }
-  });
-}
deleted file mode 100644
--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-05.js
+++ /dev/null
@@ -1,128 +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/ */
-
-/**
- * Tests that checking/unchecking an event listener's group in the view will
- * cause the active thread to get updated with the new event breakpoints for
- * all children inside that group.
- */
-
-const TAB_URL = EXAMPLE_URL + "doc_event-listeners-02.html";
-
-function test() {
-  let options = {
-    source: TAB_URL,
-    line: 1
-  };
-  initDebugger(TAB_URL, options).then(([aTab,, aPanel]) => {
-    let gDebugger = aPanel.panelWin;
-    let gView = gDebugger.DebuggerView;
-    let gController = gDebugger.DebuggerController;
-    let gEvents = gView.EventListeners;
-    let constants = gDebugger.require("./content/constants");
-
-    Task.spawn(function* () {
-      let fetched = waitForDispatch(aPanel, constants.FETCH_EVENT_LISTENERS);
-      gView.toggleInstrumentsPane({ visible: true, animated: false }, 1);
-      yield fetched;
-
-      testEventItem(0, false);
-      testEventItem(1, false);
-      testEventItem(2, false);
-      testEventItem(3, false);
-      testEventGroup("interactionEvents", false);
-      testEventGroup("keyboardEvents", false);
-      testEventGroup("mouseEvents", false);
-      testEventArrays("change,click,keydown,keyup", "");
-
-      let updated = waitForDispatch(aPanel, constants.UPDATE_EVENT_BREAKPOINTS);
-      EventUtils.sendMouseEvent({ type: "click" }, getGroupCheckboxNode("interactionEvents"), gDebugger);
-      yield updated;
-
-      testEventItem(0, true);
-      testEventItem(1, false);
-      testEventItem(2, false);
-      testEventItem(3, false);
-      testEventGroup("interactionEvents", true);
-      testEventGroup("keyboardEvents", false);
-      testEventGroup("mouseEvents", false);
-      testEventArrays("change,click,keydown,keyup", "change");
-
-      updated = waitForDispatch(aPanel, constants.UPDATE_EVENT_BREAKPOINTS);
-      EventUtils.sendMouseEvent({ type: "click" }, getGroupCheckboxNode("interactionEvents"), gDebugger);
-      yield updated;
-
-      testEventItem(0, false);
-      testEventItem(1, false);
-      testEventItem(2, false);
-      testEventItem(3, false);
-      testEventGroup("interactionEvents", false);
-      testEventGroup("keyboardEvents", false);
-      testEventGroup("mouseEvents", false);
-      testEventArrays("change,click,keydown,keyup", "");
-
-      updated = waitForDispatch(aPanel, constants.UPDATE_EVENT_BREAKPOINTS);
-      EventUtils.sendMouseEvent({ type: "click" }, getGroupCheckboxNode("keyboardEvents"), gDebugger);
-      yield updated;
-
-      testEventItem(0, false);
-      testEventItem(1, false);
-      testEventItem(2, true);
-      testEventItem(3, true);
-      testEventGroup("interactionEvents", false);
-      testEventGroup("keyboardEvents", true);
-      testEventGroup("mouseEvents", false);
-      testEventArrays("change,click,keydown,keyup", "keydown,keyup");
-
-      updated = waitForDispatch(aPanel, constants.UPDATE_EVENT_BREAKPOINTS);
-      EventUtils.sendMouseEvent({ type: "click" }, getGroupCheckboxNode("keyboardEvents"), gDebugger);
-      yield updated;
-
-      testEventItem(0, false);
-      testEventItem(1, false);
-      testEventItem(2, false);
-      testEventItem(3, false);
-      testEventGroup("interactionEvents", false);
-      testEventGroup("keyboardEvents", false);
-      testEventGroup("mouseEvents", false);
-      testEventArrays("change,click,keydown,keyup", "");
-
-      yield ensureThreadClientState(aPanel, "attached");
-      yield closeDebuggerAndFinish(aPanel);
-    });
-
-    function getItemCheckboxNode(index) {
-      return gEvents.items[index].target.parentNode
-        .querySelector(".side-menu-widget-item-checkbox");
-    }
-
-    function getGroupCheckboxNode(string) {
-      return gEvents.widget._parent
-        .querySelector(".side-menu-widget-group[name=" + gDebugger.L10N.getStr(string) + "]")
-        .querySelector(".side-menu-widget-group-checkbox");
-    }
-
-    function testEventItem(index, checked) {
-      is(gEvents.attachments[index].checkboxState, checked,
-        "The event at index " + index + " has the correct checkbox state.");
-      is(getItemCheckboxNode(index).checked, checked,
-        "The correct checkbox state is shown for this event.");
-    }
-
-    function testEventGroup(string, checked) {
-      is(getGroupCheckboxNode(string).checked, checked,
-        "The correct checkbox state is shown for the group " + string + ".");
-    }
-
-    function testEventArrays(all, checked) {
-      is(gEvents.getAllEvents().toString(), all,
-        "The getAllEvents() method returns the correct stuff.");
-      is(gEvents.getCheckedEvents().toString(), checked,
-        "The getCheckedEvents() method returns the correct stuff.");
-      is(gController.getState().eventListeners.activeEventNames.toString(), checked,
-        "The correct event names are listed as being active breakpoints.");
-    }
-  });
-}
deleted file mode 100644
--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-06.js
+++ /dev/null
@@ -1,130 +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/ */
-
-/**
- * Tests that the event listener states are preserved in the view after the
- * target navigates.
- */
-
-const TAB_URL = EXAMPLE_URL + "doc_event-listeners-02.html";
-
-function test() {
-  let options = {
-    source: TAB_URL,
-    line: 1
-  };
-  initDebugger(TAB_URL, options).then(([aTab,, aPanel]) => {
-    let gDebugger = aPanel.panelWin;
-    let gView = gDebugger.DebuggerView;
-    let gController = gDebugger.DebuggerController;
-    let gEvents = gView.EventListeners;
-    let gBreakpoints = gController.Breakpoints;
-    let constants = gDebugger.require("./content/constants");
-
-    Task.spawn(function* () {
-      let fetched = waitForDispatch(aPanel, constants.FETCH_EVENT_LISTENERS);
-      gView.toggleInstrumentsPane({ visible: true, animated: false }, 1);
-      yield fetched;
-
-      testEventItem(0, false);
-      testEventItem(1, false);
-      testEventItem(2, false);
-      testEventItem(3, false);
-      testEventGroup("interactionEvents", false);
-      testEventGroup("keyboardEvents", false);
-      testEventGroup("mouseEvents", false);
-      testEventArrays("change,click,keydown,keyup", "");
-
-      let updated = waitForDispatch(aPanel, constants.UPDATE_EVENT_BREAKPOINTS);
-      EventUtils.sendMouseEvent({ type: "click" }, getItemCheckboxNode(0), gDebugger);
-      EventUtils.sendMouseEvent({ type: "click" }, getItemCheckboxNode(1), gDebugger);
-      EventUtils.sendMouseEvent({ type: "click" }, getItemCheckboxNode(2), gDebugger);
-      yield updated;
-
-      testEventItem(0, true);
-      testEventItem(1, true);
-      testEventItem(2, true);
-      testEventItem(3, false);
-      testEventGroup("interactionEvents", false);
-      testEventGroup("keyboardEvents", false);
-      testEventGroup("mouseEvents", false);
-      testEventArrays("change,click,keydown,keyup", "change,click,keydown");
-
-      reload(aPanel);
-      yield waitForDispatch(aPanel, constants.FETCH_EVENT_LISTENERS);
-
-      testEventItem(0, true);
-      testEventItem(1, true);
-      testEventItem(2, true);
-      testEventItem(3, false);
-      testEventGroup("interactionEvents", false);
-      testEventGroup("keyboardEvents", false);
-      testEventGroup("mouseEvents", false);
-      testEventArrays("change,click,keydown,keyup", "change,click,keydown");
-
-      updated = waitForDispatch(aPanel, constants.UPDATE_EVENT_BREAKPOINTS);
-      EventUtils.sendMouseEvent({ type: "click" }, getItemCheckboxNode(0), gDebugger);
-      EventUtils.sendMouseEvent({ type: "click" }, getItemCheckboxNode(1), gDebugger);
-      EventUtils.sendMouseEvent({ type: "click" }, getItemCheckboxNode(2), gDebugger);
-      yield updated;
-
-      testEventItem(0, false);
-      testEventItem(1, false);
-      testEventItem(2, false);
-      testEventItem(3, false);
-      testEventGroup("interactionEvents", false);
-      testEventGroup("keyboardEvents", false);
-      testEventGroup("mouseEvents", false);
-      testEventArrays("change,click,keydown,keyup", "");
-
-      reload(aPanel);
-      yield waitForDispatch(aPanel, constants.FETCH_EVENT_LISTENERS);
-
-      testEventItem(0, false);
-      testEventItem(1, false);
-      testEventItem(2, false);
-      testEventItem(3, false);
-      testEventGroup("interactionEvents", false);
-      testEventGroup("keyboardEvents", false);
-      testEventGroup("mouseEvents", false);
-      testEventArrays("change,click,keydown,keyup", "");
-
-      yield ensureThreadClientState(aPanel, "attached");
-      yield closeDebuggerAndFinish(aPanel);
-    });
-
-    function getItemCheckboxNode(index) {
-      return gEvents.items[index].target.parentNode
-        .querySelector(".side-menu-widget-item-checkbox");
-    }
-
-    function getGroupCheckboxNode(string) {
-      return gEvents.widget._parent
-        .querySelector(".side-menu-widget-group[name=" + gDebugger.L10N.getStr(string) + "]")
-        .querySelector(".side-menu-widget-group-checkbox");
-    }
-
-    function testEventItem(index, checked) {
-      is(gEvents.attachments[index].checkboxState, checked,
-        "The event at index " + index + " has the correct checkbox state.");
-      is(getItemCheckboxNode(index).checked, checked,
-        "The correct checkbox state is shown for this event.");
-    }
-
-    function testEventGroup(string, checked) {
-      is(getGroupCheckboxNode(string).checked, checked,
-        "The correct checkbox state is shown for the group " + string + ".");
-    }
-
-    function testEventArrays(all, checked) {
-      is(gEvents.getAllEvents().toString(), all,
-        "The getAllEvents() method returns the correct stuff.");
-      is(gEvents.getCheckedEvents().toString(), checked,
-         "The getCheckedEvents() method returns the correct stuff.");
-      is(gController.getState().eventListeners.activeEventNames.toString(), checked,
-         "The correct event names are listed as being active breakpoints.");
-    }
-  });
-}
deleted file mode 100644
--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-07.js
+++ /dev/null
@@ -1,106 +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/ */
-
-/**
- * Tests that system event listeners don't get duplicated in the view.
- */
-
-function test() {
-  initDebugger().then(([aTab,, aPanel]) => {
-    let gDebugger = aPanel.panelWin;
-    let gView = gDebugger.DebuggerView;
-    let gEvents = gView.EventListeners;
-    let gL10N = gDebugger.L10N;
-
-    is(gEvents.itemCount, 0,
-      "There are no events displayed in the corresponding pane yet.");
-
-    gEvents.addListener({
-      type: "foo",
-      node: { selector: "#first" },
-      function: { url: null }
-    });
-
-    is(gEvents.itemCount, 1,
-      "There was a system event listener added in the view.");
-    is(gEvents.attachments[0].url, gL10N.getStr("eventNative"),
-      "The correct string is used as the event's url.");
-    is(gEvents.attachments[0].type, "foo",
-      "The correct string is used as the event's type.");
-    is(gEvents.attachments[0].selectors.toString(), "#first",
-      "The correct array of selectors is used as the event's target.");
-
-    gEvents.addListener({
-      type: "bar",
-      node: { selector: "#second" },
-      function: { url: null }
-    });
-
-    is(gEvents.itemCount, 2,
-      "There was another system event listener added in the view.");
-    is(gEvents.attachments[1].url, gL10N.getStr("eventNative"),
-      "The correct string is used as the event's url.");
-    is(gEvents.attachments[1].type, "bar",
-      "The correct string is used as the event's type.");
-    is(gEvents.attachments[1].selectors.toString(), "#second",
-      "The correct array of selectors is used as the event's target.");
-
-    gEvents.addListener({
-      type: "foo",
-      node: { selector: "#first" },
-      function: { url: null }
-    });
-
-    is(gEvents.itemCount, 2,
-      "There wasn't another system event listener added in the view.");
-    is(gEvents.attachments[0].url, gL10N.getStr("eventNative"),
-      "The correct string is used as the event's url.");
-    is(gEvents.attachments[0].type, "foo",
-      "The correct string is used as the event's type.");
-    is(gEvents.attachments[0].selectors.toString(), "#first",
-      "The correct array of selectors is used as the event's target.");
-
-    gEvents.addListener({
-      type: "foo",
-      node: { selector: "#second" },
-      function: { url: null }
-    });
-
-    is(gEvents.itemCount, 2,
-      "There still wasn't another system event listener added in the view.");
-    is(gEvents.attachments[0].url, gL10N.getStr("eventNative"),
-      "The correct string is used as the event's url.");
-    is(gEvents.attachments[0].type, "foo",
-      "The correct string is used as the event's type.");
-    is(gEvents.attachments[0].selectors.toString(), "#first,#second",
-      "The correct array of selectors is used as the event's target.");
-
-
-    gEvents.addListener({
-      type: null,
-      node: { selector: "#bogus" },
-      function: { url: null }
-    });
-
-    is(gEvents.itemCount, 2,
-      "No bogus system event listener was added in the view.");
-
-    is(gEvents.attachments[0].url, gL10N.getStr("eventNative"),
-      "The correct string is used as the first event's url.");
-    is(gEvents.attachments[0].type, "foo",
-      "The correct string is used as the first event's type.");
-    is(gEvents.attachments[0].selectors.toString(), "#first,#second",
-      "The correct array of selectors is used as the first event's target.");
-
-    is(gEvents.attachments[1].url, gL10N.getStr("eventNative"),
-      "The correct string is used as the second event's url.");
-    is(gEvents.attachments[1].type, "bar",
-      "The correct string is used as the second event's type.");
-    is(gEvents.attachments[1].selectors.toString(), "#second",
-      "The correct array of selectors is used as the second event's target.");
-
-    closeDebuggerAndFinish(aPanel);
-  });
-}
deleted file mode 100644
--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-08.js
+++ /dev/null
@@ -1,61 +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/ */
-
-/**
- * Tests that breaking on an event selects the variables view tab.
- */
-
-const TAB_URL = EXAMPLE_URL + "doc_event-listeners-02.html";
-
-function test() {
-  let options = {
-    source: TAB_URL,
-    line: 1
-  };
-  initDebugger(TAB_URL, options).then(([aTab,, aPanel]) => {
-    let gTab = aTab;
-    let gDebugger = aPanel.panelWin;
-    let gView = gDebugger.DebuggerView;
-    let gEvents = gView.EventListeners;
-    let gController = gDebugger.DebuggerController;
-    let constants = gDebugger.require("./content/constants");
-
-    Task.spawn(function* () {
-      yield callInTab(gTab, "addBodyClickEventListener");
-
-      let fetched = waitForDispatch(aPanel, constants.FETCH_EVENT_LISTENERS);
-      gView.toggleInstrumentsPane({ visible: true, animated: false }, 1);
-      yield fetched;
-      yield ensureThreadClientState(aPanel, "attached");
-
-      is(gView.instrumentsPaneHidden, false,
-        "The instruments pane should be visible.");
-      is(gView.instrumentsPaneTab, "events-tab",
-        "The events tab should be selected.");
-
-      let updated = waitForDispatch(aPanel, constants.UPDATE_EVENT_BREAKPOINTS);
-      EventUtils.sendMouseEvent({ type: "click" }, getItemCheckboxNode(1), gDebugger);
-      yield updated;
-      yield ensureThreadClientState(aPanel, "attached");
-
-      let paused = waitForCaretAndScopes(aPanel, 47);
-      generateMouseClickInTab(gTab, "content.document.body");
-      yield paused;
-      yield ensureThreadClientState(aPanel, "paused");
-
-      is(gView.instrumentsPaneHidden, false,
-        "The instruments pane should be visible.");
-      is(gView.instrumentsPaneTab, "variables-tab",
-        "The variables tab should be selected.");
-
-      yield resumeDebuggerThenCloseAndFinish(aPanel);
-    });
-
-    function getItemCheckboxNode(index) {
-      return gEvents.items[index].target.parentNode
-        .querySelector(".side-menu-widget-item-checkbox");
-    }
-  });
-}
deleted file mode 100644
--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-event-01.js
+++ /dev/null
@@ -1,223 +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/ */
-
-/**
- * Tests that the break-on-dom-events request works.
- */
-
-const TAB_URL = EXAMPLE_URL + "doc_event-listeners-01.html";
-
-var gClient, gThreadClient, gInput, gButton;
-
-function test() {
-  DebuggerServer.init();
-  DebuggerServer.registerAllActors();
-
-  let transport = DebuggerServer.connectPipe();
-  gClient = new DebuggerClient(transport);
-  gClient.connect().then(([aType, aTraits]) => {
-    is(aType, "browser",
-      "Root actor should identify itself as a browser.");
-
-    addTab(TAB_URL)
-      .then(() => attachThreadActorForUrl(gClient, TAB_URL))
-      .then(setupGlobals)
-      .then(pauseDebuggee)
-      .then(testBreakOnAll)
-      .then(testBreakOnDisabled)
-      .then(testBreakOnNone)
-      .then(testBreakOnClick)
-      .then(() => gClient.close())
-      .then(finish)
-      .catch(aError => {
-        ok(false, "Got an error: " + aError.message + "\n" + aError.stack);
-      });
-  });
-}
-
-function setupGlobals(aThreadClient) {
-  gThreadClient = aThreadClient;
-  gInput = content.document.querySelector("input");
-  gButton = content.document.querySelector("button");
-}
-
-function pauseDebuggee() {
-  let deferred = promise.defer();
-
-  gClient.addOneTimeListener("paused", (aEvent, aPacket) => {
-    is(aPacket.type, "paused",
-      "We should now be paused.");
-    is(aPacket.why.type, "debuggerStatement",
-      "The debugger statement was hit.");
-
-    deferred.resolve();
-  });
-
-  // Spin the event loop before causing the debuggee to pause, to allow
-  // this function to return first.
-  executeSoon(triggerButtonClick);
-
-  return deferred.promise;
-}
-
-// Test pause on all events.
-function testBreakOnAll() {
-  let deferred = promise.defer();
-
-  // Test calling pauseOnDOMEvents from a paused state.
-  gThreadClient.pauseOnDOMEvents("*", (aPacket) => {
-    is(aPacket.error, undefined,
-      "The pause-on-any-event request completed successfully.");
-
-    gClient.addOneTimeListener("paused", (aEvent, aPacket) => {
-      is(aPacket.why.type, "pauseOnDOMEvents",
-        "A hidden breakpoint was hit.");
-      is(aPacket.frame.callee.name, "keyupHandler",
-        "The keyupHandler is entered.");
-
-      gClient.addOneTimeListener("paused", (aEvent, aPacket) => {
-        is(aPacket.why.type, "pauseOnDOMEvents",
-          "A hidden breakpoint was hit.");
-        is(aPacket.frame.callee.name, "clickHandler",
-          "The clickHandler is entered.");
-
-        gClient.addOneTimeListener("paused", (aEvent, aPacket) => {
-          is(aPacket.why.type, "pauseOnDOMEvents",
-            "A hidden breakpoint was hit.");
-          is(aPacket.frame.callee.name, "onchange",
-            "The onchange handler is entered.");
-
-          gThreadClient.resume(deferred.resolve);
-        });
-
-        gThreadClient.resume(triggerInputChange);
-      });
-
-      gThreadClient.resume(triggerButtonClick);
-    });
-
-    gThreadClient.resume(triggerInputKeyup);
-  });
-
-  return deferred.promise;
-}
-
-// Test that removing events from the array disables them.
-function testBreakOnDisabled() {
-  let deferred = promise.defer();
-
-  // Test calling pauseOnDOMEvents from a running state.
-  gThreadClient.pauseOnDOMEvents(["click"], (aPacket) => {
-    is(aPacket.error, undefined,
-      "The pause-on-click-only request completed successfully.");
-
-    gClient.addListener("paused", unexpectedListener);
-
-    // This non-capturing event listener is guaranteed to run after the page's
-    // capturing one had a chance to execute and modify window.foobar.
-    once(gInput, "keyup").then(() => {
-      is(content.wrappedJSObject.foobar, "keyupHandler",
-        "No hidden breakpoint was hit.");
-
-      gClient.removeListener("paused", unexpectedListener);
-      deferred.resolve();
-    });
-
-    triggerInputKeyup();
-  });
-
-  return deferred.promise;
-}
-
-// Test that specifying an empty event array clears all hidden breakpoints.
-function testBreakOnNone() {
-  let deferred = promise.defer();
-
-  // Test calling pauseOnDOMEvents from a running state.
-  gThreadClient.pauseOnDOMEvents([], (aPacket) => {
-    is(aPacket.error, undefined,
-      "The pause-on-none request completed successfully.");
-
-    gClient.addListener("paused", unexpectedListener);
-
-    // This non-capturing event listener is guaranteed to run after the page's
-    // capturing one had a chance to execute and modify window.foobar.
-    once(gInput, "keyup").then(() => {
-      is(content.wrappedJSObject.foobar, "keyupHandler",
-        "No hidden breakpoint was hit.");
-
-      gClient.removeListener("paused", unexpectedListener);
-      deferred.resolve();
-    });
-
-    triggerInputKeyup();
-  });
-
-  return deferred.promise;
-}
-
-// Test pause on a single event.
-function testBreakOnClick() {
-  let deferred = promise.defer();
-
-  // Test calling pauseOnDOMEvents from a running state.
-  gThreadClient.pauseOnDOMEvents(["click"], (aPacket) => {
-    is(aPacket.error, undefined,
-      "The pause-on-click request completed successfully.");
-
-    gClient.addOneTimeListener("paused", (aEvent, aPacket) => {
-      is(aPacket.why.type, "pauseOnDOMEvents",
-        "A hidden breakpoint was hit.");
-      is(aPacket.frame.callee.name, "clickHandler",
-        "The clickHandler is entered.");
-
-      gThreadClient.resume(deferred.resolve);
-    });
-
-    triggerButtonClick();
-  });
-
-  return deferred.promise;
-}
-
-function unexpectedListener() {
-  gClient.removeListener("paused", unexpectedListener);
-  ok(false, "An unexpected hidden breakpoint was hit.");
-  gThreadClient.resume(testBreakOnClick);
-}
-
-function triggerInputKeyup() {
-  // Make sure that the focus is not on the input box so that a focus event
-  // will be triggered.
-  window.focus();
-  gBrowser.selectedBrowser.focus();
-  gButton.focus();
-
-  // Focus the element and wait for focus event.
-  once(gInput, "focus").then(() => {
-    executeSoon(() => {
-      EventUtils.synthesizeKey("e", { shiftKey: 1 }, content);
-    });
-  });
-
-  gInput.focus();
-}
-
-function triggerButtonClick() {
-  EventUtils.sendMouseEvent({ type: "click" }, gButton);
-}
-
-function triggerInputChange() {
-  gInput.focus();
-  gInput.value = "foo";
-  gInput.blur();
-}
-
-registerCleanupFunction(function () {
-  gClient = null;
-  gThreadClient = null;
-  gInput = null;
-  gButton = null;
-});
deleted file mode 100644
--- a/devtools/client/debugger/test/mochitest/browser_dbg_break-on-dom-event-02.js
+++ /dev/null
@@ -1,103 +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/ */
-
-/**
- * Tests that the break-on-dom-events request works even for bound event
- * listeners and handler objects with 'handleEvent' methods.
- */
-
-const TAB_URL = EXAMPLE_URL + "doc_event-listeners-03.html";
-
-var gClient, gThreadClient;
-
-function test() {
-  DebuggerServer.init();
-  DebuggerServer.registerAllActors();
-
-  let transport = DebuggerServer.connectPipe();
-  gClient = new DebuggerClient(transport);
-  gClient.connect().then(([aType, aTraits]) => {
-    is(aType, "browser",
-      "Root actor should identify itself as a browser.");
-
-    addTab(TAB_URL)
-      .then(() => attachThreadActorForUrl(gClient, TAB_URL))
-      .then(aThreadClient => gThreadClient = aThreadClient)
-      .then(pauseDebuggee)
-      .then(testBreakOnClick)
-      .then(() => gClient.close())
-      .then(finish)
-      .catch(aError => {
-        ok(false, "Got an error: " + aError.message + "\n" + aError.stack);
-      });
-  });
-}
-
-function pauseDebuggee() {
-  let deferred = promise.defer();
-
-  gClient.addOneTimeListener("paused", (aEvent, aPacket) => {
-    is(aPacket.type, "paused",
-      "We should now be paused.");
-    is(aPacket.why.type, "debuggerStatement",
-      "The debugger statement was hit.");
-
-    gThreadClient.resume(deferred.resolve);
-  });
-
-  // Spin the event loop before causing the debuggee to pause, to allow
-  // this function to return first.
-  executeSoon(() => triggerButtonClick("initialSetup"));
-
-  return deferred.promise;
-}
-
-// Test pause on a single event.
-function testBreakOnClick() {
-  let deferred = promise.defer();
-
-  // Test calling pauseOnDOMEvents from a running state.
-  gThreadClient.pauseOnDOMEvents(["click"], (aPacket) => {
-    is(aPacket.error, undefined,
-      "The pause-on-click request completed successfully.");
-    let handlers = ["clicker"];
-
-    gClient.addListener("paused", function tester(aEvent, aPacket) {
-      is(aPacket.why.type, "pauseOnDOMEvents",
-        "A hidden breakpoint was hit.");
-
-      switch (handlers.length) {
-        case 1:
-          is(aPacket.frame.where.line, 25, "Found the clicker handler.");
-          handlers.push("handleEventClick");
-          break;
-        case 2:
-          is(aPacket.frame.where.line, 35, "Found the handleEventClick handler.");
-          handlers.push("boundHandleEventClick");
-          break;
-        case 3:
-          is(aPacket.frame.where.line, 45, "Found the boundHandleEventClick handler.");
-          gClient.removeListener("paused", tester);
-          deferred.resolve();
-      }
-
-      gThreadClient.resume(() => triggerButtonClick(handlers.slice(-1)));
-    });
-
-    triggerButtonClick(handlers.slice(-1));
-  });
-
-  return deferred.promise;
-}
-
-function triggerButtonClick(aNodeId) {
-  let button = content.document.getElementById(aNodeId);
-  EventUtils.sendMouseEvent({ type: "click" }, button);
-}
-
-registerCleanupFunction(function () {
-  gClient = null;
-  gThreadClient = null;
-});
deleted file mode 100644
--- a/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-actual-location.js
+++ /dev/null
@@ -1,55 +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/ */
-
-/**
- * Bug 737803: Setting a breakpoint in a line without code should move
- * the icon to the actual location.
- */
-
-const TAB_URL = EXAMPLE_URL + "doc_script-switching-01.html";
-
-function test() {
-  let options = {
-    source: EXAMPLE_URL + "code_script-switching-01.js",
-    line: 1
-  };
-  initDebugger(TAB_URL, options).then(([aTab,, aPanel]) => {
-    const gTab = aTab;
-    const gPanel = aPanel;
-    const gDebugger = gPanel.panelWin;
-    const gEditor = gDebugger.DebuggerView.editor;
-    const gSources = gDebugger.DebuggerView.Sources;
-    const gController = gDebugger.DebuggerController;
-    const constants = gDebugger.require("./content/constants");
-    const queries = gDebugger.require("./content/queries");
-    const actions = bindActionCreators(gPanel);
-
-    Task.spawn(function* () {
-      yield waitForSourceAndCaretAndScopes(gPanel, "-02.js", 1);
-
-      is(queries.getBreakpoints(gController.getState()).length, 0,
-         "There are no breakpoints in the editor");
-
-      const response = yield actions.addBreakpoint({
-        actor: gSources.selectedValue, line: 5
-      });
-
-      ok(response.actualLocation, "has an actualLocation");
-      is(response.actualLocation.line, 6, "moved to line 6");
-
-      is(queries.getBreakpoints(gController.getState()).length, 1,
-         "There is only one breakpoint in the editor");
-
-      ok(!queries.getBreakpoint(gController.getState(), { actor: gSources.selectedValue, line: 5 }),
-         "There isn't any breakpoint added on an invalid line.");
-      ok(queries.getBreakpoint(gController.getState(), { actor: gSources.selectedValue, line: 6 }),
-         "There isn't any breakpoint added on an invalid line.");
-
-      resumeDebuggerThenCloseAndFinish(gPanel);
-    });
-
-    callInTab(gTab, "firstCall");
-  });
-}
deleted file mode 100644
--- a/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-actual-location2.js
+++ /dev/null
@@ -1,88 +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/ */
-
-/**
- * Bug 1008372: Setting a breakpoint in a line without code should move
- * the icon to the actual location, and if a breakpoint already exists
- * on the new location don't duplicate
- */
-
-const TAB_URL = EXAMPLE_URL + "doc_breakpoint-move.html";
-
-function test() {
-  let options = {
-    source: TAB_URL,
-    line: 1
-  };
-  initDebugger(TAB_URL, options).then(([aTab,, aPanel]) => {
-    const gTab = aTab;
-    const gPanel = aPanel;
-    const gDebugger = gPanel.panelWin;
-    const gEditor = gDebugger.DebuggerView.editor;
-    const gSources = gDebugger.DebuggerView.Sources;
-    const gController = gDebugger.DebuggerController;
-    const actions = bindActionCreators(gPanel);
-    const constants = gDebugger.require("./content/constants");
-    const queries = gDebugger.require("./content/queries");
-
-    function resumeAndTestBreakpoint(line) {
-      return Task.spawn(function* () {
-        let event = waitForDebuggerEvents(gPanel, gDebugger.EVENTS.FETCHED_SCOPES);
-        doResume(gPanel);
-        yield event;
-        testBreakpoint(line);
-      });
-    }
-
-    function testBreakpoint(line) {
-      let bp = gSources._selectedBreakpoint;
-      ok(bp, "There should be a selected breakpoint on line " + line);
-      is(bp.location.line, line,
-         "The breakpoint on line " + line + " was not hit");
-    }
-
-    Task.spawn(function* () {
-      let onCaretUpdated = waitForCaretAndScopes(gPanel, 16);
-      callInTab(gTab, "ermahgerd");
-      yield onCaretUpdated;
-
-      is(queries.getBreakpoints(gController.getState()).length, 0,
-         "There are no breakpoints in the editor");
-
-      yield actions.addBreakpoint({
-        actor: gSources.selectedValue,
-        line: 19
-      });
-      yield actions.addBreakpoint({
-        actor: gSources.selectedValue,
-        line: 20
-      });
-
-      const response = yield actions.addBreakpoint({
-        actor: gSources.selectedValue,
-        line: 17
-      });
-
-      is(response.actualLocation.line, 19,
-         "Breakpoint client line is new.");
-
-      yield resumeAndTestBreakpoint(19);
-
-      yield actions.removeBreakpoint({
-        actor: gSources.selectedValue,
-        line: 19
-      });
-
-      yield resumeAndTestBreakpoint(20);
-      yield doResume(gPanel);
-
-      callInTab(gTab, "ermahgerd");
-      yield waitForDebuggerEvents(gPanel, gDebugger.EVENTS.FETCHED_SCOPES);
-
-      yield resumeAndTestBreakpoint(20);
-      resumeDebuggerThenCloseAndFinish(gPanel);
-    });
-  });
-}
deleted file mode 100644
--- a/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-break-on-last-line-of-script-on-reload.js
+++ /dev/null
@@ -1,113 +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/ */
-
-/**
- * Bug 978019: Setting a breakpoint on the last line of a Debugger.Script and
- * reloading should still hit the breakpoint.
- */
-
-const TAB_URL = EXAMPLE_URL + "doc_breakpoints-break-on-last-line-of-script-on-reload.html";
-const CODE_URL = EXAMPLE_URL + "code_breakpoints-break-on-last-line-of-script-on-reload.js";
-
-function test() {
-  // Debug test slaves are a bit slow at this test.
-  requestLongerTimeout(2);
-
-  let gPanel, gDebugger, gThreadClient, gEvents, gSources;
-
-  const options = {
-    source: CODE_URL,
-    line: 1
-  };
-  initDebugger(TAB_URL, options).then(([aTab,, aPanel]) => {
-    gPanel = aPanel;
-    gDebugger = gPanel.panelWin;
-    gThreadClient = gDebugger.gThreadClient;
-    gEvents = gDebugger.EVENTS;
-    gSources = gDebugger.DebuggerView.Sources;
-    const actions = bindActionCreators(gPanel);
-
-    Task.spawn(function* () {
-      try {
-
-        // Refresh and hit the debugger statement before the location we want to
-        // set our breakpoints. We have to pause before the breakpoint locations
-        // so that GC doesn't get a chance to kick in and collect the IIFE's
-        // script, which would causes us to receive a 'noScript' error from the
-        // server when we try to set the breakpoints.
-        const [paused, ] = yield promise.all([
-          waitForThreadEvents(gPanel, "paused"),
-          reloadActiveTab(gPanel, gEvents.SOURCE_SHOWN),
-        ]);
-
-        is(paused.why.type, "debuggerStatement");
-
-        // Set our breakpoints.
-        const sourceActor = getSourceActor(gSources, CODE_URL);
-        yield promise.all([
-          actions.addBreakpoint({
-            actor: sourceActor,
-            line: 3
-          }),
-          actions.addBreakpoint({
-            actor: sourceActor,
-            line: 4
-          }),
-          actions.addBreakpoint({
-            actor: sourceActor,
-            line: 5
-          })
-        ]);
-
-        // Refresh and hit the debugger statement again.
-        yield promise.all([
-          reloadActiveTab(gPanel, gEvents.SOURCE_SHOWN),
-          waitForCaretAndScopes(gPanel, 1)
-        ]);
-
-        // And we should hit the breakpoints as we resume.
-        yield promise.all([
-          doResume(gPanel),
-          waitForCaretAndScopes(gPanel, 3)
-        ]);
-        yield promise.all([
-          doResume(gPanel),
-          waitForCaretAndScopes(gPanel, 4)
-        ]);
-        yield promise.all([
-          doResume(gPanel),
-          waitForCaretAndScopes(gPanel, 5)
-        ]);
-
-        // Clean up the breakpoints.
-        yield promise.all([
-          actions.removeBreakpoint({ actor: sourceActor, line: 3 }),
-          actions.removeBreakpoint({ actor: sourceActor, line: 4 }),
-          actions.removeBreakpoint({ actor: sourceActor, line: 5 })
-        ]);
-
-        yield resumeDebuggerThenCloseAndFinish(gPanel);
-
-      } catch (e) {
-        DevToolsUtils.reportException(
-          "browser_dbg_breakpoints-break-on-last-line-of-script-on-reload.js",
-          e
-        );
-        ok(false);
-      }
-    });
-  });
-
-  function setBreakpoint(location) {
-    let item = gSources.getItemByValue(getSourceActor(gSources, location.url));
-    let source = gThreadClient.source(item.attachment.source);
-
-    let deferred = promise.defer();
-    source.setBreakpoint(location).then(([response, bpClient]) => {
-      deferred.resolve(bpClient);
-    });
-    return deferred.promise;
-  }
-}
deleted file mode 100644
--- a/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-condition-thrown-message.js
+++ /dev/null
@@ -1,107 +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/ */
-
-/**
- * Make sure that the message which breakpoint condition throws
- * could be displayed on UI correctly
- */
-
-const TAB_URL = EXAMPLE_URL + "doc_conditional-breakpoints.html";
-
-function test() {
-  let options = {
-    source: TAB_URL,
-    line: 1
-  };
-  initDebugger(TAB_URL, options).then(([aTab,, aPanel]) => {
-    const gTab = aTab;
-    const gPanel = aPanel;
-    const gDebugger = gPanel.panelWin;
-    const gEditor = gDebugger.DebuggerView.editor;
-    const gSources = gDebugger.DebuggerView.Sources;
-    const actions = bindActionCreators(gPanel);
-    const getState = gDebugger.DebuggerController.getState;
-
-    function initialCheck(aCaretLine) {
-      let bp = gDebugger.queries.getBreakpoint(getState(),
-                                               { actor: gSources.values[0], line: aCaretLine });
-      ok(bp, "There should be a breakpoint on line " + aCaretLine);
-
-      let attachment = gSources._getBreakpoint(bp).attachment;
-      ok(attachment,
-         "There should be a breakpoint on line " + aCaretLine + " in the sources pane.");
-
-      let thrownNode = attachment.view.container.querySelector(".dbg-breakpoint-condition-thrown-message");
-      ok(thrownNode,
-         "The breakpoint item should contain a thrown message node.");
-
-      ok(!attachment.view.container.classList.contains("dbg-breakpoint-condition-thrown"),
-         "The thrown message on line " + aCaretLine + " should be hidden when condition has not been evaluated.");
-    }
-
-    function resumeAndTestThrownMessage(line) {
-      doResume(gPanel);
-
-      return waitForCaretUpdated(gPanel, line).then(() => {
-        // Test that the thrown message is correctly shown.
-        let bp = gDebugger.queries.getBreakpoint(
-          getState(),
-          { actor: gSources.values[0], line: line }
-        );
-        let attachment = gSources._getBreakpoint(bp).attachment;
-        ok(attachment.view.container.classList.contains("dbg-breakpoint-condition-thrown"),
-           "Message on line " + line + " should be shown when condition throws.");
-      });
-    }
-
-    function resumeAndTestNoThrownMessage(line) {
-      doResume(gPanel);
-
-      return waitForCaretUpdated(gPanel, line).then(() => {
-        // test that the thrown message is correctly shown
-        let bp = gDebugger.queries.getBreakpoint(
-          getState(),
-          { actor: gSources.values[0], line: line }
-        );
-        let attachment = gSources._getBreakpoint(bp).attachment;
-        ok(!attachment.view.container.classList.contains("dbg-breakpoint-condition-thrown"),
-           "Message on line " + line + " should be hidden if condition doesn't throw.");
-      });
-    }
-
-    Task.spawn(function* () {
-      let onCaretUpdated = waitForCaretAndScopes(gPanel, 17);
-      callInTab(gTab, "ermahgerd");
-      yield onCaretUpdated;
-
-      yield actions.addBreakpoint({ actor: gSources.selectedValue, line: 18 }, " 1afff");
-      // Close the popup because a SET_BREAKPOINT_CONDITION action is
-      // fired when it's closed, and it sets it on the currently
-      // selected breakpoint and we want to make sure it uses the
-      // current breakpoint. This isn't a problem outside of tests
-      // because any UI interaction will close the popup before the
-      // new breakpoint is added.
-      gSources._hideConditionalPopup();
-      initialCheck(18);
-
-      yield actions.addBreakpoint({ actor: gSources.selectedValue, line: 19 }, "true");
-      gSources._hideConditionalPopup();
-      initialCheck(19);
-
-      yield actions.addBreakpoint({ actor: gSources.selectedValue, line: 20 }, "false");
-      gSources._hideConditionalPopup();
-      initialCheck(20);
-
-      yield actions.addBreakpoint({ actor: gSources.selectedValue, line: 22 }, "randomVar");
-      gSources._hideConditionalPopup();
-      initialCheck(22);
-
-      yield resumeAndTestThrownMessage(18);
-      yield resumeAndTestNoThrownMessage(19);
-      yield resumeAndTestThrownMessage(22);
-      resumeDebuggerThenCloseAndFinish(gPanel);
-    });
-  });
-}
deleted file mode 100644
--- a/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-contextmenu-add.js
+++ /dev/null
@@ -1,84 +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 adding breakpoints from the source editor context menu
- */
-
-const TAB_URL = EXAMPLE_URL + "doc_script-switching-01.html";
-
-function test() {
-  let options = {
-    source: EXAMPLE_URL + "code_script-switching-01.js",
-    line: 1
-  };
-  initDebugger(TAB_URL, options).then(([aTab,, aPanel]) => {
-    const gTab = aTab;
-    const gPanel = aPanel;
-    const gDebugger = gPanel.panelWin;
-    const gEditor = gDebugger.DebuggerView.editor;
-    const gSources = gDebugger.DebuggerView.Sources;
-    const gContextMenu = gDebugger.document.getElementById("sourceEditorContextMenu");
-    const queries = gDebugger.require("./content/queries");
-    const actions = bindActionCreators(gPanel);
-    const getState = gDebugger.DebuggerController.getState;
-
-    Task.spawn(function* () {
-      yield waitForSourceAndCaretAndScopes(gPanel, "-02.js", 1);
-
-      is(gDebugger.gThreadClient.state, "paused",
-         "Should only be getting stack frames while paused.");
-      is(queries.getSourceCount(getState()), 2,
-         "Found the expected number of sources.");
-      isnot(gEditor.getText().indexOf("debugger"), -1,
-            "The correct source was loaded initially.");
-      is(gSources.selectedValue, gSources.values[1],
-         "The correct source is selected.");
-
-      ok(gContextMenu,
-         "The source editor's context menupopup is available.");
-
-      gEditor.focus();
-      gEditor.setSelection({ line: 1, ch: 0 }, { line: 1, ch: 10 });
-
-      gContextMenu.openPopup(gEditor.container, "overlap", 0, 0, true, false);
-      gEditor.emit("gutterClick", 6, 2);
-
-      yield once(gContextMenu, "popupshown");
-      is(queries.getBreakpoints(getState()).length, 0, "no breakpoints added");
-
-      let cmd = gContextMenu.querySelector("menuitem[command=addBreakpointCommand]");
-      EventUtils.synthesizeMouseAtCenter(cmd, {}, gDebugger);
-      yield waitForDispatch(gPanel, gDebugger.constants.ADD_BREAKPOINT);
-
-      is(queries.getBreakpoints(getState()).length, 1,
-         "1 breakpoint correctly added");
-      ok(queries.getBreakpoint(getState(),
-                               { actor: gSources.values[1], line: 7 }),
-         "Breakpoint on line 7 exists");
-
-      gContextMenu.openPopup(gEditor.container, "overlap", 0, 0, true, false);
-      gEditor.emit("gutterClick", 7, 2);
-
-      yield once(gContextMenu, "popupshown");
-      is(queries.getBreakpoints(getState()).length, 1,
-         "1 breakpoint correctly added");
-
-      cmd = gContextMenu.querySelector("menuitem[command=addConditionalBreakpointCommand]");
-      EventUtils.synthesizeMouseAtCenter(cmd, {}, gDebugger);
-      yield waitForDispatch(gPanel, gDebugger.constants.ADD_BREAKPOINT);
-
-      is(queries.getBreakpoints(getState()).length, 2,
-         "2 breakpoints correctly added");
-      ok(queries.getBreakpoint(getState(),
-                               { actor: gSources.values[1], line: 8 }),
-         "Breakpoint on line 8 exists");
-
-      resumeDebuggerThenCloseAndFinish(gPanel);
-    });
-
-    callInTab(gTab, "firstCall");
-  });
-}
deleted file mode 100644
--- a/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-contextmenu.js
+++ /dev/null
@@ -1,252 +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 if the context menu associated with each breakpoint does what it should.
- */
-
-const TAB_URL = EXAMPLE_URL + "doc_script-switching-01.html";
-
-function test() {
-  // Debug test slaves are a bit slow at this test.
-  requestLongerTimeout(2);
-
-  Task.spawn(function* () {
-    const options = {
-      source: EXAMPLE_URL + "code_script-switching-01.js",
-      line: 1
-    };
-    const [gTab,, gPanel ] = yield initDebugger(TAB_URL, options);
-    const gDebugger = gPanel.panelWin;
-    const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require("./content/queries");
-    const actions = bindActionCreators(gPanel);
-    const getState = gDebugger.DebuggerController.getState;
-
-    const addBreakpoints = Task.async(function* () {
-      yield actions.addBreakpoint({ actor: gSources.values[0], line: 5 });
-      yield actions.addBreakpoint({ actor: gSources.values[1], line: 6 });
-      yield actions.addBreakpoint({ actor: gSources.values[1], line: 7 });
-      yield actions.addBreakpoint({ actor: gSources.values[1], line: 8 });
-      yield actions.addBreakpoint({ actor: gSources.values[1], line: 9 });
-      yield ensureThreadClientState(gPanel, "resumed");
-      gSources.highlightBreakpoint({ actor: gSources.values[1], line: 9 });
-    });
-
-    const pauseAndCheck = Task.async(function* () {
-      let source = queries.getSelectedSource(getState());
-      is(source.url, EXAMPLE_URL + "code_script-switching-02.js",
-         "The currently selected source is incorrect (1).");
-      is(gSources.selectedIndex, 1,
-         "The currently selected source is incorrect (2).");
-      ok(isCaretPos(gPanel, 9),
-         "The editor location is correct before pausing.");
-
-      generateMouseClickInTab(gTab, "content.document.querySelector('button')");
-
-      return waitForSourceAndCaretAndScopes(gPanel, "-01.js", 5).then(() => {
-        let source = queries.getSelectedSource(getState());
-        is(source.url, EXAMPLE_URL + "code_script-switching-01.js",
-           "The currently selected source is incorrect (3).");
-        is(gSources.selectedIndex, 0,
-           "The currently selected source is incorrect (4).");
-        ok(isCaretPos(gPanel, 5),
-           "The editor location is correct after pausing.");
-      });
-    });
-
-    let initialChecks = Task.async(function* () {
-      for (let bp of queries.getBreakpoints(getState())) {
-        ok(bp.actor, "All breakpoint items should have an actor");
-        ok(!bp.disabled, "All breakpoints should initially be enabled.");
-
-        let prefix = "bp-cMenu-"; // "breakpoints context menu"
-        let identifier = queries.makeLocationId(bp.location);
-        let enableSelfId = prefix + "enableSelf-" + identifier + "-menuitem";
-        let disableSelfId = prefix + "disableSelf-" + identifier + "-menuitem";
-
-        // Check to make sure that only the bp context menu is shown when right clicking
-        // this node (Bug 1159276).
-        let breakpointItem = gSources._getBreakpoint(bp);
-        let menu = gDebugger.document.getElementById("bp-mPop-" + identifier);
-        let contextMenuShown = once(gDebugger.document, "popupshown");
-        EventUtils.synthesizeMouseAtCenter(breakpointItem.prebuiltNode, {type: "contextmenu", button: 2}, gDebugger);
-        let event = yield contextMenuShown;
-        is(event.originalTarget.id, menu.id, "The correct context menu was shown");
-        let contextMenuHidden = once(gDebugger.document, "popuphidden");
-        menu.hidePopup();
-        yield contextMenuHidden;
-
-        is(gDebugger.document.getElementById(enableSelfId).getAttribute("hidden"), "true",
-           "The 'Enable breakpoint' context menu item should initially be hidden'.");
-        ok(!gDebugger.document.getElementById(disableSelfId).hasAttribute("hidden"),
-           "The 'Disable breakpoint' context menu item should initially not be hidden'.");
-
-        is(breakpointItem.attachment.view.checkbox.getAttribute("checked"), "true",
-           "All breakpoints should initially have a checked checkbox.");
-      }
-    });
-
-    const checkBreakpointToggleSelf = Task.async(function* (index) {
-      EventUtils.sendMouseEvent({ type: "click" },
-                                gDebugger.document.querySelectorAll(".dbg-breakpoint")[index],
-                                gDebugger);
-
-      let selectedBreakpoint = gSources._selectedBreakpoint;
-      let selectedBreakpointItem = gSources._getBreakpoint(selectedBreakpoint);
-
-      ok(selectedBreakpoint.actor,
-         "Selected breakpoint should have an actor.");
-      ok(!selectedBreakpoint.disabled,
-         "The breakpoint should not be disabled yet (" + index + ").");
-
-      let prefix = "bp-cMenu-"; // "breakpoints context menu"
-      let identifier = queries.makeLocationId(selectedBreakpoint.location);
-      let enableSelfId = prefix + "enableSelf-" + identifier + "-menuitem";
-      let disableSelfId = prefix + "disableSelf-" + identifier + "-menuitem";
-
-      is(gDebugger.document.getElementById(enableSelfId).getAttribute("hidden"), "true",
-         "The 'Enable breakpoint' context menu item should be hidden'.");
-      ok(!gDebugger.document.getElementById(disableSelfId).hasAttribute("hidden"),
-         "The 'Disable breakpoint' context menu item should not be hidden'.");
-
-      ok(isCaretPos(gPanel, selectedBreakpoint.location.line),
-         "The source editor caret position was incorrect (" + index + ").");
-
-      // Test disabling this breakpoint.
-      gSources._onDisableSelf(selectedBreakpoint.location);
-      yield waitForDispatch(gPanel, gDebugger.constants.REMOVE_BREAKPOINT);
-
-      ok(!!queries.getBreakpoint(getState(), selectedBreakpoint.location).disabled,
-         "The breakpoint should be disabled.");
-
-      ok(!gDebugger.document.getElementById(enableSelfId).hasAttribute("hidden"),
-         "The 'Enable breakpoint' context menu item should not be hidden'.");
-      is(gDebugger.document.getElementById(disableSelfId).getAttribute("hidden"), "true",
-         "The 'Disable breakpoint' context menu item should be hidden'.");
-      ok(!selectedBreakpointItem.attachment.view.checkbox.hasAttribute("checked"),
-         "The breakpoint should now be unchecked.");
-
-      gSources._onEnableSelf(selectedBreakpoint.location);
-      yield waitForDispatch(gPanel, gDebugger.constants.ADD_BREAKPOINT);
-
-      ok(!queries.getBreakpoint(getState(), selectedBreakpoint.location).disabled,
-         "The breakpoint should be enabled.");
-      is(gDebugger.document.getElementById(enableSelfId).getAttribute("hidden"), "true",
-         "The 'Enable breakpoint' context menu item should be hidden'.");
-      ok(!gDebugger.document.getElementById(disableSelfId).hasAttribute("hidden"),
-         "The 'Disable breakpoint' context menu item should not be hidden'.");
-      ok(selectedBreakpointItem.attachment.view.checkbox.hasAttribute("checked"),
-         "The breakpoint should now be checked.");
-    });
-
-    const checkBreakpointToggleOthers = Task.async(function* (index) {
-      EventUtils.sendMouseEvent(
-        { type: "click" },
-        gDebugger.document.querySelectorAll(".dbg-breakpoint")[index],
-        gDebugger
-      );
-
-      // Test disabling other breakpoints.
-      disableOthers();
-      yield waitForDispatch(gPanel, gDebugger.constants.REMOVE_BREAKPOINT, 4);
-
-      let selectedBreakpoint = queries.getBreakpoint(getState(), gSources._selectedBreakpoint.location);
-
-      ok(selectedBreakpoint.actor,
-         "There should be a breakpoint actor.");
-      ok(!selectedBreakpoint.disabled,
-         "The targetted breakpoint should not have been disabled (" + index + ").");
-
-      for (let bp of queries.getBreakpoints(getState())) {
-        if (bp !== selectedBreakpoint) {
-          ok(bp.disabled,
-             "Non-targetted breakpoints should have been disabled.");
-        }
-      }
-
-      // Test re-enabling other breakpoints.
-      enableOthers();
-      yield waitForDispatch(gPanel, gDebugger.constants.ADD_BREAKPOINT, 4);
-      for (let bp of queries.getBreakpoints(getState())) {
-        ok(!bp.disabled, "All breakpoints should be enabled.");
-      }
-
-      // Test disabling all breakpoints.
-      disableAll();
-      yield waitForDispatch(gPanel, gDebugger.constants.REMOVE_BREAKPOINT, 5);
-      for (let bp of queries.getBreakpoints(getState())) {
-        ok(!!bp.disabled, "All breakpoints should be disabled.");
-      }
-
-      // Test re-enabling all breakpoints.
-      enableAll();
-      yield waitForDispatch(gPanel, gDebugger.constants.ADD_BREAKPOINT, 5);
-      for (let bp of queries.getBreakpoints(getState())) {
-        ok(!bp.disabled, "All breakpoints should be enabled.");
-      }
-    });
-
-    const testDeleteAll = Task.async(function* () {
-      // Test deleting all breakpoints.
-      deleteAll();
-      yield waitForDispatch(gPanel, gDebugger.constants.REMOVE_BREAKPOINT, 5);
-
-      ok(!gSources._selectedBreakpoint,
-         "There should be no breakpoint available after removing all breakpoints.");
-
-      for (let bp of queries.getBreakpoints(getState())) {
-        ok(false, "It's a trap!");
-      }
-    });
-
-    function disableOthers() {
-      gSources._onDisableOthers(gSources._selectedBreakpoint.location);
-    }
-    function enableOthers() {
-      gSources._onEnableOthers(gSources._selectedBreakpoint.location);
-    }
-    function disableAll() {
-      gSources._onDisableAll();
-    }
-    function enableAll() {
-      gSources._onEnableAll();
-    }
-    function deleteAll() {
-      gSources._onDeleteAll();
-    }
-
-    yield addBreakpoints();
-    yield initialChecks();
-    yield checkBreakpointToggleSelf(0);
-    yield checkBreakpointToggleOthers(0);
-    yield checkBreakpointToggleSelf(1);
-    yield checkBreakpointToggleOthers(1);
-    yield checkBreakpointToggleSelf(2);
-    yield checkBreakpointToggleOthers(2);
-    yield checkBreakpointToggleSelf(3);
-    yield checkBreakpointToggleOthers(3);
-    yield checkBreakpointToggleSelf(4);
-    yield checkBreakpointToggleOthers(4);
-    yield testDeleteAll();
-
-    yield addBreakpoints();
-    yield initialChecks();
-    yield pauseAndCheck();
-    yield checkBreakpointToggleSelf(0);
-    yield checkBreakpointToggleOthers(0);
-    yield checkBreakpointToggleSelf(1);
-    yield checkBreakpointToggleOthers(1);
-    yield checkBreakpointToggleSelf(2);
-    yield checkBreakpointToggleOthers(2);
-    yield checkBreakpointToggleSelf(3);
-    yield checkBreakpointToggleOthers(3);
-    yield checkBreakpointToggleSelf(4);
-    yield checkBreakpointToggleOthers(4);
-    yield testDeleteAll();
-
-    resumeDebuggerThenCloseAndFinish(gPanel);
-  });
-}
deleted file mode 100644
--- a/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-disabled-reload.js
+++ /dev/null
@@ -1,124 +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 that disabled breakpoints survive target navigation.
- */
-
-const TAB_URL = EXAMPLE_URL + "doc_script-switching-01.html";
-
-function test() {
-  let options = {
-    source: EXAMPLE_URL + "code_script-switching-01.js",
-    line: 1
-  };
-  initDebugger(TAB_URL, options).then(([aTab,, aPanel]) => {
-    const gPanel = aPanel;
-    const gTab = aTab;
-    const gDebugger = gPanel.panelWin;
-    const gEvents = gDebugger.EVENTS;
-    const gEditor = gDebugger.DebuggerView.editor;
-    const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require("./content/queries");
-    const actions = bindActionCreators(gPanel);
-    const getState = gDebugger.DebuggerController.getState;
-    let gBreakpointLocation;
-
-    Task.spawn(function* () {
-      gBreakpointLocation = { actor: getSourceActor(gSources, EXAMPLE_URL + "code_script-switching-01.js"),
-                              line: 5 };
-
-      yield actions.addBreakpoint(gBreakpointLocation);
-
-      yield ensureThreadClientState(gPanel, "resumed");
-      yield testWhenBreakpointEnabledAndFirstSourceShown();
-
-      gSources._preferredSourceURL = EXAMPLE_URL + "code_script-switching-02.js";
-      yield reloadActiveTab(gPanel, gEvents.SOURCE_SHOWN);
-      yield testWhenBreakpointEnabledAndSecondSourceShown();
-
-      yield actions.disableBreakpoint(gBreakpointLocation);
-      yield reloadActiveTab(gPanel, gEvents.SOURCE_SHOWN);
-
-      yield testWhenBreakpointDisabledAndSecondSourceShown();
-
-      yield actions.enableBreakpoint(gBreakpointLocation);
-      yield reloadActiveTab(gPanel, gEvents.SOURCE_SHOWN);
-      yield testWhenBreakpointEnabledAndSecondSourceShown();
-
-      yield resumeDebuggerThenCloseAndFinish(gPanel);
-    });
-
-    function verifyView({ disabled }) {
-      return Task.spawn(function* () {
-        // It takes a tick for the checkbox in the SideMenuWidget and the
-        // gutter in the editor to get updated.
-        yield waitForTick();
-
-        let breakpoint = queries.getBreakpoint(getState(), gBreakpointLocation);
-        let breakpointItem = gSources._getBreakpoint(breakpoint);
-        is(!!breakpoint.disabled, disabled,
-           "The selected breakpoint state was correct.");
-
-        is(breakpointItem.attachment.view.checkbox.hasAttribute("checked"), !disabled,
-          "The selected breakpoint's checkbox state was correct.");
-      });
-    }
-
-    // All the following executeSoon()'s are required to spin the event loop
-    // before causing the debuggee to pause, to allow functions to yield first.
-
-    function testWhenBreakpointEnabledAndFirstSourceShown() {
-      return Task.spawn(function* () {
-        yield ensureSourceIs(gPanel, "-01.js");
-        yield verifyView({ disabled: false });
-
-        callInTab(gTab, "firstCall");
-        yield waitForDebuggerEvents(gPanel, gEvents.FETCHED_SCOPES);
-        yield ensureSourceIs(gPanel, "-01.js");
-        yield ensureCaretAt(gPanel, 5);
-        yield verifyView({ disabled: false });
-
-        executeSoon(() => gDebugger.gThreadClient.resume());
-        yield waitForSourceAndCaretAndScopes(gPanel, "-02.js", 6);
-        yield verifyView({ disabled: false });
-      });
-    }
-
-    function testWhenBreakpointEnabledAndSecondSourceShown() {
-      return Task.spawn(function* () {
-        yield ensureSourceIs(gPanel, "-02.js", true);
-        yield verifyView({ disabled: false });
-
-        callInTab(gTab, "firstCall");
-        yield waitForSourceAndCaretAndScopes(gPanel, "-01.js", 1);
-        yield verifyView({ disabled: false });
-
-        executeSoon(() => gDebugger.gThreadClient.resume());
-        yield waitForSourceAndCaretAndScopes(gPanel, "-02.js", 6);
-        yield verifyView({ disabled: false });
-      });
-    }
-
-    function testWhenBreakpointDisabledAndSecondSourceShown() {
-      return Task.spawn(function* () {
-        yield ensureSourceIs(gPanel, "-02.js", true);
-        yield verifyView({ disabled: true });
-
-        callInTab(gTab, "firstCall");
-        yield waitForDebuggerEvents(gPanel, gEvents.FETCHED_SCOPES);
-        yield ensureSourceIs(gPanel, "-02.js");
-        yield ensureCaretAt(gPanel, 6);
-        yield verifyView({ disabled: true });
-
-        executeSoon(() => gDebugger.gThreadClient.resume());
-        yield waitForDebuggerEvents(gPanel, gEvents.AFTER_FRAMES_CLEARED);
-        yield ensureSourceIs(gPanel, "-02.js");
-        yield ensureCaretAt(gPanel, 6);
-        yield verifyView({ disabled: true });
-      });
-    }
-  });
-}
deleted file mode 100644
--- a/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-highlight.js
+++ /dev/null
@@ -1,90 +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 if breakpoints are highlighted when they should.
- */
-
-const TAB_URL = EXAMPLE_URL + "doc_script-switching-01.html";
-
-function test() {
-  let options = {
-    source: EXAMPLE_URL + "code_script-switching-01.js",
-    line: 1
-  };
-  initDebugger(TAB_URL, options).then(([aTab,, aPanel]) => {
-    const gTab = aTab;
-    const gPanel = aPanel;
-    const gDebugger = gPanel.panelWin;
-    const gEditor = gDebugger.DebuggerView.editor;
-    const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require("./content/queries");
-    const actions = bindActionCreators(gPanel);
-    const getState = gDebugger.DebuggerController.getState;
-
-    const addBreakpoints = Task.async(function* () {
-      yield actions.addBreakpoint({ actor: gSources.values[0], line: 5 });
-      yield actions.addBreakpoint({ actor: gSources.values[1], line: 6 });
-      yield actions.addBreakpoint({ actor: gSources.values[1], line: 7 });
-      yield actions.addBreakpoint({ actor: gSources.values[1], line: 8 });
-      yield actions.addBreakpoint({ actor: gSources.values[1], line: 9 });
-    });
-
-    function clickBreakpointAndCheck(aBreakpointIndex, aSourceIndex, aCaretLine) {
-      let finished = waitForCaretUpdated(gPanel, aCaretLine).then(() => {
-        checkHighlight(gSources.values[aSourceIndex], aCaretLine);
-        checkEditorContents(aSourceIndex);
-
-        is(queries.getSelectedSource(getState()).actor,
-           gSources.items[aSourceIndex].value,
-           "The currently selected source value is incorrect (1).");
-        ok(isCaretPos(gPanel, aCaretLine),
-           "The editor caret line and column were incorrect (1).");
-      });
-
-      EventUtils.sendMouseEvent(
-        { type: "click" },
-        gDebugger.document.querySelectorAll(".dbg-breakpoint")[aBreakpointIndex],
-        gDebugger
-      );
-
-      return finished;
-    }
-
-    function checkHighlight(actor, line) {
-      let breakpoint = gSources._selectedBreakpoint;
-      let breakpointItem = gSources._getBreakpoint(breakpoint);
-
-      is(breakpoint.location.actor, actor,
-         "The currently selected breakpoint actor is incorrect.");
-      is(breakpoint.location.line, line,
-         "The currently selected breakpoint line is incorrect.");
-      is(breakpointItem.attachment.actor, actor,
-         "The selected breakpoint item's source location attachment is incorrect.");
-      ok(breakpointItem.target.classList.contains("selected"),
-         "The selected breakpoint item's target should have a selected class.");
-    }
-
-    function checkEditorContents(aSourceIndex) {
-      if (aSourceIndex == 0) {
-        is(gEditor.getText().indexOf("firstCall"), 118,
-           "The first source is correctly displayed.");
-      } else {
-        is(gEditor.getText().indexOf("debugger"), 166,
-           "The second source is correctly displayed.");
-      }
-    }
-
-    Task.spawn(function* () {
-      yield addBreakpoints();
-      yield clickBreakpointAndCheck(0, 0, 5);
-      yield clickBreakpointAndCheck(1, 1, 6);
-      yield clickBreakpointAndCheck(2, 1, 7);
-      yield clickBreakpointAndCheck(3, 1, 8);
-      yield clickBreakpointAndCheck(4, 1, 9);
-      closeDebuggerAndFinish(gPanel);
-    });
-  });
-}
deleted file mode 100644
--- a/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-reload.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/ */
-
-/**
- * Make sure that setting a breakpoint on code that gets run on load, will get
- * hit when we reload.
- */
-
-const TAB_URL = EXAMPLE_URL + "doc_breakpoints-reload.html";
-
-var test = Task.async(function* () {
-  requestLongerTimeout(4);
-
-  const options = {
-    source: TAB_URL,
-    line: 1
-  };
-  const [tab,, panel] = yield initDebugger(TAB_URL, options);
-  const actions = bindActionCreators(panel);
-
-  const sources = panel.panelWin.DebuggerView.Sources;
-  yield actions.addBreakpoint({
-    actor: sources.selectedValue,
-    line: 10 // "break on me" string
-  });
-
-  const paused = waitForThreadEvents(panel, "paused");
-  yield reloadActiveTab(panel, panel.panelWin.EVENTS.SOURCE_SHOWN);
-  const packet = yield paused;
-
-  is(packet.why.type, "breakpoint",
-     "Should have hit the breakpoint after the reload");
-  is(packet.frame.where.line, 10,
-     "Should have stopped at line 10, where we set the breakpoint");
-
-  yield resumeDebuggerThenCloseAndFinish(panel);
-});
deleted file mode 100644
--- a/devtools/client/debugger/test/mochitest/browser_dbg_location-changes-01-simple.js
+++ /dev/null
@@ -1,60 +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/ */
-
-/**
- * Make sure that changing the tab location URL works.
- */
-
-const TAB_URL = EXAMPLE_URL + "doc_recursion-stack.html";
-
-function test() {
-  let options = {
-    source: TAB_URL,
-    line: 1
-  };
-  initDebugger(TAB_URL, options).then(([aTab,, aPanel]) => {
-    const gTab = aTab;
-    const gPanel = aPanel;
-    const gDebugger = gPanel.panelWin;
-    const gEditor = gDebugger.DebuggerView.editor;
-    const gSources = gDebugger.DebuggerView.Sources;
-    const gFrames = gDebugger.DebuggerView.StackFrames;
-    const constants = gDebugger.require("./content/constants");
-
-    Task.spawn(function* () {
-      let onCaretUpdated = waitForCaretAndScopes(gPanel, 14);
-      callInTab(gTab, "simpleCall");
-      yield onCaretUpdated;
-
-      is(gDebugger.gThreadClient.state, "paused",
-         "Should only be getting stack frames while paused.");
-
-      is(gFrames.itemCount, 1,
-         "Should have only one frame.");
-
-      is(gSources.itemCount, 1,
-         "Found the expected number of entries in the sources widget.");
-
-      isnot(gSources.selectedValue, null,
-            "There should be a selected source value.");
-      isnot(gEditor.getText().length, 0,
-            "The source editor should have some text displayed.");
-      isnot(gEditor.getText(), gDebugger.L10N.getStr("loadingText"),
-            "The source editor text should not be 'Loading...'");
-
-      is(gDebugger.document.querySelectorAll("#sources .side-menu-widget-empty-notice-container").length, 0,
-         "The sources widget should not display any notice at this point (1).");
-      is(gDebugger.document.querySelectorAll("#sources .side-menu-widget-empty-notice").length, 0,
-         "The sources widget should not display any notice at this point (2).");
-      is(gDebugger.document.querySelector("#sources .side-menu-widget-empty-notice > label"), null,
-         "The sources widget should not display a notice at this point (3).");
-
-      yield doResume(gPanel);
-      navigateActiveTabTo(gPanel, "about:blank");
-      yield waitForDispatch(gPanel, constants.UNLOAD);
-      closeDebuggerAndFinish(gPanel);
-    });
-  });
-}
deleted file mode 100644
--- a/devtools/client/debugger/test/mochitest/browser_dbg_location-changes-02-blank.js
+++ /dev/null
@@ -1,57 +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/ */
-
-/**
- * Make sure that changing the tab location URL to a page with no sources works.
- */
-
-const TAB_URL = EXAMPLE_URL + "doc_recursion-stack.html";
-
-function test() {
-  let options = {
-    source: TAB_URL,
-    line: 1
-  };
-  initDebugger(TAB_URL, options).then(([aTab,, aPanel]) => {
-    const gTab = aTab;
-    const gPanel = aPanel;
-    const gDebugger = gPanel.panelWin;
-    const gEditor = gDebugger.DebuggerView.editor;
-    const gSources = gDebugger.DebuggerView.Sources;
-    const gFrames = gDebugger.DebuggerView.StackFrames;
-    const constants = gDebugger.require("./content/constants");
-
-    Task.spawn(function* () {
-      let onCaretUpdated = waitForCaretUpdated(gPanel, 14);
-      callInTab(gTab, "simpleCall");
-      yield onCaretUpdated;
-
-      navigateActiveTabTo(gPanel, "about:blank");
-      yield waitForNavigation(gPanel);
-
-      isnot(gDebugger.gThreadClient.state, "paused",
-            "Should not be paused after a tab navigation.");
-
-      is(gFrames.itemCount, 0,
-         "Should have no frames.");
-
-      is(gSources.itemCount, 0,
-         "Found no entries in the sources widget.");
-
-      is(gSources.selectedValue, "",
-         "There should be no selected source value.");
-      is(gEditor.getText().length, 0,
-         "The source editor should not have any text displayed.");
-
-      is(gDebugger.document.querySelectorAll("#sources .side-menu-widget-empty-text").length, 1,
-         "The sources widget should now display a notice (1).");
-      is(gDebugger.document.querySelectorAll("#sources .side-menu-widget-empty-text")[0].getAttribute("value"),
-         gDebugger.L10N.getStr("noSourcesText"),
-         "The sources widget should now display a notice (2).");
-
-      closeDebuggerAndFinish(gPanel);
-    });
-  });
-}
deleted file mode 100644
--- a/devtools/client/debugger/test/mochitest/browser_dbg_location-changes-03-new.js
+++ /dev/null
@@ -1,59 +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/ */
-
-/**
- * Make sure that changing the tab location URL to a page with other sources works.
- */
-
-const TAB_URL_1 = EXAMPLE_URL + "doc_recursion-stack.html";
-const TAB_URL_2 = EXAMPLE_URL + "doc_iframes.html";
-
-function test() {
-  let options = {
-    source: TAB_URL_1,
-    line: 1
-  };
-  initDebugger(TAB_URL_1, options).then(([aTab, aDebuggee, aPanel]) => {
-    const gTab = aTab;
-    const gDebuggee = aDebuggee;
-    const gPanel = aPanel;
-    const gDebugger = gPanel.panelWin;
-    const gEditor = gDebugger.DebuggerView.editor;
-    const gSources = gDebugger.DebuggerView.Sources;
-    const gFrames = gDebugger.DebuggerView.StackFrames;
-    const constants = gDebugger.require("./content/constants");
-
-    Task.spawn(function* () {
-      let onCaretUpdated = waitForCaretUpdated(gPanel, 14);
-      callInTab(gTab, "simpleCall");
-      yield onCaretUpdated;
-
-      const startedLoading = waitForNextDispatch(gDebugger.DebuggerController,
-                                                 constants.LOAD_SOURCE_TEXT);
-      navigateActiveTabTo(gPanel, TAB_URL_2, gDebugger.EVENTS.SOURCE_SHOWN);
-      yield startedLoading;
-
-      isnot(gDebugger.gThreadClient.state, "paused",
-            "Should not be paused after a tab navigation.");
-      is(gFrames.itemCount, 0,
-         "Should have no frames.");
-      is(gSources.itemCount, 1,
-         "Found the expected number of entries in the sources widget.");
-
-      is(getSelectedSourceURL(gSources), EXAMPLE_URL + "doc_inline-debugger-statement.html",
-         "There should be a selected source value.");
-      isnot(gEditor.getText().length, 0,
-            "The source editor should have some text displayed.");
-      is(gEditor.getText(), gDebugger.L10N.getStr("loadingText"),
-         "The source editor text should be 'Loading...'");
-
-      is(gDebugger.document.querySelectorAll("#sources .side-menu-widget-empty-text").length, 0,
-         "The sources widget should not display any notice at this point.");
-
-      yield waitForDispatch(gPanel, constants.LOAD_SOURCE_TEXT);
-      closeDebuggerAndFinish(gPanel);
-    });
-  });
-}
deleted file mode 100644
--- a/devtools/client/debugger/test/mochitest/browser_dbg_location-changes-04-breakpoint.js
+++ /dev/null
@@ -1,165 +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/ */
-
-/**
- * Make sure that reloading a page with a breakpoint set does not cause it to
- * fire more than once.
- */
-
-const TAB_URL = EXAMPLE_URL + "doc_included-script.html";
-const SOURCE_URL = EXAMPLE_URL + "code_location-changes.js";
-
-function test() {
-  const options = {
-    source: SOURCE_URL,
-    line: 1
-  };
-  initDebugger(TAB_URL, options).then(([aTab, aDebuggee, aPanel]) => {
-    const gTab = aTab;
-    const gDebuggee = aDebuggee;
-    const gPanel = aPanel;
-    const gDebugger = gPanel.panelWin;
-    const gEditor = gDebugger.DebuggerView.editor;
-    const gSources = gDebugger.DebuggerView.Sources;
-    const queries = gDebugger.require("./content/queries");
-    const actions = bindActionCreators(gPanel);
-    const getState = gDebugger.DebuggerController.getState;
-
-    function clickButtonAndPause() {
-      const paused = waitForPause(gDebugger.gThreadClient);
-      BrowserTestUtils.synthesizeMouse("button", 2, 2, {}, gBrowser.selectedBrowser);
-      return paused;
-    }
-
-    Task.spawn(function* () {
-      let onCaretUpdated = waitForCaretUpdated(gPanel, 17);
-      callInTab(gTab, "runDebuggerStatement");
-      yield onCaretUpdated;
-
-      const location = { actor: getSourceActor(gSources, SOURCE_URL), line: 5 };
-      yield actions.addBreakpoint(location);
-
-      const caretUpdated = waitForSourceAndCaret(gPanel, ".js", 5);
-      gSources.highlightBreakpoint(location);
-      yield caretUpdated;
-      ok(true, "Switched to the desired function when adding a breakpoint");
-
-      is(gDebugger.gThreadClient.state, "paused",
-         "The breakpoint was hit (1).");
-      is(getSelectedSourceURL(gSources), SOURCE_URL,
-         "The currently shown source is correct (1).");
-      ok(isCaretPos(gPanel, 5),
-         "The source editor caret position is correct (1).");
-
-      yield doResume(gPanel);
-
-      isnot(gDebugger.gThreadClient.state, "paused",
-            "The breakpoint was not hit yet (2).");
-      is(getSelectedSourceURL(gSources), SOURCE_URL,
-         "The currently shown source is correct (2).");
-      ok(isCaretPos(gPanel, 5),
-         "The source editor caret position is correct (2).");
-
-      let packet = yield clickButtonAndPause();
-      is(packet.why.type, "breakpoint",
-         "Execution has advanced to the breakpoint.");
-      isnot(packet.why.type, "debuggerStatement",
-            "The breakpoint was hit before the debugger statement.");
-      yield ensureCaretAt(gPanel, 5, 1, true);
-
-      is(gDebugger.gThreadClient.state, "paused",
-         "The breakpoint was hit (3).");
-      is(getSelectedSourceURL(gSources), SOURCE_URL,
-         "The currently shown source is incorrect (3).");
-      ok(isCaretPos(gPanel, 5),
-         "The source editor caret position is incorrect (3).");
-
-      let paused = waitForPause(gDebugger.gThreadClient);
-      gDebugger.gThreadClient.resume();
-      packet = yield paused;
-
-      is(packet.why.type, "debuggerStatement",
-         "Execution has advanced to the next line.");
-      isnot(packet.why.type, "breakpoint",
-            "No ghost breakpoint was hit.");
-
-      yield ensureCaretAt(gPanel, 6, 1, true);
-
-      is(gDebugger.gThreadClient.state, "paused",
-         "The debugger statement was hit (4).");
-      is(getSelectedSourceURL(gSources), SOURCE_URL,
-         "The currently shown source is incorrect (4).");
-      ok(isCaretPos(gPanel, 6),
-         "The source editor caret position is incorrect (4).");
-
-      yield promise.all([
-        reload(gPanel),
-        waitForDebuggerEvents(gPanel, gDebugger.EVENTS.SOURCE_SHOWN)
-      ]);
-
-      isnot(gDebugger.gThreadClient.state, "paused",
-            "The breakpoint wasn't hit yet (5).");
-      is(getSelectedSourceURL(gSources), SOURCE_URL,
-         "The currently shown source is incorrect (5).");
-      ok(isCaretPos(gPanel, 1),
-         "The source editor caret position is incorrect (5).");
-
-      paused = waitForPause(gDebugger.gThreadClient);
-      clickButtonAndPause();
-      packet = yield paused;
-      is(packet.why.type, "breakpoint",
-         "Execution has advanced to the breakpoint.");
-      isnot(packet.why.type, "debuggerStatement",
-            "The breakpoint was hit before the debugger statement.");
-      yield ensureCaretAt(gPanel, 5, 1, true);
-
-      is(gDebugger.gThreadClient.state, "paused",
-         "The breakpoint was hit (6).");
-      is(getSelectedSourceURL(gSources), SOURCE_URL,
-         "The currently shown source is incorrect (6).");
-      ok(isCaretPos(gPanel, 5),
-         "The source editor caret position is incorrect (6).");
-
-      paused = waitForPause(gDebugger.gThreadClient);
-      gDebugger.gThreadClient.resume();
-      packet = yield paused;
-
-      is(packet.why.type, "debuggerStatement",
-         "Execution has advanced to the next line.");
-      isnot(packet.why.type, "breakpoint",
-            "No ghost breakpoint was hit.");
-
-      yield ensureCaretAt(gPanel, 6, 1, true);
-
-      is(gDebugger.gThreadClient.state, "paused",
-         "The debugger statement was hit (7).");
-      is(getSelectedSourceURL(gSources), SOURCE_URL,
-         "The currently shown source is incorrect (7).");
-      ok(isCaretPos(gPanel, 6),
-         "The source editor caret position is incorrect (7).");
-
-      let sourceShown = waitForDebuggerEvents(gPanel, gDebugger.EVENTS.SOURCE_SHOWN);
-      // Click the second source in the list.
-      yield actions.selectSource(getSourceForm(gSources, TAB_URL));
-      yield sourceShown;
-      is(gEditor.getText().indexOf("debugger"), 447,
-         "The correct source is shown in the source editor.");
-      is(gEditor.getBreakpoints().length, 0,
-         "No breakpoints should be shown for the second source.");
-      yield ensureCaretAt(gPanel, 1, 1, true);
-
-      sourceShown = waitForDebuggerEvents(gPanel, gDebugger.EVENTS.SOURCE_SHOWN);
-      yield actions.selectSource(getSourceForm(gSources, SOURCE_URL));
-      yield sourceShown;
-      is(gEditor.getText().indexOf("debugger"), 148,
-         "The correct source is shown in the source editor.");
-      is(gEditor.getBreakpoints().length, 1,
-         "One breakpoint should be shown for the first source.");
-
-      yield ensureCaretAt(gPanel, 6, 1, true);
-      resumeDebuggerThenCloseAndFinish(gPanel);
-    });
-  });
-}
deleted file mode 100644
--- a/devtools/client/debugger/test/mochitest/browser_dbg_no-dangling-breakpoints.js
+++ /dev/null
@@ -1,25 +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/ */
-
-/**
- * Bug 1201008 - Make sure you can't set a breakpoint in a blank
- * editor
- */
-
-function test() {
-  initDebugger('data:text/html,hi', { source: null }).then(([aTab,, aPanel]) => {
-    const gPanel = aPanel;
-    const gDebugger = gPanel.panelWin;
-
-    Task.spawn(function* () {
-      const editor = gDebugger.DebuggerView.editor;
-      editor.emit("gutterClick", 0);
-      is(editor.getBreakpoints().length, 0,
-         "A breakpoint should not exist");
-
-      closeDebuggerAndFinish(gPanel);
-    });
-  });
-}
deleted file mode 100644
--- a/devtools/client/debugger/test/mochitest/browser_dbg_step-out.js
+++ /dev/null
@@ -1,91 +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/ */
-
-/**
- * Make sure that stepping out of a function displays the right return value.
- */
-
-const TAB_URL = EXAMPLE_URL + "doc_step-out.html";
-
-var gTab, gPanel, gDebugger;
-var gVars;
-
-function test() {
-  let options = {
-    source: TAB_URL,
-    line: 1
-  };
-  initDebugger(TAB_URL, options).then(([aTab,, aPanel]) => {
-    gTab = aTab;
-    gPanel = aPanel;
-    gDebugger = gPanel.panelWin;
-    gVars = gDebugger.DebuggerView.Variables;
-
-    testNormalReturn();
-  });
-}
-
-function testNormalReturn() {
-  waitForCaretAndScopes(gPanel, 17).then(() => {
-    waitForCaretAndScopes(gPanel, 20).then(() => {
-      let innerScope = gVars.getScopeAtIndex(0);
-      let returnVar = innerScope.get("<return>");
-
-      is(returnVar.name, "<return>",
-        "Should have the right property name for the returned value.");
-      is(returnVar.value, 10,
-        "Should have the right property value for the returned value.");
-      ok(returnVar._internalItem, "Should be an internal item");
-      ok(returnVar._target.hasAttribute("pseudo-item"),
-         "Element should be marked as a pseudo-item");
-
-      resumeDebuggee().then(() => testReturnWithException());
-    });
-
-    EventUtils.sendMouseEvent({ type: "mousedown" },
-      gDebugger.document.getElementById("step-out"),
-      gDebugger);
-  });
-
-  generateMouseClickInTab(gTab, "content.document.getElementById('return')");
-}
-
-function testReturnWithException() {
-  waitForCaretAndScopes(gPanel, 24).then(() => {
-    waitForCaretAndScopes(gPanel, 26).then(() => {
-      let innerScope = gVars.getScopeAtIndex(0);
-      let exceptionVar = innerScope.get("<exception>");
-
-      is(exceptionVar.name, "<exception>",
-        "Should have the right property name for the returned value.");
-      is(exceptionVar.value, "boom",
-        "Should have the right property value for the returned value.");
-      ok(exceptionVar._internalItem, "Should be an internal item");
-      ok(exceptionVar._target.hasAttribute("pseudo-item"),
-         "Element should be marked as a pseudo-item");
-
-      resumeDebuggee().then(() => closeDebuggerAndFinish(gPanel));
-    });
-
-    EventUtils.sendMouseEvent({ type: "mousedown" },
-      gDebugger.document.getElementById("step-out"),
-      gDebugger);
-  });
-
-  generateMouseClickInTab(gTab, "content.document.getElementById('throw')");
-}
-
-function resumeDebuggee() {
-  let deferred = promise.defer();
-  gDebugger.gThreadClient.resume(deferred.resolve);
-  return deferred.promise;
-}
-
-registerCleanupFunction(function () {
-  gTab = null;
-  gPanel = null;
-  gDebugger = null;
-  gVars = null;
-});