Bug 1254843 - Intermittent e10s browser_thumbnails_bg_no_cookies_sent.js | uncaught exception - Error: operation not possible on dead CPOW at :0. r?markh
MozReview-Commit-ID: JH6zieXx2Sz
--- a/toolkit/components/thumbnails/test/browser_thumbnails_bg_no_cookies_sent.js
+++ b/toolkit/components/thumbnails/test/browser_thumbnails_bg_no_cookies_sent.js
@@ -1,31 +1,33 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
function* runTests() {
// Visit the test page in the browser and tell it to set a cookie.
let url = bgTestPageURL({ setGreenCookie: true });
- let tab = gBrowser.loadOneTab(url, { inBackground: false });
+ let tab = yield BrowserTestUtils.openNewForegroundTab(gBrowser, url);
let browser = tab.linkedBrowser;
- yield whenLoaded(browser);
// The root element of the page shouldn't be green yet.
- let greenStr = "rgb(0, 255, 0)";
- isnot(browser.contentDocument.documentElement.style.backgroundColor,
- greenStr,
- "The page shouldn't be green yet.");
+ yield ContentTask.spawn(browser, null, function () {
+ Assert.notEqual(content.document.documentElement.style.backgroundColor,
+ "rgb(0, 255, 0)",
+ "The page shouldn't be green yet.");
+ });
// Cookie should be set now. Reload the page to verify. Its root element
// will be green if the cookie's set.
browser.reload();
- yield whenLoaded(browser);
- is(browser.contentDocument.documentElement.style.backgroundColor,
- greenStr,
- "The page should be green now.");
+ yield BrowserTestUtils.browserLoaded(browser);
+ yield ContentTask.spawn(browser, null, function () {
+ Assert.equal(content.document.documentElement.style.backgroundColor,
+ "rgb(0, 255, 0)",
+ "The page should be green now.");
+ });
// Capture the page. Get the image data of the capture and verify it's not
// green. (Checking only the first pixel suffices.)
yield bgCapture(url);
ok(thumbnailExists(url), "Thumbnail file should exist after capture.");
retrieveImageDataForURL(url, function ([r, g, b]) {
isnot([r, g, b].toString(), [0, 255, 0].toString(),
--- a/toolkit/components/thumbnails/test/head.js
+++ b/toolkit/components/thumbnails/test/head.js
@@ -50,22 +50,23 @@ var TestRunner = {
},
/**
* Runs the next available test or finishes if there's no test left.
* @param aValue This value will be passed to the yielder via the runner's
* iterator.
*/
next: function (aValue) {
- let { done, value } = TestRunner._iter.next(aValue);
- if (done) {
+ let obj = TestRunner._iter.next(aValue);
+ if (obj.done) {
finish();
return;
}
+ let value = obj.value || obj;
if (value && typeof value.then == "function") {
value.then(result => {
next(result);
}, error => {
ok(false, error + "\n" + error.stack);
});
}
}