Bug 1410206 - Remove non-e10s support from talos; r=jmaher
authorRob Wood <rwood@mozilla.com>
Thu, 26 Oct 2017 15:16:40 -0400
changeset 688103 0f5cb58689c24d999d6804f1b17d1fd9794cf9d6
parent 688102 905239391e05483e8fb221378dd2092c5a0df8b7
child 688104 9ded8c9fd0d253bc781f970c30daf6ae6119e32d
push id86669
push userhikezoe@mozilla.com
push dateSat, 28 Oct 2017 10:13:18 +0000
reviewersjmaher
bugs1410206
milestone58.0a1
Bug 1410206 - Remove non-e10s support from talos; r=jmaher MozReview-Commit-ID: 2iCM35XAXJM
testing/talos/talos/cmdline.py
testing/talos/talos/config.py
testing/talos/talos/pageloader/chrome/pageloader.js
testing/talos/talos/pageloader/components/tp-cmdline.js
testing/talos/talos/pageloader/install.rdf
testing/talos/talos/pageloader/pageloader-signed.xpi
testing/talos/talos/run_tests.py
testing/talos/talos/test.py
--- a/testing/talos/talos/cmdline.py
+++ b/testing/talos/talos/cmdline.py
@@ -65,19 +65,16 @@ def create_parser(mach_interface=False):
     add_arg('--browserWait', dest='browser_wait', default=5, type=int,
             help="Amount of time allowed for the browser to cleanly close")
     add_arg('-a', '--activeTests',
             help="List of tests to run, separated by ':' (ex. damp:cart)")
     add_arg('--suite',
             help="Suite to use (instead of --activeTests)")
     add_arg('--subtests',
             help="Name of the subtest(s) to run (works only on DAMP)")
