--- a/devtools/client/storage/test/browser_storage_dynamic_updates.js
+++ b/devtools/client/storage/test/browser_storage_dynamic_updates.js
@@ -192,18 +192,22 @@ add_task(function*() {
yield gUI.once("sidebar-updated");
is($("#value [data-id='ss2']").value, "changed=ss2",
"Value got updated for session storage in the table");
yield findVariableViewProperties([{name: "ss2", value: "changed=ss2"}]);
- // Clearing items
- yield gWindow.clear();
+ // Clearing items. Bug 1233497 makes it so that we can no longer yield
+ // CPOWs from Tasks. We work around this by calling clear via a ContentTask
+ // instead.
+ yield ContentTask.spawn(gBrowser.selectedBrowser, null, function*() {
+ return Task.spawn(content.wrappedJSObject.clear);
+ });
yield gUI.once("store-objects-cleared");
is($$("#value .table-widget-cell").length, 0,
"Table should be cleared");
yield finishTests();
});
--- a/devtools/client/storage/test/head.js
+++ b/devtools/client/storage/test/head.js
@@ -195,50 +195,53 @@ function waitForToolboxFrameFocus(toolbo
*/
function forceCollections() {
Cu.forceGC();
Cu.forceCC();
Cu.forceShrinkingGC();
}
/**
- * Get all windows including frames recursively.
- *
- * @param {Window} [baseWindow]
- * The base window at which to start looking for child windows
- * (optional).
- * @return {Set}
- * A set of windows.
- */
-function getAllWindows(baseWindow=gWindow) {
- let windows = new Set();
-
- let _getAllWindows = function(win) {
- windows.add(win);
-
- for (let i = 0; i < win.length; i++) {
- _getAllWindows(win[i]);
- }
- };
- _getAllWindows(baseWindow);
-
- return windows;
-}
-
-/**
* Cleans up and finishes the test
*/
function* finishTests() {
- for (let win of getAllWindows()) {
- if (win.clear) {
- console.log("Clearing cookies, localStorage and indexedDBs from " +
- win.document.location);
- yield win.clear();
+ // Bug 1233497 makes it so that we can no longer yield CPOWs from Tasks.
+ // We work around this by calling clear() via a ContentTask instead.
+ yield ContentTask.spawn(gBrowser.selectedBrowser, null, function*() {
+ /**
+ * Get all windows including frames recursively.
+ *
+ * @param {Window} [baseWindow]
+ * The base window at which to start looking for child windows
+ * (optional).
+ * @return {Set}
+ * A set of windows.
+ */
+ function getAllWindows(baseWindow) {
+ let windows = new Set();
+
+ let _getAllWindows = function(win) {
+ windows.add(win);
+
+ for (let i = 0; i < win.length; i++) {
+ _getAllWindows(win[i]);
+ }
+ };
+ _getAllWindows(baseWindow);
+
+ return windows;
}
- }
+
+ let windows = getAllWindows(content.wrappedJSObject);
+ for (let win of windows) {
+ if (win.clear) {
+ yield Task.spawn(win.clear);
+ }
+ }
+ });
forceCollections();
finish();
}
// Sends a click event on the passed DOM node in an async manner
function* click(node) {
let def = promise.defer();
--- a/devtools/server/tests/browser/browser_canvasframe_helper_01.js
+++ b/devtools/server/tests/browser/browser_canvasframe_helper_01.js
@@ -13,17 +13,18 @@ const {HighlighterEnvironment} = require
const {
CanvasFrameAnonymousContentHelper
} = require("devtools/server/actors/highlighters/utils/markup");
const TEST_URL = "data:text/html;charset=utf-8,CanvasFrameAnonymousContentHelper test";
add_task(function*() {
- let doc = yield addTab(TEST_URL);
+ let browser = yield addTab(TEST_URL);
+ let doc = browser.contentDocument;
let nodeBuilder = () => {
let root = doc.createElement("div");
let child = doc.createElement("div");
child.style = "width:200px;height:200px;background:red;";
child.id = "child-element";
child.className = "child-element";
child.textContent = "test element";
--- a/devtools/server/tests/browser/browser_canvasframe_helper_02.js
+++ b/devtools/server/tests/browser/browser_canvasframe_helper_02.js
@@ -13,17 +13,18 @@ require("devtools/server/actors/inspecto
const {HighlighterEnvironment} = require("devtools/server/actors/highlighters");
const {
CanvasFrameAnonymousContentHelper
} = require("devtools/server/actors/highlighters/utils/markup");
add_task(function*() {
- let doc = yield addTab("about:preferences");
+ let browser = yield addTab("about:preferences");
+ let doc = browser.contentDocument;
let nodeBuilder = () => {
let root = doc.createElement("div");
let child = doc.createElement("div");
child.style = "width:200px;height:200px;background:red;";
child.id = "child-element";
child.className = "child-element";
child.textContent = "test element";
--- a/devtools/server/tests/browser/browser_canvasframe_helper_03.js
+++ b/devtools/server/tests/browser/browser_canvasframe_helper_03.js
@@ -14,17 +14,18 @@ const {HighlighterEnvironment} = require
const {
CanvasFrameAnonymousContentHelper
} = require("devtools/server/actors/highlighters/utils/markup");
const TEST_URL = "data:text/html;charset=utf-8,CanvasFrameAnonymousContentHelper test";
add_task(function*() {
- let doc = yield addTab(TEST_URL);
+ let browser = yield addTab(TEST_URL);
+ let doc = browser.contentDocument;
let nodeBuilder = () => {
let root = doc.createElement("div");
let child = doc.createElement("div");
child.style = "pointer-events:auto;width:200px;height:200px;background:red;";
child.id = "child-element";
child.className = "child-element";
root.appendChild(child);
--- a/devtools/server/tests/browser/browser_canvasframe_helper_04.js
+++ b/devtools/server/tests/browser/browser_canvasframe_helper_04.js
@@ -17,17 +17,18 @@ const {HighlighterEnvironment} = require
const {
CanvasFrameAnonymousContentHelper
} = require("devtools/server/actors/highlighters/utils/markup");
const TEST_URL_1 = "data:text/html;charset=utf-8,CanvasFrameAnonymousContentHelper test 1";
const TEST_URL_2 = "data:text/html;charset=utf-8,CanvasFrameAnonymousContentHelper test 2";
add_task(function*() {
- let doc = yield addTab(TEST_URL_2);
+ let browser = yield addTab(TEST_URL_2);
+ let doc = browser.contentDocument;
let nodeBuilder = () => {
let root = doc.createElement("div");
let child = doc.createElement("div");
child.style = "pointer-events:auto;width:200px;height:200px;background:red;";
child.id = "child-element";
child.className = "child-element";
child.textContent= "test content";
--- a/devtools/server/tests/browser/browser_canvasframe_helper_05.js
+++ b/devtools/server/tests/browser/browser_canvasframe_helper_05.js
@@ -15,17 +15,18 @@ const {HighlighterEnvironment} = require
const {
CanvasFrameAnonymousContentHelper
} = require("devtools/server/actors/highlighters/utils/markup");
const TEST_URL = "data:text/html;charset=utf-8,CanvasFrameAnonymousContentHelper test";
add_task(function*() {
- let doc = yield addTab(TEST_URL);
+ let browser = yield addTab(TEST_URL);
+ let doc = browser.contentDocument;
let nodeBuilder = () => {
let root = doc.createElement("div");
let parent = doc.createElement("div");
parent.style = "pointer-events:auto;width:300px;height:300px;background:yellow;";
parent.id = "parent-element";
root.appendChild(parent);
--- a/devtools/server/tests/browser/browser_canvasframe_helper_06.js
+++ b/devtools/server/tests/browser/browser_canvasframe_helper_06.js
@@ -15,17 +15,18 @@ const {HighlighterEnvironment} = require
const {
CanvasFrameAnonymousContentHelper
} = require("devtools/server/actors/highlighters/utils/markup");
const TEST_URL = "data:text/html;charset=utf-8,CanvasFrameAnonymousContentHelper test";
add_task(function*() {
- let doc = yield addTab(TEST_URL);
+ let browser = yield addTab(TEST_URL);
+ let doc = browser.contentDocument;
let nodeBuilder = () => {
let root = doc.createElement("div");
let parent = doc.createElement("div");
parent.style = "pointer-events:auto;width:300px;height:300px;background:yellow;";
parent.id = "parent-element";
root.appendChild(parent);
--- a/devtools/server/tests/browser/browser_directorscript_actors.js
+++ b/devtools/server/tests/browser/browser_directorscript_actors.js
@@ -3,17 +3,18 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
const {DirectorManagerFront} = require("devtools/server/actors/director-manager");
const {DirectorRegistry} = require("devtools/server/actors/director-registry");
add_task(function*() {
- let doc = yield addTab(MAIN_DOMAIN + "director-script-target.html");
+ let browser = yield addTab(MAIN_DOMAIN + "director-script-target.html");
+ let doc = browser.contentDocument;
initDebuggerServer();
let client = new DebuggerClient(DebuggerServer.connectPipe());
let form = yield connectDebuggerClient(client);
DirectorRegistry.clear();
let directorManager = DirectorManagerFront(client, form);
--- a/devtools/server/tests/browser/browser_directorscript_actors_error_events.js
+++ b/devtools/server/tests/browser/browser_directorscript_actors_error_events.js
@@ -3,17 +3,18 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
const {DirectorManagerFront} = require("devtools/server/actors/director-manager");
const {DirectorRegistry} = require("devtools/server/actors/director-registry");
add_task(function*() {
- let doc = yield addTab(MAIN_DOMAIN + "director-script-target.html");
+ let browser = yield addTab(MAIN_DOMAIN + "director-script-target.html");
+ let doc = browser.contentDocument;
initDebuggerServer();
let client = new DebuggerClient(DebuggerServer.connectPipe());
let form = yield connectDebuggerClient(client);
DirectorRegistry.clear();
let directorManager = DirectorManagerFront(client, form);
--- a/devtools/server/tests/browser/browser_directorscript_actors_exports.js
+++ b/devtools/server/tests/browser/browser_directorscript_actors_exports.js
@@ -5,17 +5,18 @@
"use strict";
const {DirectorManagerFront} = require("devtools/server/actors/director-manager");
const {DirectorRegistry} = require("devtools/server/actors/director-registry");
DirectorRegistry.clear();
add_task(function*() {
- let doc = yield addTab(MAIN_DOMAIN + "director-script-target.html");
+ let browser = yield addTab(MAIN_DOMAIN + "director-script-target.html");
+ let doc = browser.contentDocument;
initDebuggerServer();
let client = new DebuggerClient(DebuggerServer.connectPipe());
let form = yield connectDebuggerClient(client);
DirectorRegistry.clear();
let directorManager = DirectorManagerFront(client, form);
--- a/devtools/server/tests/browser/browser_markers-cycle-collection.js
+++ b/devtools/server/tests/browser/browser_markers-cycle-collection.js
@@ -7,17 +7,18 @@
*/
const { PerformanceFront } = require("devtools/server/actors/performance");
add_task(function*() {
// This test runs very slowly on linux32 debug EC2 instances.
requestLongerTimeout(2);
- let doc = yield addTab(MAIN_DOMAIN + "doc_force_cc.html");
+ let browser = yield addTab(MAIN_DOMAIN + "doc_force_cc.html");
+ let doc = browser.contentDocument;
initDebuggerServer();
let client = new DebuggerClient(DebuggerServer.connectPipe());
let form = yield connectDebuggerClient(client);
let front = PerformanceFront(client, form);
yield front.connect();
let rec = yield front.startRecording({ withMarkers: true });
--- a/devtools/server/tests/browser/browser_markers-docloading-01.js
+++ b/devtools/server/tests/browser/browser_markers-docloading-01.js
@@ -4,17 +4,18 @@
/**
* Test that we get DOMContentLoaded and Load markers
*/
const { TimelineFront } = require("devtools/server/actors/timeline");
const MARKER_NAMES = ["document::DOMContentLoaded", "document::Load"];
add_task(function*() {
- let doc = yield addTab(MAIN_DOMAIN + "doc_innerHTML.html");
+ let browser = yield addTab(MAIN_DOMAIN + "doc_innerHTML.html");
+ let doc = browser.contentDocument;
initDebuggerServer();
let client = new DebuggerClient(DebuggerServer.connectPipe());
let form = yield connectDebuggerClient(client);
let front = TimelineFront(client, form);
let rec = yield front.start({ withMarkers: true });
front.once("doc-loading", e => {
--- a/devtools/server/tests/browser/browser_markers-docloading-02.js
+++ b/devtools/server/tests/browser/browser_markers-docloading-02.js
@@ -4,17 +4,18 @@
/**
* Test that we get DOMContentLoaded and Load markers
*/
const { TimelineFront } = require("devtools/server/actors/timeline");
const MARKER_NAMES = ["document::DOMContentLoaded", "document::Load"];
add_task(function*() {
- let doc = yield addTab(MAIN_DOMAIN + "doc_innerHTML.html");
+ let browser = yield addTab(MAIN_DOMAIN + "doc_innerHTML.html");
+ let doc = browser.contentDocument;
initDebuggerServer();
let client = new DebuggerClient(DebuggerServer.connectPipe());
let form = yield connectDebuggerClient(client);
let front = TimelineFront(client, form);
let rec = yield front.start({ withMarkers: true, withDocLoadingEvents: true });
yield new Promise(resolve => {
--- a/devtools/server/tests/browser/browser_markers-docloading-03.js
+++ b/devtools/server/tests/browser/browser_markers-docloading-03.js
@@ -4,17 +4,18 @@
/**
* Test that we get DOMContentLoaded and Load markers
*/
const { TimelineFront } = require("devtools/server/actors/timeline");
const MARKER_NAMES = ["document::DOMContentLoaded", "document::Load"];
add_task(function*() {
- let doc = yield addTab(MAIN_DOMAIN + "doc_innerHTML.html");
+ let browser = yield addTab(MAIN_DOMAIN + "doc_innerHTML.html");
+ let doc = browser.contentDocument;
initDebuggerServer();
let client = new DebuggerClient(DebuggerServer.connectPipe());
let form = yield connectDebuggerClient(client);
let front = TimelineFront(client, form);
let rec = yield front.start({ withDocLoadingEvents: true });
waitForMarkerType(front, MARKER_NAMES, () => true, e => e, "markers").then(e => {
--- a/devtools/server/tests/browser/browser_markers-gc.js
+++ b/devtools/server/tests/browser/browser_markers-gc.js
@@ -4,17 +4,18 @@
/**
* Test that we get "GarbageCollection" markers.
*/
const { PerformanceFront } = require("devtools/server/actors/performance");
const MARKER_NAME = "GarbageCollection";
add_task(function*() {
- let doc = yield addTab(MAIN_DOMAIN + "doc_force_gc.html");
+ let browser = yield addTab(MAIN_DOMAIN + "doc_force_gc.html");
+ let doc = browser.contentDocument;
initDebuggerServer();
let client = new DebuggerClient(DebuggerServer.connectPipe());
let form = yield connectDebuggerClient(client);
let front = PerformanceFront(client, form);
yield front.connect();
let rec = yield front.startRecording({ withMarkers: true });
--- a/devtools/server/tests/browser/browser_markers-parse-html.js
+++ b/devtools/server/tests/browser/browser_markers-parse-html.js
@@ -4,17 +4,18 @@
/**
* Test that we get "Parse HTML" markers.
*/
const { PerformanceFront } = require("devtools/server/actors/performance");
const MARKER_NAME = "Parse HTML";
add_task(function*() {
- let doc = yield addTab(MAIN_DOMAIN + "doc_innerHTML.html");
+ let browser = yield addTab(MAIN_DOMAIN + "doc_innerHTML.html");
+ let doc = browser.contentDocument;
initDebuggerServer();
let client = new DebuggerClient(DebuggerServer.connectPipe());
let form = yield connectDebuggerClient(client);
let front = PerformanceFront(client, form);
yield front.connect();
let rec = yield front.startRecording({ withMarkers: true });
--- a/devtools/server/tests/browser/browser_markers-styles.js
+++ b/devtools/server/tests/browser/browser_markers-styles.js
@@ -4,17 +4,18 @@
/**
* Test that we get "Styles" markers with correct meta.
*/
const { PerformanceFront } = require("devtools/server/actors/performance");
const MARKER_NAME = "Styles";
add_task(function*() {
- let doc = yield addTab(MAIN_DOMAIN + "doc_perf.html");
+ let browser = yield addTab(MAIN_DOMAIN + "doc_perf.html");
+ let doc = browser.contentDocument;
initDebuggerServer();
let client = new DebuggerClient(DebuggerServer.connectPipe());
let form = yield connectDebuggerClient(client);
let front = PerformanceFront(client, form);
yield front.connect();
let rec = yield front.startRecording({ withMarkers: true });
--- a/devtools/server/tests/browser/browser_markers-timestamp.js
+++ b/devtools/server/tests/browser/browser_markers-timestamp.js
@@ -5,17 +5,18 @@
* Test that we get a "TimeStamp" marker.
*/
const { PerformanceFront } = require("devtools/server/actors/performance");
const { consoleMethod, PMM_loadFrameScripts } = require("devtools/shared/performance/process-communication");
const MARKER_NAME = "TimeStamp";
add_task(function*() {
- let doc = yield addTab(MAIN_DOMAIN + "doc_perf.html");
+ let browser = yield addTab(MAIN_DOMAIN + "doc_perf.html");
+ let doc = browser.contentDocument;
initDebuggerServer();
let client = new DebuggerClient(DebuggerServer.connectPipe());
let form = yield connectDebuggerClient(client);
let front = PerformanceFront(client, form);
yield front.connect();
let rec = yield front.startRecording({ withMarkers: true });
--- a/devtools/server/tests/browser/browser_navigateEvents.js
+++ b/devtools/server/tests/browser/browser_navigateEvents.js
@@ -112,28 +112,28 @@ function getServerTabActor(callback) {
client.addListener("tabNavigated", function (aEvent, aPacket) {
assertEvent("tabNavigated", aPacket);
});
}
function test() {
// Open a test tab
- addTab(URL1).then(function(doc) {
+ addTab(URL1).then(function(browser) {
+ let doc = browser.contentDocument;
getServerTabActor(function (tabActor) {
// In order to listen to internal will-navigate/navigate events
events.on(tabActor, "will-navigate", function (data) {
assertEvent("will-navigate", data);
});
events.on(tabActor, "navigate", function (data) {
assertEvent("navigate", data);
});
// Start listening for page load events
- let browser = gBrowser.selectedBrowser;
browser.addEventListener("DOMContentLoaded", onDOMContentLoaded, true);
browser.addEventListener("load", onLoad, true);
// Listen for alert() call being made in navigate-first during unload
waitForOnBeforeUnloadDialog(browser, function (btnLeave, btnStay) {
assertEvent("unload-dialog");
// accept to quit this page to another
btnLeave.click();
--- a/devtools/server/tests/browser/browser_perf-allocation-data.js
+++ b/devtools/server/tests/browser/browser_perf-allocation-data.js
@@ -3,17 +3,18 @@
/**
* Test that we have allocation data coming from the front.
*/
const { PerformanceFront } = require("devtools/server/actors/performance");
add_task(function*() {
- let doc = yield addTab(MAIN_DOMAIN + "doc_allocations.html");
+ let browser = yield addTab(MAIN_DOMAIN + "doc_allocations.html");
+ let doc = browser.contentDocument;
initDebuggerServer();
let client = new DebuggerClient(DebuggerServer.connectPipe());
let form = yield connectDebuggerClient(client);
let front = PerformanceFront(client, form);
yield front.connect();
let rec = yield front.startRecording({ withMarkers: true, withAllocations: true, withTicks: true });
--- a/devtools/server/tests/browser/browser_perf-profiler-01.js
+++ b/devtools/server/tests/browser/browser_perf-profiler-01.js
@@ -6,17 +6,18 @@
* profiler module if not necessary, and doesn't deactivate it when
* a recording is stopped.
*/
const { PerformanceFront } = require("devtools/server/actors/performance");
const { sendProfilerCommand, PMM_isProfilerActive, PMM_stopProfiler, PMM_loadFrameScripts } = require("devtools/shared/performance/process-communication");
add_task(function*() {
- let doc = yield addTab(MAIN_DOMAIN + "doc_perf.html");
+ let browser = yield addTab(MAIN_DOMAIN + "doc_perf.html");
+ let doc = browser.contentDocument;
initDebuggerServer();
let client = new DebuggerClient(DebuggerServer.connectPipe());
let form = yield connectDebuggerClient(client);
let front = PerformanceFront(client, form);
yield front.connect();
PMM_loadFrameScripts(gBrowser);
--- a/devtools/server/tests/browser/browser_perf-realtime-markers.js
+++ b/devtools/server/tests/browser/browser_perf-realtime-markers.js
@@ -3,17 +3,18 @@
/**
* Test functionality of real time markers.
*/
const { PerformanceFront } = require("devtools/server/actors/performance");
add_task(function*() {
- let doc = yield addTab(MAIN_DOMAIN + "doc_perf.html");
+ let browser = yield addTab(MAIN_DOMAIN + "doc_perf.html");
+ let doc = browser.contentDocument;
initDebuggerServer();
let client = new DebuggerClient(DebuggerServer.connectPipe());
let form = yield connectDebuggerClient(client);
let front = PerformanceFront(client, form);
yield front.connect();
let lastMemoryDelta = 0;
--- a/devtools/server/tests/browser/browser_perf-recording-actor-01.js
+++ b/devtools/server/tests/browser/browser_perf-recording-actor-01.js
@@ -4,17 +4,18 @@
/**
* Tests the state of a recording rec from start to finish for recording,
* completed, and rec data.
*/
const { PerformanceFront } = require("devtools/server/actors/performance");
add_task(function*() {
- let doc = yield addTab(MAIN_DOMAIN + "doc_perf.html");
+ let browser = yield addTab(MAIN_DOMAIN + "doc_perf.html");
+ let doc = browser.contentDocument;
initDebuggerServer();
let client = new DebuggerClient(DebuggerServer.connectPipe());
let form = yield connectDebuggerClient(client);
let front = PerformanceFront(client, form);
yield front.connect();
let rec = yield front.startRecording({ withMarkers: true, withTicks: true, withMemory: true });
--- a/devtools/server/tests/browser/browser_perf-recording-actor-02.js
+++ b/devtools/server/tests/browser/browser_perf-recording-actor-02.js
@@ -6,17 +6,18 @@
*/
var BUFFER_SIZE = 20000;
var config = { bufferSize: BUFFER_SIZE };
const { PerformanceFront } = require("devtools/server/actors/performance");
add_task(function*() {
- let doc = yield addTab(MAIN_DOMAIN + "doc_perf.html");
+ let browser = yield addTab(MAIN_DOMAIN + "doc_perf.html");
+ let doc = browser.contentDocument;
initDebuggerServer();
let client = new DebuggerClient(DebuggerServer.connectPipe());
let form = yield connectDebuggerClient(client);
let front = PerformanceFront(client, form);
yield front.connect();
yield front.setProfilerStatusInterval(10);
--- a/devtools/server/tests/browser/browser_perf-samples-01.js
+++ b/devtools/server/tests/browser/browser_perf-samples-01.js
@@ -6,17 +6,18 @@
* normalized before passed to consumers.
*/
const WAIT_TIME = 1000; // ms
const { PerformanceFront } = require("devtools/server/actors/performance");
add_task(function*() {
- let doc = yield addTab(MAIN_DOMAIN + "doc_perf.html");
+ let browser = yield addTab(MAIN_DOMAIN + "doc_perf.html");
+ let doc = browser.contentDocument;
initDebuggerServer();
let client = new DebuggerClient(DebuggerServer.connectPipe());
let form = yield connectDebuggerClient(client);
let front = PerformanceFront(client, form);
yield front.connect();
// Perform the first recording...
--- a/devtools/server/tests/browser/browser_perf-samples-02.js
+++ b/devtools/server/tests/browser/browser_perf-samples-02.js
@@ -7,17 +7,18 @@
* devtools/client/performance/modules/logic/tree-model.js will have to be changed.
*/
const WAIT_TIME = 1000; // ms
const { PerformanceFront } = require("devtools/server/actors/performance");
add_task(function*() {
- let doc = yield addTab(MAIN_DOMAIN + "doc_perf.html");
+ let browser = yield addTab(MAIN_DOMAIN + "doc_perf.html");
+ let doc = browser.contentDocument;
initDebuggerServer();
let client = new DebuggerClient(DebuggerServer.connectPipe());
let form = yield connectDebuggerClient(client);
let front = PerformanceFront(client, form);
yield front.connect();
let rec = yield front.startRecording();
--- a/devtools/server/tests/browser/browser_storage_dynamic_windows.js
+++ b/devtools/server/tests/browser/browser_storage_dynamic_windows.js
@@ -297,17 +297,18 @@ function testRemoveIframe() {
iframe.remove();
break;
}
}
});
}
function test() {
- addTab(MAIN_DOMAIN + "storage-dynamic-windows.html").then(function(doc) {
+ addTab(MAIN_DOMAIN + "storage-dynamic-windows.html").then(function(browser) {
+ let doc = browser.contentDocument;
initDebuggerServer();
let createConnection = () => {
let client = new DebuggerClient(DebuggerServer.connectPipe());
connectDebuggerClient(client).then(form => {
gFront = StorageFront(client, form);
gFront.listStores().then(data => testStores(data, client));
});
--- a/devtools/server/tests/browser/browser_storage_listings.js
+++ b/devtools/server/tests/browser/browser_storage_listings.js
@@ -631,17 +631,18 @@ var testIDBEntries = Task.async(function
}
if (index == Object.keys(hosts).length - 1) {
return;
}
yield testObjectStores(++index, hosts, indexedDBActor);
});
function test() {
- addTab(MAIN_DOMAIN + "storage-listings.html").then(function(doc) {
+ addTab(MAIN_DOMAIN + "storage-listings.html").then(function(browser) {
+ let doc = browser.contentDocument;
initDebuggerServer();
let createConnection = () => {
let client = new DebuggerClient(DebuggerServer.connectPipe());
connectDebuggerClient(client).then(form => {
let front = StorageFront(client, form);
front.listStores().then(data => testStores(data))
.then(() => finishTests(client));
--- a/devtools/server/tests/browser/browser_storage_updates.js
+++ b/devtools/server/tests/browser/browser_storage_updates.js
@@ -277,17 +277,18 @@ function storesCleared(data) {
function* finishTests(client) {
yield client.close();
DebuggerServer.destroy();
finish();
}
add_task(function*() {
- let doc = yield addTab(MAIN_DOMAIN + "storage-updates.html");
+ let browser = yield addTab(MAIN_DOMAIN + "storage-updates.html");
+ let doc = browser.contentDocument;
initDebuggerServer();
let client = new DebuggerClient(DebuggerServer.connectPipe());
let form = yield connectDebuggerClient(client);
let front = StorageFront(client, form);
let win = doc.defaultView.wrappedJSObject;
--- a/devtools/server/tests/browser/browser_stylesheets_nested-iframes.js
+++ b/devtools/server/tests/browser/browser_stylesheets_nested-iframes.js
@@ -5,17 +5,18 @@
"use strict";
// Test that StyleSheetsActor.getStyleSheets() works if an iframe does not have
// a content document.
const {StyleSheetsFront} = require("devtools/server/actors/stylesheets");
add_task(function*() {
- let doc = yield addTab(MAIN_DOMAIN + "stylesheets-nested-iframes.html");
+ let browser = yield addTab(MAIN_DOMAIN + "stylesheets-nested-iframes.html");
+ let doc = browser.contentDocument;
info("Initialising the debugger server and client.");
initDebuggerServer();
let client = new DebuggerClient(DebuggerServer.connectPipe());
let form = yield connectDebuggerClient(client);
info("Attaching to the active tab.");
yield client.attachTab(form.actor);
--- a/devtools/server/tests/browser/browser_timeline.js
+++ b/devtools/server/tests/browser/browser_timeline.js
@@ -8,17 +8,18 @@
// simple use case, and that markers events are sent when operations occur.
// Note that this test isn't concerned with which markers are actually recorded,
// just that markers are recorded at all.
// Trying to check marker types here may lead to intermittents, see bug 1066474.
const {TimelineFront} = require("devtools/server/actors/timeline");
add_task(function*() {
- let doc = yield addTab("data:text/html;charset=utf-8,mop");
+ let browser = yield addTab("data:text/html;charset=utf-8,mop");
+ let doc = browser.contentDocument;
initDebuggerServer();
let client = new DebuggerClient(DebuggerServer.connectPipe());
let form = yield connectDebuggerClient(client);
let front = TimelineFront(client, form);
ok(front, "The TimelineFront was created");
--- a/devtools/server/tests/browser/browser_timeline_actors.js
+++ b/devtools/server/tests/browser/browser_timeline_actors.js
@@ -5,17 +5,18 @@
"use strict";
// Test that the timeline can also record data from the memory and framerate
// actors, emitted as events in tadem with the markers.
const {TimelineFront} = require("devtools/server/actors/timeline");
add_task(function*() {
- let doc = yield addTab("data:text/html;charset=utf-8,mop");
+ let browser = yield addTab("data:text/html;charset=utf-8,mop");
+ let doc = browser.contentDocument;
initDebuggerServer();
let client = new DebuggerClient(DebuggerServer.connectPipe());
let form = yield connectDebuggerClient(client);
let front = TimelineFront(client, form);
info("Start timeline marker recording");
yield front.start({ withMemory: true, withTicks: true });
--- a/devtools/server/tests/browser/browser_timeline_iframes.js
+++ b/devtools/server/tests/browser/browser_timeline_iframes.js
@@ -5,17 +5,18 @@
"use strict";
// Test the timeline front receives markers events for operations that occur in
// iframes.
const {TimelineFront} = require("devtools/server/actors/timeline");
add_task(function*() {
- let doc = yield addTab(MAIN_DOMAIN + "timeline-iframe-parent.html");
+ let browser = yield addTab(MAIN_DOMAIN + "timeline-iframe-parent.html");
+ let doc = browser.contentDocument;
initDebuggerServer();
let client = new DebuggerClient(DebuggerServer.connectPipe());
let form = yield connectDebuggerClient(client);
let front = TimelineFront(client, form);
info("Start timeline marker recording");
yield front.start({ withMarkers: true });
--- a/devtools/server/tests/browser/head.js
+++ b/devtools/server/tests/browser/head.js
@@ -20,34 +20,37 @@ const ALT_DOMAIN = "http://sectest1.exam
const ALT_DOMAIN_SECURED = "https://sectest1.example.org:443/" + PATH;
// All tests are asynchronous.
waitForExplicitFinish();
/**
* Add a new test tab in the browser and load the given url.
* @param {String} url The url to be loaded in the new tab
- * @return a promise that resolves to the document when the url is loaded
+ * @return a promise that resolves to the new browser that the document
+ * is loaded in. Note that we cannot return the document
+ * directly, since this would be a CPOW in the e10s case,
+ * and Promises cannot be resolved with CPOWs (see bug 1233497).
*/
var addTab = Task.async(function* (url) {
info("Adding a new tab with URL: '" + url + "'");
let tab = gBrowser.selectedTab = gBrowser.addTab();
let loaded = once(gBrowser.selectedBrowser, "load", true);
content.location = url;
yield loaded;
info("URL '" + url + "' loading complete");
yield new Promise(resolve => {
let isBlank = url == "about:blank";
waitForFocus(resolve, content, isBlank);
});
- return tab.linkedBrowser.contentWindow.document;
+ return tab.linkedBrowser;
});
function* initAnimationsFrontForUrl(url) {
const {AnimationsFront} = require("devtools/server/actors/animation");
const {InspectorFront} = require("devtools/server/actors/inspector");
yield addTab(url);