Bug 1451460 - Trim some dead code from the TPS test. r?rwood draft
authorMike Conley <mconley@mozilla.com>
Thu, 05 Apr 2018 14:06:06 -0400
changeset 779373 f94785c3f7fc6ade8c9ff5112c2522b0f8182bce
parent 779372 fa3be41d686cc96078681309293165789cce2204
child 779374 268400a2b913a030fbc7a76ca5a568e7f4359a92
push id105760
push usermconley@mozilla.com
push dateMon, 09 Apr 2018 20:21:39 +0000
reviewersrwood
bugs1451460
milestone61.0a1
Bug 1451460 - Trim some dead code from the TPS test. r?rwood MozReview-Commit-ID: 7ksAbeCT1LS
testing/talos/talos/tests/tabswitch/api.js
--- a/testing/talos/talos/tests/tabswitch/api.js
+++ b/testing/talos/talos/tests/tabswitch/api.js
@@ -1,51 +1,26 @@
 // -*- Mode: js; tab-width: 2; indent-tabs-mode: nil; js2-basic-offset: 2; js2-skip-preprocessor-directives: t; -*-
 
-/* globals APP_SHUTDOWN, ExtensionAPI */
+/* globals ExtensionAPI */
 
 ChromeUtils.import("resource://gre/modules/Services.jsm");
-ChromeUtils.import("resource://gre/modules/Promise.jsm");
 ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
 ChromeUtils.import("resource://gre/modules/Task.jsm");
-ChromeUtils.import("resource://gre/modules/Timer.jsm");
 ChromeUtils.import("resource://gre/modules/RemotePageManager.jsm");
 
-let aboutNewTabService = Cc["@mozilla.org/browser/aboutnewtab-service;1"]
-                           .getService(Ci.nsIAboutNewTabService);
-
-var aboutBlankTab = null;
 let context = {};
 let TalosParentProfiler;
 
-var windowListener = {
-  onOpenWindow(aWindow) {
-    // Ensure we don't get tiles which contact the network
-    aboutNewTabService.newTabURL = "about:blank";
-
-    // Wait for the window to finish loading
-    let window = aWindow.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindow);
-    let cb = function() {
-      window.removeEventListener("load", cb);
-      loadIntoWindow(window);
-    };
-    window.addEventListener("load", cb);
-  },
-
-  onCloseWindow(aWindow) {
-    aboutNewTabService.resetNewTabURL();
-  },
-};
-
 function promiseOneEvent(target, eventName, capture) {
-  let deferred = Promise.defer();
-  target.addEventListener(eventName, function handler(event) {
-    deferred.resolve();
-  }, {capture, once: true});
-  return deferred.promise;
+  return new Promise(resolve => {
+    target.addEventListener(eventName, function handler(event) {
+      resolve();
+    }, {capture, once: true});
+  });
 }
 
 function executeSoon(callback) {
   Services.tm.dispatchToMainThread(callback);
 }
 
 /**
  * Returns a Promise that resolves when browser-delayed-startup-finished
@@ -443,39 +418,16 @@ function test(window) {
     });
 
     TalosParentProfiler.afterProfileGathered().then(() => {
       win.close();
     });
   });
 }
 
-function unloadFromWindow(window) {
-  if (!window)
-    return;
-  let toolsMenu = window.document.getElementById("menu_ToolsPopup");
-  if (!toolsMenu)
-    return;
-  toolsMenu.removeChild(window.document.getElementById("start_test_item"));
-}
-
-function loadIntoWindow(window) {
-  if (!window)
-    return;
-  let item = window.document.createElement("menuitem");
-  item.setAttribute("label", "Start test");
-  item.id = "start_test_item";
-  window.tab_switch_test = test;
-  item.setAttribute("oncommand", "tab_switch_test(window)");
-  let toolsMenu = window.document.getElementById("menu_ToolsPopup");
-  if (!toolsMenu)
-    return;
-  toolsMenu.appendChild(item);
-}
-
 function handleFile(win, file) {
   let localFile = Cc["@mozilla.org/file/local;1"]
     .createInstance(Ci.nsIFile);
   localFile.initWithPath(file);
   let localURI = Services.io.newFileURI(localFile);
   let req = new win.XMLHttpRequest();
   req.open("get", localURI.spec, false);
   req.send(null);
@@ -508,44 +460,33 @@ var observer = {
 
 var remotePage;
 
 this.tps = class extends ExtensionAPI {
   getAPI(context) {
     return {
       tps: {
         setup({ frameScriptPath }) {
-          let list = Services.wm.getEnumerator("navigator:browser");
-          let window;
-          while (list.hasMoreElements()) {
-            window = list.getNext().QueryInterface(Ci.nsIDOMWindow);
-            loadIntoWindow(window);
-          }
+          const AboutNewTabService = Cc["@mozilla.org/browser/aboutnewtab-service;1"]
+                                       .getService(Ci.nsIAboutNewTabService);
+          AboutNewTabService.newTabURL = "about:blank";
+
           // Load into any new windows
-          Services.wm.addListener(windowListener);
           Services.obs.addObserver(observer, "tabswitch-urlfile");
 
           const frameScriptURL = context.extension.baseURI.resolve(frameScriptPath);
           Services.ppmm.loadFrameScript(frameScriptURL, true);
           remotePage = new RemotePages("about:tabswitch");
           remotePage.addMessageListener("tabswitch-do-test", function doTest(msg) {
             test(msg.target.browser.ownerGlobal);
           });
 
           return () => {
             Services.ppmm.sendAsyncMessage("TPS:Teardown");
-
-            Services.wm.removeListener(windowListener);
-
-            // Unload from any existing windows
-            let list = Services.wm.getEnumerator("navigator:browser");
-            while (list.hasMoreElements()) {
-              let window = list.getNext().QueryInterface(Ci.nsIDOMWindow);
-              unloadFromWindow(window);
-            }
             Services.obs.removeObserver(observer, "tabswitch-urlfile");
             remotePage.destroy();
+            AboutNewTabService.resetNewTabURL();
           };
         }
       }
     };
   }
 };