-    add_arg('--disable-e10s', dest='e10s',
-            action='store_false', default=True,
-            help="disable e10s")
     add_arg('--noChrome', action='store_true',
             help="do not run tests as chrome")
     add_arg('--mainthread', action='store_true',
             help="Collect mainthread IO data from the browser by setting"
                  " an environment variable")
     add_arg("--mozAfterPaint", action='store_true', dest="tpmozafterpaint",
             help="wait for MozAfterPaint event before recording the time")
     add_arg("--firstPaint", action='store_true', dest="firstpaint",
--- a/testing/talos/talos/config.py
+++ b/testing/talos/talos/config.py
@@ -25,34 +25,32 @@ DEFAULTS = dict(
     buildid='testbuildid',
     init_url='getInfo.html',
     env={'NO_EM_RESTART': '1'},
     # base data for all tests
     basetest=dict(
         cycles=1,
         profile_path='${talos}/base_profile',
         responsiveness=False,
-        e10s=False,
         gecko_profile=False,
         gecko_profile_interval=1,
         gecko_profile_entries=100000,
         resolution=1,
         mainthread=False,
         shutdown=False,
         timeout=3600,
         tpchrome=True,
         tpcycles=10,
         tpmozafterpaint=False,
         fnbpaint=False,
         firstpaint=False,
         format_pagename=True,
         userready=False,
         testeventmap=[],
         base_vs_ref=False,
-        tpdisable_e10s=False,
         tpnoisy=True,
         tppagecycles=1,
         tploadnocache=False,
         tpscrolltest=False,
         tprender=False,
         win_counters=[],
         w7_counters=[],
         linux_counters=[],
@@ -285,22 +283,17 @@ def set_webserver(config):
     port = sock.getsockname()[1]
     sock.close()
 
     config['webserver'] = 'localhost:%d' % port
 
 
 @validator
 def update_prefs(config):
-    # if e10s is enabled, set prefs accordingly
-    if config['e10s']:
-        config['preferences']['browser.tabs.remote.autostart'] = True
-    else:
-        config['preferences']['browser.tabs.remote.autostart'] = False
-
+    config['preferences']['browser.tabs.remote.autostart'] = True
     # update prefs from command line
     prefs = config.pop('extraPrefs')
     if prefs:
         for arg in prefs:
             k, v = arg.split('=', 1)
             config['preferences'][k] = utils.parse_pref(v)
 
 
@@ -433,17 +426,16 @@ def tests(config):
 
 def get_browser_config(config):
     required = ('preferences', 'extensions', 'browser_path', 'browser_wait',
                 'extra_args', 'buildid', 'env', 'init_url', 'webserver')
     optional = {'bcontroller_config': '${talos}/bcontroller.json',
                 'branch_name': '',
                 'child_process': 'plugin-container',
                 'develop': False,
-                'e10s': False,
                 'process': '',
                 'framework': 'talos',
                 'repository': None,
                 'sourcestamp': None,
                 'symbols_path': None,
                 'test_timeout': 1200,
                 'xperf_path': None,
                 'error_filename': None,
--- a/testing/talos/talos/pageloader/chrome/pageloader.js
+++ b/testing/talos/talos/pageloader/chrome/pageloader.js
@@ -41,18 +41,16 @@ var running = false;
 var forceCC = true;
 
 var useMozAfterPaint = false;
 var useFNBPaint = false;
 var gPaintWindow = window;
 var gPaintListener = false;
 var loadNoCache = false;
 var scrollTest = false;
-var gDisableE10S = false;
-var gUseE10S = false;
 var profilingInfo = false;
 var baseVsRef = false;
 
 var isIdleCallbackPending = false;
 
 // when TEST_DOES_OWN_TIMING, we need to store the time from the page as MozAfterPaint can be slower than pageload
 var gTime = -1;
 var gStartTime = -1;
@@ -149,17 +147,16 @@ function plInit() {
     if (args.filter) pageFilterRegexp = new RegExp(args.filter);
     if (args.noisy) noisy = true;
     if (args.timeout) timeout = parseInt(args.timeout);
     if (args.delay) delay = parseInt(args.delay);
     if (args.mozafterpaint) useMozAfterPaint = true;
     if (args.fnbpaint) useFNBPaint = true;
     if (args.loadnocache) loadNoCache = true;
     if (args.scrolltest) scrollTest = true;
-    if (args.disableE10S) gDisableE10S = true;
     if (args.profilinginfo) profilingInfo = JSON.parse(args.profilinginfo)
 
     if (profilingInfo) {
       TalosParentProfiler.initFromObject(profilingInfo);
     }
 
     forceCC = !args.noForceCC;
     doRenderTest = args.doRender;
@@ -229,43 +226,38 @@ function plInit() {
 
     var browserLoadFunc = function(ev) {
       browserWindow.removeEventListener("load", browserLoadFunc, true);
 
       // do this half a second after load, because we need to be
       // able to resize the window and not have it get clobbered
       // by the persisted values
       setTimeout(function() {
-        // For e10s windows, since bug 1261842, the initial browser is remote unless
-        // it attempts to browse to a URI that should be non-remote (landed at bug 1047603).
+        // Since bug 1261842, the initial browser is remote unless it attempts
+        // to browse to a URI that should be non-remote (landed at bug 1047603).
         //
         // However, when it loads a URI that requires a different remote type,
         // we lose the load listener and the injected tpRecordTime.remote,
         //
         // It also probably means that per test (or, in fact, per pageloader browser
         // instance which adds the load listener and injects tpRecordTime), all the
         // pages should be able to load in the same mode as the initial page - due
         // to this reinitialization on the switch.
-        if (browserWindow.gMultiProcessBrowser) {
-          let remoteType = E10SUtils.getRemoteTypeForURI(pageUrls[0], true);
-          if (remoteType) {
-            browserWindow.XULBrowserWindow.forceInitialBrowserRemote(remoteType);
-          } else {
-            browserWindow.XULBrowserWindow.forceInitialBrowserNonRemote(null);
-          }
+        let remoteType = E10SUtils.getRemoteTypeForURI(pageUrls[0], true);
+        if (remoteType) {
+          browserWindow.XULBrowserWindow.forceInitialBrowserRemote(remoteType);
+        } else {
+          browserWindow.XULBrowserWindow.forceInitialBrowserNonRemote(null);
         }
 
         browserWindow.resizeTo(winWidth, winHeight);
         browserWindow.moveTo(0, 0);
         browserWindow.focus();
 
         content = browserWindow.getBrowser();
-        gUseE10S = !gDisableE10S || (plPageFlags() & EXECUTE_SCROLL_TEST) ||
-                    (content.selectedBrowser &&
-                    content.selectedBrowser.getAttribute("remote") == "true")
 
         // Load the frame script for e10s / IPC message support
         let contentScript = "data:,function _contentLoadHandler(e) { " +
           "  if (e.originalTarget.defaultView == content) { " +
           "    content.wrappedJSObject.tpRecordTime = function(t, s, n) { sendAsyncMessage('PageLoader:RecordTime', { time: t, startTime: s, testName: n }); }; ";
         // setup idle-callback
         contentScript += "" +
         "var idleCallbackHandle; " +
@@ -490,21 +482,18 @@ var plNextPage = async function() {
     if (forceCC) {
       var tccstart = new Date();
       window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
             .getInterface(Components.interfaces.nsIDOMWindowUtils)
             .garbageCollect();
       var tccend = new Date();
       report.recordCCTime(tccend - tccstart);
 
-      // Now asynchronously trigger GC / CC in the content process if we're
-      // in an e10s window.
-      if (browserWindow.gMultiProcessBrowser) {
-        await forceContentGC();
-      }
+      // Now asynchronously trigger GC / CC in the content process
+      await forceContentGC();
     }
 
     setTimeout(plLoadPage, delay);
   } else {
     plStop(false);
   }
 };
 
@@ -722,17 +711,17 @@ function _loadHandler(fnbpaint = 0) {
   plRecordTime(duration);
 
   if (doRenderTest)
     runRenderTest();
 
   plNextPage();
 }
 
-// the core handler for remote (e10s) browser
+// the core handler
 function plLoadHandlerMessage(message) {
   let fnbpaint = 0;
   if (message.json.fnbpaint !== undefined) {
     fnbpaint = message.json.fnbpaint;
   }
   failTimeout.clear();
 
   if ((plPageFlags() & EXECUTE_SCROLL_TEST)) {
@@ -759,17 +748,17 @@ function plLoadHandlerMessage(message) {
         runRenderTest();
       plNextPage();
     }
   } else {
     _loadHandler(fnbpaint);
   }
 }
 
-// the record time handler used for remote (e10s) browser
+// the record time handler
 function plRecordTimeMessage(message) {
   gTime = message.json.time;
   gStartTime = message.json.startTime;
   recordedName = message.json.testName;
 
   if (useMozAfterPaint) {
     gStartTime = message.json.startTime;
   }
--- a/testing/talos/talos/pageloader/components/tp-cmdline.js
+++ b/testing/talos/talos/pageloader/components/tp-cmdline.js
@@ -95,17 +95,16 @@ PageLoaderCmdLineHandler.prototype =
       args.noisy = cmdLine.handleFlag("tpnoisy", false);
       args.timeout = cmdLine.handleFlagWithParam("tptimeout", false);
       args.delay = cmdLine.handleFlagWithParam("tpdelay", false);
       args.noForceCC = cmdLine.handleFlag("tpnoforcecc", false);
       args.mozafterpaint = cmdLine.handleFlag("tpmozafterpaint", false);
       args.fnbpaint = cmdLine.handleFlag("fnbpaint", false);
       args.loadnocache = cmdLine.handleFlag("tploadnocache", false);
       args.scrolltest = cmdLine.handleFlag("tpscrolltest", false);
-      args.disableE10s = cmdLine.handleFlag("tpdisable_e10s", false);
     } catch (e) {
       return;
     }
 
     let chromeURL = "chrome://pageloader/content/pageloader.xul";
 
     args.wrappedJSObject = args;
     Services.ww.openWindow(null, chromeURL, "_blank",
@@ -129,18 +128,17 @@ PageLoaderCmdLineHandler.prototype =
   "  -tbprofilinginfo       A JSON object describing profiler settings\n" +
   "  -tpoffline             Force offline mode\n" +
   "  -tpnoisy               Dump the name of the last loaded page to console\n" +
   "  -tptimeout             Max amount of time given for a page to load, quit if exceeded\n" +
   "  -tpdelay               Amount of time to wait between each pageload\n" +
   "  -tpnoforcecc           Don't force cycle collection between each pageload\n" +
   "  -tpmozafterpaint       Measure Time after recieving MozAfterPaint event instead of load event\n" +
   "  -fnbpaint  Measure time after a first non-blank paint has occurred\n" +
-  "  -tpscrolltest          Unknown\n" +
-  "  -tpdisable_e10s        disable pageloader e10s code path\n"
+  "  -tpscrolltest          Unknown\n"
 };
 
 
 var PageLoaderCmdLineFactory =
 {
   createInstance(outer, iid) {
     if (outer != null) {
       throw Components.results.NS_ERROR_NO_AGGREGATION;
--- a/testing/talos/talos/pageloader/install.rdf
+++ b/testing/talos/talos/pageloader/install.rdf
@@ -1,15 +1,15 @@
 <?xml version="1.0"?>
 
 <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
      xmlns:em="http://www.mozilla.org/2004/em-rdf#">
   <Description about="urn:mozilla:install-manifest">
     <em:id>pageloader@mozilla.org</em:id>
-    <em:version>1.0.29</em:version>
+    <em:version>1.0.30</em:version>
     <em:targetApplication>
       <Description>
         <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
         <em:minVersion>44.0</em:minVersion>
         <em:maxVersion>*</em:maxVersion>
       </Description>
     </em:targetApplication>
     <!-- Front End MetaData -->
index 41d7a39d83fc428b9c3a3e018159cd0345a34430..0ff2653559ab0509ac189e678aea33c1e2ce82d0
GIT binary patch
literal 30535
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
--- a/testing/talos/talos/run_tests.py
+++ b/testing/talos/talos/run_tests.py
@@ -54,19 +54,18 @@ def buildCommandLine(test):
         LOG.info("Gecko profiling is enabled so talos is reducing the number "
                  "of cycles, please disregard reported numbers")
         for cycle_var in ['tppagecycles', 'tpcycles', 'cycles']:
             if test[cycle_var] > 2:
                 test[cycle_var] = 2
 
     # build pageloader command from options
     url = ['-tp', test['tpmanifest']]
-    CLI_bool_options = ['tpchrome', 'tpmozafterpaint', 'tpdisable_e10s',
-                        'tpnoisy', 'tprender', 'tploadnocache',
-                        'tpscrolltest', 'fnbpaint']
+    CLI_bool_options = ['tpchrome', 'tpmozafterpaint', 'tpnoisy', 'tprender',
+                        'tploadnocache', 'tpscrolltest', 'fnbpaint']
     CLI_options = ['tpcycles', 'tppagecycles', 'tpdelay', 'tptimeout']
     for key in CLI_bool_options:
         if test.get(key):
             url.append('-%s' % key)
 
     for key in CLI_options:
         value = test.get(key)
         if value:
@@ -186,19 +185,18 @@ def run_tests(config, browser_config):
         )
     else:
         # local mode, output to files
         results_urls = dict(output_urls=[os.path.abspath('local.json')])
 
     httpd = setup_webserver(browser_config['webserver'])
     httpd.start()
 
-    # if e10s add as extra results option
-    if config['e10s']:
-        talos_results.add_extra_option('e10s')
+    # legacy still required for perfherder data
+    talos_results.add_extra_option('e10s')
 
     # stylo is another option for testing
     if config['enable_stylo']:
         talos_results.add_extra_option('stylo')
     if config['disable_stylo']:
         talos_results.add_extra_option('stylo_disabled')
 
     # measuring the difference of a a certain thread level
--- a/testing/talos/talos/test.py
+++ b/testing/talos/talos/test.py
@@ -715,17 +715,16 @@ class dromaeo_dom(dromaeo):
     See the Dromaeo wiki (https://wiki.mozilla.org/Dromaeo)
     for more information.
 
     Each page in the manifest is part of the dromaemo dom benchmark.
     """
     gecko_profile_interval = 2
     gecko_profile_entries = 10000000
     tpmanifest = '${talos}/tests/dromaeo/dom.manifest'
-    tpdisable_e10s = True
     unit = 'score'
 
 
 @register_test()
 class tsvgm(PageloaderTest):
     """
     An svg-only number that measures SVG rendering performance
     for dynamic content only.