Bug 1346286 - Remove CPOWs from browser_bug554155.js. r=Gijs draft
authorBlake Kaplan <mrbkap@gmail.com>
Thu, 09 Mar 2017 15:52:25 -0800
changeset 499554 2763cf2fae9a306d3900709ee240ddc823d12f8d
parent 499553 55a864ea1b588731aabf851c8459c71ff42d8b61
child 499555 546079904b670b325da9cbfade87525127c5dbe4
push id49450
push userbmo:mrbkap@mozilla.com
push dateWed, 15 Mar 2017 23:51:54 +0000
reviewersGijs
bugs1346286, 554155
milestone55.0a1
Bug 1346286 - Remove CPOWs from browser_bug554155.js. r=Gijs MozReview-Commit-ID: IrvBw8LNt3B
docshell/test/browser/browser_bug554155.js
--- a/docshell/test/browser/browser_bug554155.js
+++ b/docshell/test/browser/browser_bug554155.js
@@ -1,31 +1,26 @@
-function test() {
-  waitForExplicitFinish();
-
-  let tab = gBrowser.addTab("http://example.com");
-
-  tab.linkedBrowser.addEventListener("load", function() {
+add_task(function* test() {
+  yield BrowserTestUtils.withNewTab({ gBrowser, url: "http://example.com" }, function* (browser) {
     let numLocationChanges = 0;
 
     let listener = {
       onLocationChange: function(browser, webProgress, request, uri, flags) {
         info("location change: " + (uri && uri.spec));
         numLocationChanges++;
       }
     };
 
     gBrowser.addTabsProgressListener(listener);
 
-    // pushState to a new URL (http://example.com/foo").  This should trigger
-    // exactly one LocationChange event.
-    tab.linkedBrowser.contentWindow.history.pushState(null, null, "foo");
-
-    executeSoon(function() {
-      gBrowser.removeTab(tab);
-      gBrowser.removeTabsProgressListener(listener);
-      is(numLocationChanges, 1,
-         "pushState should cause exactly one LocationChange event.");
-      finish();
+    yield ContentTask.spawn(browser, null, function() {
+      // pushState to a new URL (http://example.com/foo").  This should trigger
+      // exactly one LocationChange event.
+      content.history.pushState(null, null, "foo");
     });
 
-  }, {capture: true, once: true});
-}
+    yield Promise.resolve();
+
+    gBrowser.removeTabsProgressListener(listener);
+    is(numLocationChanges, 1,
+       "pushState should cause exactly one LocationChange event.");
+  });
+});