Bug 1375903 - Enable eslint on testing/talos - mechanical changes; r=jmaher
authorGeoff Brown <gbrown@mozilla.com>
Wed, 28 Jun 2017 06:58:01 -0600
changeset 415303 9a5100785d8fa93389e80dc055032d9453967443
parent 415302 5baa008248ff9f3c38d442b73b424e6e48d1b2ea
child 415304 a13cfd0bbb4fc699b4cd7f0d99f7bb16100b2035
push id7566
push usermtabara@mozilla.com
push dateWed, 02 Aug 2017 08:25:16 +0000
treeherdermozilla-beta@86913f512c3c [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjmaher
bugs1375903
milestone56.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1375903 - Enable eslint on testing/talos - mechanical changes; r=jmaher Most of these changes were made by 'mach eslint --fix'.
.eslintignore
testing/talos/talos/base_profile/prefs.js
testing/talos/talos/generate-tart-xpi.html
testing/talos/talos/generate-tresize-xpi.html
testing/talos/talos/pageloader/chrome/MozillaFileLogger.js
testing/talos/talos/pageloader/chrome/Profiler.js
testing/talos/talos/pageloader/chrome/memory.js
testing/talos/talos/pageloader/chrome/pageloader.js
testing/talos/talos/pageloader/chrome/quit.js
testing/talos/talos/pageloader/chrome/report.js
testing/talos/talos/pageloader/chrome/tscroll.js
testing/talos/talos/pageloader/components/tp-cmdline.js
testing/talos/talos/scripts/MozillaFileLogger.js
testing/talos/talos/scripts/Profiler.js
testing/talos/talos/scripts/talos-debug.js
testing/talos/talos/scripts/xpigen.js
testing/talos/talos/startup_test/sessionrestore/addon/SessionRestoreTalosTest.js
testing/talos/talos/startup_test/sessionrestore/addon/content/main.js
testing/talos/talos/startup_test/tpaint.html
testing/talos/talos/startup_test/tresize/addon/content/Profiler.js
testing/talos/talos/startup_test/tresize/addon/content/framescript.js
testing/talos/talos/startup_test/tresize/addon/content/tresize.js
testing/talos/talos/startup_test/tspaint_test.html
testing/talos/talos/talos-powers/chrome/talos-powers-content.js
testing/talos/talos/talos-powers/components/TalosPowersService.js
testing/talos/talos/talos-powers/content/TalosContentProfiler.js
testing/talos/talos/talos-powers/content/TalosParentProfiler.js
testing/talos/talos/talos-powers/content/TalosPowersContent.js
testing/talos/talos/tests/a11y/a11y.js
testing/talos/talos/tests/a11y/dhtml.html
testing/talos/talos/tests/a11y/tablemutation.html
testing/talos/talos/tests/devtools/addon/content/Profiler.js
testing/talos/talos/tests/devtools/addon/content/addon-test-frontend.js
testing/talos/talos/tests/devtools/addon/content/damp.html
testing/talos/talos/tests/devtools/addon/content/damp.js
testing/talos/talos/tests/devtools/addon/content/framescript.js
testing/talos/talos/tests/perf-reftest/bloom-basic-ref.html
testing/talos/talos/tests/perf-reftest/bloom-basic.html
testing/talos/talos/tests/perf-reftest/util.js
testing/talos/talos/tests/quit.js
testing/talos/talos/tests/tabpaint/bootstrap.js
testing/talos/talos/tests/tabpaint/content/tabpaint.html
testing/talos/talos/tests/tabpaint/content/target.html
testing/talos/talos/tests/tabswitch/bootstrap.js
testing/talos/talos/tests/tabswitch/content/test.html
testing/talos/talos/tests/tart/addon/content/Profiler.js
testing/talos/talos/tests/tart/addon/content/framescript.js
testing/talos/talos/tests/tart/addon/content/tart.html
testing/talos/talos/tests/tart/addon/content/tart.js
testing/talos/talos/tests/video/video_playback.html
testing/talos/talos/tests/webgl/benchmarks/video/video_upload.html
testing/talos/talos/webextensions/dummy/background.js
testing/talos/talos/webextensions/dummy/content.js
tools/rewriting/ThirdPartyPaths.txt
--- a/.eslintignore
+++ b/.eslintignore
@@ -300,17 +300,22 @@ services/sync/services-sync.js
 # testing/ exclusions
 testing/marionette/**
 testing/mochitest/**
 # third party modules
 testing/modules/ajv-4.1.1.js
 testing/modules/sinon-2.3.2.js
 # octothorpe used for pref file comment causes parsing error
 testing/mozbase/mozprofile/tests/files/prefs_with_comments.js
-testing/talos/**
+testing/talos/talos/scripts/jszip.min.js
+testing/talos/talos/tests/canvasmark/**
+testing/talos/talos/tests/dromaeo/**
+testing/talos/talos/tests/v8_7/**
+testing/talos/talos/tests/kraken/**
+
 testing/web-platform/**
 testing/xpcshell/moz-http2/**
 testing/xpcshell/node-http2/**
 
 # Third party services
 services/common/kinto-http-client.js
 services/common/kinto-offline-client.js
 services/sync/tps/extensions/mozmill
--- a/testing/talos/talos/base_profile/prefs.js
+++ b/testing/talos/talos/base_profile/prefs.js
@@ -1,11 +1,11 @@
-// This file is needed to work around a Firefox bug where capability.principal 
+// This file is needed to work around a Firefox bug where capability.principal
 // prefs in user.js don't get recognized until the second browser launch
-// which is too late for our purposes of using quit.js. Loading the principals 
+// which is too late for our purposes of using quit.js. Loading the principals
 // from prefs.js avoids this issue.
 user_pref("capability.principal.codebase.p0.granted", "UniversalPreferencesWrite UniversalXPConnect UniversalPreferencesRead");
 user_pref("capability.principal.codebase.p0.id", "file://");
 user_pref("capability.principal.codebase.p0.subjectName", "");
 user_pref("capability.principal.codebase.p1.granted", "UniversalPreferencesWrite UniversalXPConnect UniversalPreferencesRead");
 user_pref("capability.principal.codebase.p1.id", "http://localhost");
 user_pref("capability.principal.codebase.p1.subjectName", "");
 user_pref("signed.applets.codebase_principal_support", true);
--- a/testing/talos/talos/generate-tart-xpi.html
+++ b/testing/talos/talos/generate-tart-xpi.html
@@ -28,23 +28,25 @@
     function triggerBuildXpi() {
       function $(id) { return document.getElementById(id); }
 
       $("status-text").innerHTML = "Preparing ...";
       $("result").style.display = "none";
       $("status").style.display = "inline";
 
       createXpiDataUri(base, files, {
-        onprogress: function(p) { $("status-text").innerHTML = "Preparing ... " + p.toFixed(0) + "%"; },
+        onprogress(p) { $("status-text").innerHTML = "Preparing ... " + p.toFixed(0) + "%"; },
 
-        onerror   : function(e) { $("status-text").innerHTML = "Oops, couldn't generate XPI. Reload to retry.<br/>" + e; },
+        onerror(e) { $("status-text").innerHTML = "Oops, couldn't generate XPI. Reload to retry.<br/>" + e; },
 
-        onsuccess : function(u) { $("xpi-link").href = u;
-                                  $("status").style.display = "none";
-                                  $("result").style.display = "inline"; }
+        onsuccess(u) {
+ $("xpi-link").href = u;
+                              $("status").style.display = "none";
+                              $("result").style.display = "inline";
+}
       });
     }
   </script>
 </head>
 
 <body onload="triggerBuildXpi()" style="font-family: sans-serif; color:#555">
 
   <h3>TART addon</h3>
--- a/testing/talos/talos/generate-tresize-xpi.html
+++ b/testing/talos/talos/generate-tresize-xpi.html
@@ -25,23 +25,25 @@
     function triggerBuildXpi() {
       function $(id) { return document.getElementById(id); }
 
       $("status-text").innerHTML = "Preparing ...";
       $("result").style.display = "none";
       $("status").style.display = "inline";
 
       createXpiDataUri(base, files, {
-        onprogress: function(p) { $("status-text").innerHTML = "Preparing ... " + p.toFixed(0) + "%"; },
+        onprogress(p) { $("status-text").innerHTML = "Preparing ... " + p.toFixed(0) + "%"; },
 
-        onerror   : function(e) { $("status-text").innerHTML = "Oops, couldn't generate XPI. Reload to retry.<br/>" + e; },
+        onerror(e) { $("status-text").innerHTML = "Oops, couldn't generate XPI. Reload to retry.<br/>" + e; },
 
-        onsuccess : function(u) { $("xpi-link").href = u;
-                                  $("status").style.display = "none";
-                                  $("result").style.display = "inline"; }
+        onsuccess(u) {
+ $("xpi-link").href = u;
+                              $("status").style.display = "none";
+                              $("result").style.display = "inline";
+}
       });
     }
   </script>
 </head>
 
 <body onload="triggerBuildXpi()" style="font-family: sans-serif; color:#555">
 
   <h3>TResize addon</h3>
--- a/testing/talos/talos/pageloader/chrome/MozillaFileLogger.js
+++ b/testing/talos/talos/pageloader/chrome/MozillaFileLogger.js
@@ -1,14 +1,14 @@
 /**
  * MozillaFileLogger, a log listener that can write to a local file.
- */ 
+ */
 
-//double logging to account for normal mode and ipc mode (mobile_profile only)
-//Ideally we would remove the dump() and just do ipc logging
+// double logging to account for normal mode and ipc mode (mobile_profile only)
+// Ideally we would remove the dump() and just do ipc logging
 function dumpLog(msg) {
   dump(msg);
   MozillaFileLogger.log(msg);
 }
 
 
 if (Cc === undefined) {
   var Cc = Components.classes;
@@ -51,42 +51,42 @@ MozillaFileLogger.init = function(path) 
   MozillaFileLogger._file = Cc[LF_CID].createInstance(Ci.nsILocalFile);
   MozillaFileLogger._file.initWithPath(path);
   MozillaFileLogger._foStream = Cc[FOSTREAM_CID].createInstance(Ci.nsIFileOutputStream);
   MozillaFileLogger._foStream.init(this._file, PR_WRITE_ONLY | PR_CREATE_FILE | PR_APPEND,
                                    0o664, 0);
 }
 
 MozillaFileLogger.getLogCallback = function() {
-  return function (msg) {
-    var data = msg.num + " " + msg.level + " " + msg.info.join(' ') + "\n";
+  return function(msg) {
+    var data = msg.num + " " + msg.level + " " + msg.info.join(" ") + "\n";
     if (MozillaFileLogger._foStream)
       MozillaFileLogger._foStream.write(data, data.length);
 
     if (data.indexOf("SimpleTest FINISH") >= 0) {
       MozillaFileLogger.close();
     }
   }
 }
 
 // This is only used from chrome space by the reftest harness
 MozillaFileLogger.log = function(msg) {
   try {
     if (MozillaFileLogger._foStream)
       MozillaFileLogger._foStream.write(msg, msg.length);
-  } catch(ex) {}
+  } catch (ex) {}
 }
 
 MozillaFileLogger.close = function() {
-  if(MozillaFileLogger._foStream)
+  if (MozillaFileLogger._foStream)
     MozillaFileLogger._foStream.close();
-  
+
   MozillaFileLogger._foStream = null;
   MozillaFileLogger._file = null;
 }
 
 try {
-  var prefs = Cc['@mozilla.org/preferences-service;1']
+  var prefs = Cc["@mozilla.org/preferences-service;1"]
     .getService(Ci.nsIPrefBranch2);
-  var filename = prefs.getCharPref('talos.logfile');
+  var filename = prefs.getCharPref("talos.logfile");
   MozillaFileLogger.init(filename);
-} catch (ex) {} //pref does not exist, return empty string
+} catch (ex) {} // pref does not exist, return empty string
 
--- a/testing/talos/talos/pageloader/chrome/Profiler.js
+++ b/testing/talos/talos/pageloader/chrome/Profiler.js
@@ -13,17 +13,17 @@
 //  - Please make sure your changes apply cleanly to all use cases.
 
 // Finer grained profiler control
 //
 // Use this object to pause and resume the profiler so that it only profiles the
 // relevant parts of our tests.
 var Profiler;
 
-(function(){
+(function() {
   var _profiler;
 
   // If this script is loaded in a framescript context, there won't be a
   // document object, so just use a fallback value in that case.
   var test_name = this.document ? this.document.location.pathname : "unknown";
 
   // Whether Profiler has been initialized. Until that happens, most calls
   // will be ignored.
@@ -35,17 +35,17 @@ var Profiler;
   // Profiling settings.
   var profiler_interval, profiler_entries, profiler_threadsArray, profiler_dir;
 
   try {
     // Outside of talos, this throws a security exception which no-op this file.
     // (It's not required nor allowed for addons since Firefox 17)
     // It's used inside talos from non-privileged pages (like during tscroll),
     // and it works because talos disables all/most security measures.
-    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
+    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
   } catch (e) {}
 
   try {
     _profiler = Components.classes["@mozilla.org/tools/profiler;1"].getService(Components.interfaces.nsIProfiler);
   } catch (ex) { (typeof(dumpLog) == "undefined" ? dump : dumpLog)(ex + "\n"); }
 
   // Parses an url query string into a JS object.
   function searchToObject(locationSearch) {
@@ -66,50 +66,50 @@ var Profiler;
     /**
      * Initialize the profiler using profiler settings supplied in a JS object.
      * The following properties on the object are respected:
      *  - gecko_profile_interval
      *  - gecko_profile_entries
      *  - gecko_profile_threads
      *  - gecko_profile_dir
      */
-    initFromObject: function Profiler__initFromObject (obj) {
+    initFromObject: function Profiler__initFromObject(obj) {
       if (obj &&
           ("gecko_profile_dir" in obj) && typeof obj.gecko_profile_dir == "string" &&
           ("gecko_profile_interval" in obj) && Number.isFinite(obj.gecko_profile_interval * 1) &&
           ("gecko_profile_entries" in obj) && Number.isFinite(obj.gecko_profile_entries * 1) &&
           ("gecko_profile_threads" in obj) && typeof obj.gecko_profile_threads == "string") {
         profiler_interval = obj.gecko_profile_interval;
         profiler_entries = obj.gecko_profile_entries;
         profiler_threadsArray = obj.gecko_profile_threads.split(",");
         profiler_dir = obj.gecko_profile_dir;
         enabled = true;
       }
     },
-    initFromURLQueryParams: function Profiler__initFromURLQueryParams (locationSearch) {
+    initFromURLQueryParams: function Profiler__initFromURLQueryParams(locationSearch) {
       this.initFromObject(searchToObject(locationSearch));
     },
-    beginTest: function Profiler__beginTest (testName) {
+    beginTest: function Profiler__beginTest(testName) {
       currentTest = testName;
       if (_profiler && enabled) {
         _profiler.StartProfiler(profiler_entries, profiler_interval,
                                 ["js", "leaf", "stackwalk", "threads"], 4,
                                 profiler_threadsArray, profiler_threadsArray.length);
         if (_profiler.PauseSampling) {
           _profiler.PauseSampling();
         }
       }
     },
-    finishTest: function Profiler__finishTest () {
+    finishTest: function Profiler__finishTest() {
       if (_profiler && enabled) {
         _profiler.dumpProfileToFile(profiler_dir + "/" + currentTest + ".profile");
         _profiler.StopProfiler();
       }
     },
-    finishTestAsync: function Profiler__finishTest () {
+    finishTestAsync: function Profiler__finishTest() {
       if (!(_profiler && enabled)) {
         return;
       }
       return new Promise((resolve, reject) => {
         Services.profiler.getProfileDataAsync().then((profile) => {
           let profileFile = profiler_dir + "/" + currentTest + ".profile";
 
           Components.utils.import("resource://gre/modules/NetUtil.jsm");
@@ -136,37 +136,37 @@ var Profiler;
             resolve();
           });
         }, (error) => {
           Cu.reportError("Failed to gather profile: " + error);
           reject();
         });
       });
     },
-    finishStartupProfiling: function Profiler__finishStartupProfiling () {
+    finishStartupProfiling: function Profiler__finishStartupProfiling() {
       if (_profiler && enabled) {
         _profiler.dumpProfileToFile(profiler_dir + "/startup.profile");
         _profiler.StopProfiler();
       }
     },
-    resume: function Profiler__resume (name, explicit) {
+    resume: function Profiler__resume(name, explicit) {
       if (_profiler) {
         if (_profiler.ResumeSampling) {
           _profiler.ResumeSampling();
         }
         _profiler.AddMarker(explicit ? name : 'Start of test "' + (name || test_name) + '"');
       }
     },
-    pause: function Profiler__pause (name, explicit) {
+    pause: function Profiler__pause(name, explicit) {
       if (_profiler) {
         if (_profiler.PauseSampling) {
           _profiler.PauseSampling();
         }
         _profiler.AddMarker(explicit ? name : 'End of test "' + (name || test_name) + '"');
       }
     },
-    mark: function Profiler__mark (marker, explicit) {
+    mark: function Profiler__mark(marker, explicit) {
       if (_profiler) {
         _profiler.AddMarker(explicit ? marker : 'Profiler: "' + (marker || test_name) + '"');
       }
     }
   };
 })();
--- a/testing/talos/talos/pageloader/chrome/memory.js
+++ b/testing/talos/talos/pageloader/chrome/memory.js
@@ -7,40 +7,40 @@ var gMemCallback = null;
  * Initialize memory collector.  Determine if we have a child process.
  */
 function initializeMemoryCollector(callback, args) {
     gMemCallback = function() { return callback(args); };
 
     var os = Components.classes["@mozilla.org/observer-service;1"].
         getService(Components.interfaces.nsIObserverService);
 
-    os.addObserver(function () {
+    os.addObserver(function() {
         var os = Components.classes["@mozilla.org/observer-service;1"].
             getService(Components.interfaces.nsIObserverService);
 
         memTimer.cancel();
         memTimer = null;
 
         os.removeObserver(arguments.callee, "child-memory-reporter-update");
         os.addObserver(collectAndReport, "child-memory-reporter-update");
         gMemCallback();
     }, "child-memory-reporter-update");
 
    /*
     * Assume we have a child process, but if timer fires before we call the observer
     * we will assume there is no child process.
     */
     var event = {
-      notify: function(timer) {
+      notify(timer) {
         memTimer = null;
         gChildProcess = false;
         gMemCallback();
       }
     }
- 
+
     var memTimer = Components.classes["@mozilla.org/timer;1"].createInstance(Components.interfaces.nsITimer);
     memTimer.initWithCallback(event, 10000, Components.interfaces.nsITimer.TYPE_ONE_SHOT);
 
     os.notifyObservers(null, "child-memory-reporter-request", "generation=1 anonymize=0 minimize=0 DMDident=0");
 }
 
 /*
  * Collect memory from all processes and callback when done collecting.
--- a/testing/talos/talos/pageloader/chrome/pageloader.js
+++ b/testing/talos/talos/pageloader/chrome/pageloader.js
@@ -42,17 +42,17 @@ var useMozAfterPaint = false;
 var gPaintWindow = window;
 var gPaintListener = false;
 var loadNoCache = false;
 var scrollTest = false;
 var gDisableE10S = false;
 var gUseE10S = false;
 var profilingInfo = false;
 
-//when TEST_DOES_OWN_TIMING, we need to store the time from the page as MozAfterPaint can be slower than pageload
+// 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;
 var gReference = -1;
 
 var content;
 
 // These are binary flags. Use 1/2/4/8/...
 var TEST_DOES_OWN_TIMING = 1;
@@ -113,17 +113,17 @@ function plInit() {
   }
   running = true;
 
   cycle = 0;
   pageCycle = 1;
 
   try {
     var args;
-    
+
     /*
      * Desktop firefox:
      * non-chrome talos runs - tp-cmdline will create and load pageloader
      * into the main window of the app which displays and tests content.
      * chrome talos runs - tp-cmdline does the same however pageloader
      * creates a new chromed browser window below for content.
      */
 
@@ -167,35 +167,35 @@ function plInit() {
     gIOS = Cc["@mozilla.org/network/io-service;1"]
       .getService(Ci.nsIIOService);
     if (args.offline)
       gIOS.offline = true;
     var fileURI = gIOS.newURI(manifestURI);
     pages = plLoadURLsFromURI(fileURI);
 
     if (!pages) {
-      dumpLine('tp: could not load URLs, quitting');
+      dumpLine("tp: could not load URLs, quitting");
       plStop(true);
     }
 
     if (pages.length == 0) {
-      dumpLine('tp: no pages to test, quitting');
+      dumpLine("tp: no pages to test, quitting");
       plStop(true);
     }
 
     if (startIndex < 0)
       startIndex = 0;
     if (endIndex == -1 || endIndex >= pages.length)
-      endIndex = pages.length-1;
+      endIndex = pages.length - 1;
     if (startIndex > endIndex) {
       dumpLine("tp: error: startIndex >= endIndex");
       plStop(true);
     }
 
-    pages = pages.slice(startIndex,endIndex+1);
+    pages = pages.slice(startIndex, endIndex + 1);
     pageUrls = pages.map(function(p) { return p.url.spec.toString(); });
     report = new Report();
 
     if (doRenderTest)
       renderReport = new Report();
 
     pageIndex = 0;
     if (profilingInfo) {
@@ -215,25 +215,25 @@ function plInit() {
     }
 
     browserWindow = wwatch.openWindow
       (null, "chrome://browser/content/", "_blank",
        `chrome,${toolbars},dialog=no,width=${winWidth},height=${winHeight}`, blank);
 
     gPaintWindow = browserWindow;
     // get our window out of the way
-    window.resizeTo(10,10);
+    window.resizeTo(10, 10);
 
-    var browserLoadFunc = function (ev) {
-      browserWindow.removeEventListener('load', browserLoadFunc, true);
+    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 () {
+      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).
         //
         // 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
@@ -292,32 +292,32 @@ function plInit() {
         if (reportRSS) {
           initializeMemoryCollector(plLoadPage, 100);
         } else {
           setTimeout(plLoadPage, 100);
         }
       }, 500);
     };
 
-    browserWindow.addEventListener('load', browserLoadFunc, true);
-  } catch(e) {
+    browserWindow.addEventListener("load", browserLoadFunc, true);
+  } catch (e) {
     dumpLine("pageloader exception: " + e);
     plStop(true);
   }
 }
 
 function plPageFlags() {
   return pages[pageIndex].flags;
 }
 
 var ContentListener = {
-  receiveMessage: function(message) {
+  receiveMessage(message) {
     switch (message.name) {
-      case 'PageLoader:LoadEvent': return plLoadHandlerMessage(message);
-      case 'PageLoader:RecordTime': return plRecordTimeMessage(message);
+      case "PageLoader:LoadEvent": return plLoadHandlerMessage(message);
+      case "PageLoader:RecordTime": return plRecordTimeMessage(message);
     }
   },
 };
 
 // load the current page, start timing
 var removeLastAddedListener = null;
 var removeLastAddedMsgListener = null;
 function plLoadPage() {
@@ -332,48 +332,48 @@ function plLoadPage() {
     removeLastAddedMsgListener();
     removeLastAddedMsgListener = null;
   }
 
   if ((plPageFlags() & TEST_DOES_OWN_TIMING) && !gUseE10S) {
     // if the page does its own timing, use a capturing handler
     // to make sure that we can set up the function for content to call
 
-    content.addEventListener('load', plLoadHandlerCapturing, true);
+    content.addEventListener("load", plLoadHandlerCapturing, true);
     removeLastAddedListener = function() {
-      content.removeEventListener('load', plLoadHandlerCapturing, true);
+      content.removeEventListener("load", plLoadHandlerCapturing, true);
       if (useMozAfterPaint) {
         content.removeEventListener("MozAfterPaint", plPaintedCapturing, true);
         gPaintListener = false;
       }
     };
   } else if (!gUseE10S) {
     // if the page doesn't do its own timing, use a bubbling handler
     // to make sure that we're called after the page's own onload() handling
 
     // XXX we use a capturing event here too -- load events don't bubble up
     // to the <browser> element.  See bug 390263.
-    content.addEventListener('load', plLoadHandler, true);
+    content.addEventListener("load", plLoadHandler, true);
     removeLastAddedListener = function() {
-      content.removeEventListener('load', plLoadHandler, true);
+      content.removeEventListener("load", plLoadHandler, true);
       if (useMozAfterPaint) {
         gPaintWindow.removeEventListener("MozAfterPaint", plPainted, true);
         gPaintListener = false;
       }
     };
   }
 
   // If the test browser is remote (e10s / IPC) we need to use messages to watch for page load
   if (gUseE10S) {
     let mm = content.selectedBrowser.messageManager;
-    mm.addMessageListener('PageLoader:LoadEvent', ContentListener);
-    mm.addMessageListener('PageLoader:RecordTime', ContentListener);
+    mm.addMessageListener("PageLoader:LoadEvent", ContentListener);
+    mm.addMessageListener("PageLoader:RecordTime", ContentListener);
     removeLastAddedMsgListener = function() {
-      mm.removeMessageListener('PageLoader:LoadEvent', ContentListener);
-      mm.removeMessageListener('PageLoader:RecordTime', ContentListener);
+      mm.removeMessageListener("PageLoader:LoadEvent", ContentListener);
+      mm.removeMessageListener("PageLoader:RecordTime", ContentListener);
     };
   }
 
   failTimeout.register(loadFail, timeout);
 
   // record which page we are about to open
   Profiler.mark("Opening " + pages[pageIndex].url.path);
 
@@ -396,71 +396,71 @@ function startAndLoadURI(pageName) {
     content.loadURIWithFlags(pageName, Ci.nsIWebNavigation.LOAD_FLAGS_BYPASS_CACHE);
   } else {
     content.loadURI(pageName);
   }
 }
 
 function getTestName() { // returns tp5n
   var pageName = pages[pageIndex].url.spec;
-  let parts = pageName.split('/');
+  let parts = pageName.split("/");
   if (parts.length > 4) {
     return parts[4];
   }
   return "pageloader";
 }
 
 function getCurrentPageShortName() {
   var pageName = pages[pageIndex].url.spec;
-  let parts = pageName.split('/');
+  let parts = pageName.split("/");
   if (parts.length > 5) {
     return parts[5];
   }
   return "page_" + pageIndex;
 }
 
 function loadFail() {
   var pageName = pages[pageIndex].url.spec;
   numRetries++;
 
   if (numRetries >= maxRetries) {
-    dumpLine('__FAILTimeout in ' + getTestName() + '__FAIL');
-    dumpLine('__FAILTimeout (' + numRetries + '/' + maxRetries + ') exceeded on ' + pageName + '__FAIL');
+    dumpLine("__FAILTimeout in " + getTestName() + "__FAIL");
+    dumpLine("__FAILTimeout (" + numRetries + "/" + maxRetries + ") exceeded on " + pageName + "__FAIL");
     Profiler.finishTest();
     plStop(true);
   } else {
-    dumpLine('__WARNTimeout (' + numRetries + '/' + maxRetries + ') exceeded on ' + pageName + '__WARN');
+    dumpLine("__WARNTimeout (" + numRetries + "/" + maxRetries + ") exceeded on " + pageName + "__WARN");
     // TODO: make this a cleaner cleanup
     pageCycle--;
-    content.removeEventListener('load', plLoadHandler, true);
-    content.removeEventListener('load', plLoadHandlerCapturing, true);
+    content.removeEventListener("load", plLoadHandler, true);
+    content.removeEventListener("load", plLoadHandlerCapturing, true);
     content.removeEventListener("MozAfterPaint", plPaintedCapturing, true);
     content.removeEventListener("MozAfterPaint", plPainted, true);
     gPaintWindow.removeEventListener("MozAfterPaint", plPaintedCapturing, true);
     gPaintWindow.removeEventListener("MozAfterPaint", plPainted, true);
     removeLastAddedListener = null;
     removeLastAddedMsgListener = null;
     gPaintListener = false;
 
-    //TODO: consider adding a tab and removing the old tab?!?
+    // TODO: consider adding a tab and removing the old tab?!?
     setTimeout(plLoadPage, delay);
   }
 }
 
 var plNextPage = async function() {
   var doNextPage = false;
   if (pageCycle < numPageCycles) {
     pageCycle++;
     doNextPage = true;
   } else {
     if (profilingInfo) {
       await Profiler.finishTestAsync();
     }
 
-    if (pageIndex < pages.length-1) {
+    if (pageIndex < pages.length - 1) {
       pageIndex++;
       if (profilingInfo) {
         Profiler.beginTest(getCurrentPageShortName());
       }
       recordedName = null;
       pageCycle = 1;
       doNextPage = true;
     }
@@ -497,78 +497,78 @@ function forceContentGC() {
     });
     mm.sendAsyncMessage("Talos:ForceGC");
   });
 }
 
 function plRecordTime(time) {
   var pageName = pages[pageIndex].url.spec;
   var i = pageIndex
-  if (i < pages.length-1) {
+  if (i < pages.length - 1) {
     i++;
   } else {
     i = 0;
   }
   var nextName = pages[i].url.spec;
   if (!recordedName) {
     recordedName = pageUrls[pageIndex];
   }
   if (typeof(time) == "string") {
-    var times = time.split(',');
-    var names = recordedName.split(',');
+    var times = time.split(",");
+    var names = recordedName.split(",");
     for (var t = 0; t < times.length; t++) {
       if (names.length == 1) {
         report.recordTime(names, times[t]);
       } else {
         report.recordTime(names[t], times[t]);
       }
     }
   } else {
     report.recordTime(recordedName, time);
   }
   if (noisy) {
-    dumpLine("Cycle " + (cycle+1) + "(" + pageCycle + ")" + ": loaded " + pageName + " (next: " + nextName + ")");
+    dumpLine("Cycle " + (cycle + 1) + "(" + pageCycle + ")" + ": loaded " + pageName + " (next: " + nextName + ")");
   }
 }
 
 function plLoadHandlerCapturing(evt) {
   // make sure we pick up the right load event
-  if (evt.type != 'load' ||
+  if (evt.type != "load" ||
        evt.originalTarget.defaultView.frameElement)
       return;
 
-  //set the tpRecordTime function (called from test pages we load) to store a global time.
-  content.contentWindow.wrappedJSObject.tpRecordTime = function (time, startTime, testName) {
+  // set the tpRecordTime function (called from test pages we load) to store a global time.
+  content.contentWindow.wrappedJSObject.tpRecordTime = function(time, startTime, testName) {
     gTime = time;
     gStartTime = startTime;
     recordedName = testName;
     setTimeout(plWaitForPaintingCapturing, 0);
   }
 
-  content.contentWindow.wrappedJSObject.plGarbageCollect = function () {
+  content.contentWindow.wrappedJSObject.plGarbageCollect = function() {
     window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
           .getInterface(Components.interfaces.nsIDOMWindowUtils)
           .garbageCollect();
   }
 
-  content.removeEventListener('load', plLoadHandlerCapturing, true);
+  content.removeEventListener("load", plLoadHandlerCapturing, true);
   removeLastAddedListener = null;
 
   setTimeout(plWaitForPaintingCapturing, 0);
 }
 
 // Shim function this is really defined in tscroll.js
 function sendScroll() {
   const SCROLL_TEST_STEP_PX = 10;
   const SCROLL_TEST_NUM_STEPS = 100;
   // The page doesn't really use tpRecordTime. Instead, we trigger the scroll test,
   // and the scroll test will call tpRecordTime which will take us to the next page
-  let details = {target: 'content', stepSize: SCROLL_TEST_STEP_PX, opt_numSteps: SCROLL_TEST_NUM_STEPS};
+  let details = {target: "content", stepSize: SCROLL_TEST_STEP_PX, opt_numSteps: SCROLL_TEST_NUM_STEPS};
   let mm = content.selectedBrowser.messageManager;
-  mm.sendAsyncMessage("PageLoader:ScrollTest", { details: details });
+  mm.sendAsyncMessage("PageLoader:ScrollTest", { details });
 }
 
 function plWaitForPaintingCapturing() {
   if (gPaintListener)
     return;
 
   var utils = gPaintWindow.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
                    .getInterface(Components.interfaces.nsIDOMWindowUtils);
@@ -611,21 +611,21 @@ function _loadHandlerCapturing() {
     recordedName = null;
     setTimeout(plNextPage, delay);
   }
 }
 
 // the onload handler
 function plLoadHandler(evt) {
   // make sure we pick up the right load event
-  if (evt.type != 'load' ||
+  if (evt.type != "load" ||
        evt.originalTarget.defaultView.frameElement)
       return;
 
-  content.removeEventListener('load', plLoadHandler, true);
+  content.removeEventListener("load", plLoadHandler, true);
   setTimeout(waitForPainted, 0);
 }
 
 // This is called after we have received a load event, now we wait for painted
 function waitForPainted() {
 
   var utils = gPaintWindow.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
                    .getInterface(Components.interfaces.nsIDOMWindowUtils);
@@ -744,17 +744,17 @@ function plStop(force) {
   }
 }
 
 function plStopAll(force) {
   try {
     if (force == false) {
       pageIndex = 0;
       pageCycle = 1;
-      if (cycle < NUM_CYCLES-1) {
+      if (cycle < NUM_CYCLES - 1) {
         cycle++;
         recordedName = null;
         setTimeout(plLoadPage, delay);
         return;
       }
 
       /* output report */
       dumpLine(report.getReport());
@@ -764,26 +764,26 @@ function plStopAll(force) {
     dumpLine(e);
   }
 
   if (reportRSS) {
     stopMemCollector();
   }
 
   if (content) {
-    content.removeEventListener('load', plLoadHandlerCapturing, true);
-    content.removeEventListener('load', plLoadHandler, true);
+    content.removeEventListener("load", plLoadHandlerCapturing, true);
+    content.removeEventListener("load", plLoadHandler, true);
     if (useMozAfterPaint)
       content.removeEventListener("MozAfterPaint", plPaintedCapturing, true);
       content.removeEventListener("MozAfterPaint", plPainted, true);
 
     if (gUseE10S) {
       let mm = content.selectedBrowser.messageManager;
-      mm.removeMessageListener('PageLoader:LoadEvent', ContentListener);
-      mm.removeMessageListener('PageLoader:RecordTime', ContentListener);
+      mm.removeMessageListener("PageLoader:LoadEvent", ContentListener);
+      mm.removeMessageListener("PageLoader:RecordTime", ContentListener);
 
       mm.loadFrameScript("data:,removeEventListener('load', _contentLoadHandler, true);", false, true);
     }
   }
 
   if (MozillaFileLogger && MozillaFileLogger._foStream)
     MozillaFileLogger.close();
 
@@ -799,38 +799,38 @@ function plLoadURLsFromURI(manifestUri) 
 
   if (uriFile.file.isFile() === false) {
     dumpLine("tp: invalid file: %s" % uriFile.file);
     return null;
   }
 
   try {
     fstream.init(uriFile.file, -1, 0, 0);
-  } catch(ex) {
+  } catch (ex) {
       dumpLine("tp: the file %s doesn't exist" % uriFile.file);
       return null;
   }
 
   var lstream = fstream.QueryInterface(Ci.nsILineInputStream);
 
   var d = [];
 
   var lineNo = 0;
-  var line = {value:null};
+  var line = {value: null};
   var more;
   do {
     lineNo++;
     more = lstream.readLine(line);
     var s = line.value;
 
     // strip comments (only leading ones)
-    s = s.replace(/^#.*/, '');
+    s = s.replace(/^#.*/, "");
 
     // strip leading and trailing whitespace
-    s = s.replace(/^\s*/, '').replace(/\s*$/, '');
+    s = s.replace(/^\s*/, "").replace(/\s*$/, "");
 
     if (!s)
       continue;
 
     var flags = 0;
     var urlspec = s;
 
     // split on whitespace, and figure out if we have any flags
@@ -875,18 +875,18 @@ function plLoadURLsFromURI(manifestUri) 
         return null;
       }
 
       var url = gIOS.newURI(urlspec, null, manifestUri);
 
       if (pageFilterRegexp && !pageFilterRegexp.test(url.spec))
         continue;
 
-      d.push({   url: url,
-               flags: flags });
+      d.push({   url,
+               flags });
     }
   } while (more);
 
   return d;
 }
 
 function dumpLine(str) {
   if (MozillaFileLogger && MozillaFileLogger._foStream)
--- a/testing/talos/talos/pageloader/chrome/quit.js
+++ b/testing/talos/talos/pageloader/chrome/quit.js
@@ -35,76 +35,60 @@
  *
  * ***** END LICENSE BLOCK ***** */
 
 /*
   From mozilla/toolkit/content
   These files did not have a license
 */
 
-function canQuitApplication()
-{
+function canQuitApplication() {
   var os = Components.classes["@mozilla.org/observer-service;1"]
     .getService(Components.interfaces.nsIObserverService);
-  if (!os) 
-  {
+  if (!os) {
     return true;
   }
-  
-  try 
-  {
+
+  try {
     var cancelQuit = Components.classes["@mozilla.org/supports-PRBool;1"]
       .createInstance(Components.interfaces.nsISupportsPRBool);
     os.notifyObservers(cancelQuit, "quit-application-requested");
-    
-    // Something aborted the quit process. 
-    if (cancelQuit.data)
-    {
+
+    // Something aborted the quit process.
+    if (cancelQuit.data) {
       return false;
     }
-  }
-  catch (ex) 
-  {
+  } catch (ex) {
   }
   return true;
 }
 
-function goQuitApplication()
-{
-  if (!canQuitApplication())
-  {
+function goQuitApplication() {
+  if (!canQuitApplication()) {
     return false;
   }
 
-  const kAppStartup = '@mozilla.org/toolkit/app-startup;1';
-  const kAppShell   = '@mozilla.org/appshell/appShellService;1';
-  var   appService;
-  var   forceQuit;
+  const kAppStartup = "@mozilla.org/toolkit/app-startup;1";
+  const kAppShell   = "@mozilla.org/appshell/appShellService;1";
+  var appService;
+  var forceQuit;
 
-  if (kAppStartup in Components.classes)
-  {
+  if (kAppStartup in Components.classes) {
     appService = Components.classes[kAppStartup].
       getService(Components.interfaces.nsIAppStartup);
     forceQuit  = Components.interfaces.nsIAppStartup.eForceQuit;
-  }
-  else if (kAppShell in Components.classes)
-  {
+  } else if (kAppShell in Components.classes) {
     appService = Components.classes[kAppShell].
       getService(Components.interfaces.nsIAppShellService);
     forceQuit = Components.interfaces.nsIAppShellService.eForceQuit;
-  }
-  else
-  {
-    throw 'goQuitApplication: no AppStartup/appShell';
+  } else {
+    throw "goQuitApplication: no AppStartup/appShell";
   }
 
-  try
-  {
+  try {
     appService.quit(forceQuit);
-  }
-  catch(ex)
-  {
-    throw('goQuitApplication: ' + ex);
+  } catch (ex) {
+    throw ("goQuitApplication: " + ex);
   }
 
   return true;
 }
 
--- a/testing/talos/talos/pageloader/chrome/report.js
+++ b/testing/talos/talos/pageloader/chrome/report.js
@@ -61,32 +61,32 @@ Report.prototype.getReport = function() 
   var pages = this.pageNames();
   var prefixLen = findCommonPrefixLength(pages);
 
   report = "__start_tp_report\n";
   report += "_x_x_mozilla_page_load\n";
   report += "_x_x_mozilla_page_load_details\n";
   report += "|i|pagename|runs|\n";
 
-  for (var i=0; i < pages.length; i++) {
-    report += '|'+
-      i + ';'+
-      pages[i].substr(prefixLen) + ';'+
+  for (var i = 0; i < pages.length; i++) {
+    report += "|" +
+      i + ";" +
+      pages[i].substr(prefixLen) + ";" +
       this.timeVals[pages[i]].join(";") +
       "\n";
   }
   report += "__end_tp_report\n";
 
   if (this.showTotalCCTime) {
     report += "__start_cc_report\n";
     report += "_x_x_mozilla_cycle_collect," + this.totalCCTime + "\n";
     report += "__end_cc_report\n";
   }
   var now = (new Date()).getTime();
-  report += "__startTimestamp" + now + "__endTimestamp\n"; //timestamp for determning shutdown time, used by talos
+  report += "__startTimestamp" + now + "__endTimestamp\n"; // timestamp for determning shutdown time, used by talos
 
   return report;
 }
 
 Report.prototype.getReportSummary = function() {
 
   function average(arr) {
     var sum = 0;
@@ -124,29 +124,29 @@ Report.prototype.getReportSummary = func
 
   var report = "";
   var pages = this.pageNames();
   var prefixLen = findCommonPrefixLength(pages);
 
   report += "------- Summary: start -------\n";
   report += "Number of tests: " + pages.length + "\n";
 
-  for (var i=0; i < pages.length; i++) {
+  for (var i = 0; i < pages.length; i++) {
     var results = this.timeVals[pages[i]].map(function(v) {
                                                 return Number(v);
                                               });
 
-    report += '\n[#'+ i + '] ' + pages[i].substr(prefixLen)
-            + '  Cycles:'  + results.length
-            + '  Average:' + average(results).toFixed(2)
-            + '  Median:'  + median(results).toFixed(2)
-            + '  stddev:'  + stddev(results).toFixed(2)
-            +     ' (' + (100 * stddev(results) / median(results)).toFixed(1) + '%)'
-            + (results.length < 5 ? '' : ('  stddev-sans-first:' + stddev(results.slice(1)).toFixed(2)))
-            + '\nValues: ' + results.map(function(v) {
+    report += "\n[#" + i + "] " + pages[i].substr(prefixLen)
+            + "  Cycles:" + results.length
+            + "  Average:" + average(results).toFixed(2)
+            + "  Median:" + median(results).toFixed(2)
+            + "  stddev:" + stddev(results).toFixed(2)
+            + " (" + (100 * stddev(results) / median(results)).toFixed(1) + "%)"
+            + (results.length < 5 ? "" : ("  stddev-sans-first:" + stddev(results.slice(1)).toFixed(2)))
+            + "\nValues: " + results.map(function(v) {
                                            return v.toFixed(1);
                                          }).join("  ")
             + "\n";
   }
   report += "-------- Summary: end --------\n";
 
   return report;
 }
--- a/testing/talos/talos/pageloader/chrome/tscroll.js
+++ b/testing/talos/talos/pageloader/chrome/tscroll.js
@@ -1,14 +1,13 @@
 // Note: This file is used at both tscrollx and tp5o_scroll. With the former as
 //       unprivileged code.
 // - Please make sure that any changes apply cleanly to all use cases.
 
-function testScroll(target, stepSize, opt_reportFunc, opt_numSteps)
-{
+function testScroll(target, stepSize, opt_reportFunc, opt_numSteps) {
   var win;
   if (target == "content") {
     target = content.wrappedJSObject;
     win = content;
   } else {
     win = window;
   }
 
@@ -27,17 +26,17 @@ function testScroll(target, stepSize, op
                   || "REALLY_WEIRD_URI";
 
   // Verbatim copy from talos-powers/content/TalosPowersContent.js
   // If the origin changes, this copy should be updated.
   TalosPowersParent = {
     replyId: 1,
 
     // dispatch an event to the framescript and register the result/callback event
-    exec: function(commandName, arg, callback, opt_custom_window) {
+    exec(commandName, arg, callback, opt_custom_window) {
       let win = opt_custom_window || window;
       let replyEvent = "TalosPowers:ParentExec:ReplyEvent:" + this.replyId++;
       if (callback) {
         win.addEventListener(replyEvent, function(e) {
           callback(e.detail);
         }, {once: true});
       }
       win.dispatchEvent(
@@ -64,35 +63,35 @@ function testScroll(target, stepSize, op
    * added to the tested page, or a debug tpRecordTime from talos-debug.js if
    * running in a plain browser.
    *
    * @returns Promise
    */
   function P_setupReportFn() {
     return new Promise(function(resolve) {
       report = opt_reportFunc || win.tpRecordTime;
-      if (report == 'PageLoader:RecordTime') {
+      if (report == "PageLoader:RecordTime") {
         report = function(duration, start, name) {
           var msg = { time: duration, startTime: start, testName: name };
-          sendAsyncMessage('PageLoader:RecordTime', msg);
+          sendAsyncMessage("PageLoader:RecordTime", msg);
         }
         resolve();
         return;
       }
 
       // Not part of the test and does nothing if we're within talos.
       // Provides an alternative tpRecordTime (with some stats display) if running in a browser.
       if (!report && document.head) {
-        var imported = document.createElement('script');
+        var imported = document.createElement("script");
         imported.addEventListener("load", function() {
           report = tpRecordTime;
           resolve();
         });
 
-        imported.src = '../../scripts/talos-debug.js?dummy=' + Date.now(); // For some browsers to re-read
+        imported.src = "../../scripts/talos-debug.js?dummy=" + Date.now(); // For some browsers to re-read
         document.head.appendChild(imported);
         return;
       }
 
       resolve();
     });
   }
 
@@ -113,24 +112,24 @@ function testScroll(target, stepSize, op
       rAF(resolve);
     });
   }
 
   function myNow() {
     return (win.performance && win.performance.now) ?
             win.performance.now() :
             Date.now();
-  };
+  }
 
   var isWindow = target.self === target;
 
   var getPos =       isWindow ? function() { return target.pageYOffset; }
                               : function() { return target.scrollTop; };
 
-  var gotoTop =      isWindow ? function() { target.scroll(0, 0);  ensureScroll(); }
+  var gotoTop =      isWindow ? function() { target.scroll(0, 0); ensureScroll(); }
                               : function() { target.scrollTop = 0; ensureScroll(); };
 
   var doScrollTick = isWindow ? function() { target.scrollBy(0, stepSize); ensureScroll(); }
                               : function() { target.scrollTop += stepSize; ensureScroll(); };
 
   var setSmooth =    isWindow ? function() { target.document.scrollingElement.style.scrollBehavior = "smooth"; }
                               : function() { target.style.scrollBehavior = "smooth"; };
 
@@ -225,17 +224,17 @@ function testScroll(target, stepSize, op
 
       // Get the measurements after APZ_MEASURE_MS of scrolling
       setTimeout(function() {
         var endts = Date.now();
 
         stopFrameTimeRecording(handle, function(intervals) {
           function average(arr) {
               var sum = 0;
-              for(var i = 0; i < arr.length; i++)
+              for (var i = 0; i < arr.length; i++)
                 sum += arr[i];
               return arr.length ? sum / arr.length : 0;
           }
 
           // remove two frames on each side of the recording to get a cleaner result
           result.values.push(average(intervals.slice(2, intervals.length - 2)));
           result.names.push("CSSOM." + testBaseName);
 
@@ -259,13 +258,13 @@ function testScroll(target, stepSize, op
     report(result.values.join(","), 0, result.names.join(","));
   });
 }
 
 // This code below here is unique to tscroll.js inside of pageloader
 try {
   function handleMessageFromChrome(message) {
     var payload = message.data.details;
-    testScroll(payload.target, payload.stepSize, 'PageLoader:RecordTime', payload.opt_numSteps);
+    testScroll(payload.target, payload.stepSize, "PageLoader:RecordTime", payload.opt_numSteps);
   }
 
   addMessageListener("PageLoader:ScrollTest", handleMessageFromChrome);
 } catch (e) {}
--- a/testing/talos/talos/pageloader/components/tp-cmdline.js
+++ b/testing/talos/talos/pageloader/components/tp-cmdline.js
@@ -36,45 +36,45 @@
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 // This only implements nsICommandLineHandler, since it needs
 // to handle multiple arguments.
 
 const TP_CMDLINE_CONTRACTID     = "@mozilla.org/commandlinehandler/general-startup;1?type=tp";
-const TP_CMDLINE_CLSID          = Components.ID('{8AF052F5-8EFE-4359-8266-E16498A82E8B}');
+const TP_CMDLINE_CLSID          = Components.ID("{8AF052F5-8EFE-4359-8266-E16498A82E8B}");
 const CATMAN_CONTRACTID         = "@mozilla.org/categorymanager;1";
 const nsISupports               = Components.interfaces.nsISupports;
-  
+
 const nsICategoryManager        = Components.interfaces.nsICategoryManager;
 const nsICommandLine            = Components.interfaces.nsICommandLine;
 const nsICommandLineHandler     = Components.interfaces.nsICommandLineHandler;
 const nsIComponentRegistrar     = Components.interfaces.nsIComponentRegistrar;
 const nsISupportsString         = Components.interfaces.nsISupportsString;
 const nsIWindowWatcher          = Components.interfaces.nsIWindowWatcher;
 
 Components.utils.import("resource://gre/modules/Services.jsm");
 
 function PageLoaderCmdLineHandler() {}
 PageLoaderCmdLineHandler.prototype =
 {
   /* nsISupports */
-  QueryInterface : function handler_QI(iid) {
+  QueryInterface: function handler_QI(iid) {
     if (iid.equals(nsISupports))
       return this;
 
     if (nsICommandLineHandler && iid.equals(nsICommandLineHandler))
       return this;
 
     throw Components.results.NS_ERROR_NO_INTERFACE;
   },
 
   /* nsICommandLineHandler */
-  handle : function handler_handle(cmdLine) {
+  handle: function handler_handle(cmdLine) {
     var args = {};
     try {
       var uristr = cmdLine.handleFlagWithParam("tp", false);
       if (uristr == null)
         return;
       try {
         args.manifest = cmdLine.resolveURI(uristr).spec;
       } catch (e) {
@@ -96,60 +96,58 @@ PageLoaderCmdLineHandler.prototype =
       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.loadnocache = cmdLine.handleFlag("tploadnocache", false);
       args.scrolltest = cmdLine.handleFlag("tpscrolltest", false);
       args.disableE10s = cmdLine.handleFlag("tpdisable_e10s", false);
       args.rss = cmdLine.handleFlag("rss", false);
-    }
-    catch (e) {
+    } catch (e) {
       return;
     }
 
     let chromeURL = "chrome://pageloader/content/pageloader.xul";
 
     args.wrappedJSObject = args;
     Services.ww.openWindow(null, chromeURL, "_blank",
                             "chrome,dialog=no,all", args);
 
     // Don't pass command line to the default app processor
     cmdLine.preventDefault = true;
   },
 
-  helpInfo :
+  helpInfo:
   "  -tp <file>         Run pageload perf tests on given manifest\n" +
   "  -tpfilter str      Only include pages from manifest that contain str (regexp)\n" +
   "  -tpcycles n        Loop through pages n times\n" +
   "  -tppagecycles n    Loop through each page n times before going onto the next page\n" +
   "  -tpstart n         Start at index n in the manifest\n" +
   "  -tpend n           End with index n in the manifest\n" +
   "  -tpchrome          Test with normal browser chrome\n" +
   "  -tprender          Run render-only benchmark for each page\n" +
   "  -tpwidth width     Width of window\n" +
   "  -tpheight height   Height of window\n" +
   "  -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" + 
+  "  -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" +
   "  -tpscrolltest      Unknown\n" +
   "  -tpdisable_e10s    disable pageloader e10s code path\n" +
   "  -rss               Dump RSS after each page is loaded\n"
 
 };
 
 
 var PageLoaderCmdLineFactory =
 {
-  createInstance : function(outer, iid)
-  {
+  createInstance(outer, iid) {
     if (outer != null) {
       throw Components.results.NS_ERROR_NO_AGGREGATION;
     }
 
     return new PageLoaderCmdLineHandler().QueryInterface(iid);
   }
 };
 
@@ -157,50 +155,46 @@ function NSGetFactory(cid) {
   if (!cid.equals(TP_CMDLINE_CLSID))
     throw Components.results.NS_ERROR_NOT_IMPLEMENTED;
 
   return PageLoaderCmdLineFactory;
 }
 
 var PageLoaderCmdLineModule =
 {
-  registerSelf : function(compMgr, fileSpec, location, type)
-  {
+  registerSelf(compMgr, fileSpec, location, type) {
     compMgr = compMgr.QueryInterface(nsIComponentRegistrar);
 
     compMgr.registerFactoryLocation(TP_CMDLINE_CLSID,
                                     "PageLoader CommandLine Service",
                                     TP_CMDLINE_CONTRACTID,
                                     fileSpec,
                                     location,
                                     type);
 
     var catman = Components.classes[CATMAN_CONTRACTID].getService(nsICategoryManager);
     catman.addCategoryEntry("command-line-handler",
                             "m-tp",
                             TP_CMDLINE_CONTRACTID, true, true);
   },
 
-  unregisterSelf : function(compMgr, fileSpec, location)
-  {
+  unregisterSelf(compMgr, fileSpec, location) {
     compMgr = compMgr.QueryInterface(nsIComponentRegistrar);
 
     compMgr.unregisterFactoryLocation(TP_CMDLINE_CLSID, fileSpec);
     catman = Components.classes[CATMAN_CONTRACTID].getService(nsICategoryManager);
     catman.deleteCategoryEntry("command-line-handler",
                                "m-tp", true);
   },
 
-  getClassObject : function(compMgr, cid, iid)
-  {
+  getClassObject(compMgr, cid, iid) {
     return NSGetFactory(cid);
   },
 
-  canUnload : function(compMgr)
-  {
+  canUnload(compMgr) {
     return true;
   }
 };
 
 
 function NSGetModule(compMgr, fileSpec) {
   return PageLoaderCmdLineModule;
 }
--- a/testing/talos/talos/scripts/MozillaFileLogger.js
+++ b/testing/talos/talos/scripts/MozillaFileLogger.js
@@ -6,31 +6,31 @@ var ipcMode = false; // running in e10s 
 
 function contentDispatchEvent(type, data, sync) {
   if (typeof(data) === "undefined") {
     data = {};
   }
 
   var element = new CustomEvent("contentEvent", {
     bubbles: true,
-    detail: { sync: sync, type: type, data: JSON.stringify(data) }
+    detail: { sync, type, data: JSON.stringify(data) }
   });
   document.dispatchEvent(element);
 }
 
 function contentSyncEvent(type, data) {
   contentDispatchEvent(type, data, 1);
 }
 
 function contentAsyncEvent(type, data) {
   contentDispatchEvent(type, data, 0);
 }
 
-//double logging to account for normal mode and ipc mode (mobile_profile only)
-//Ideally we would remove the dump() and just do ipc logging
+// double logging to account for normal mode and ipc mode (mobile_profile only)
+// Ideally we would remove the dump() and just do ipc logging
 function dumpLog(msg) {
   dump(msg);
   MozFileLogger.log(msg);
 }
 
 
 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
 
@@ -77,53 +77,53 @@ MozFileLogger.init = function(path) {
   MozFileLogger._file = Cc[LF_CID].createInstance(Ci.nsILocalFile);
   MozFileLogger._file.initWithPath(path);
   MozFileLogger._foStream = Cc[FOSTREAM_CID].createInstance(Ci.nsIFileOutputStream);
   MozFileLogger._foStream.init(this._file, PR_WRITE_ONLY | PR_CREATE_FILE | PR_APPEND,
                                    0o664, 0);
 }
 
 MozFileLogger.getLogCallback = function() {
-  return function (msg) {
+  return function(msg) {
     netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
 
-    var data = msg.num + " " + msg.level + " " + msg.info.join(' ') + "\n";
+    var data = msg.num + " " + msg.level + " " + msg.info.join(" ") + "\n";
     if (MozFileLogger._foStream)
       MozFileLogger._foStream.write(data, data.length);
 
     if (data.indexOf("SimpleTest FINISH") >= 0) {
       MozFileLogger.close();
     }
   }
 }
 
 // This is only used from chrome space by the reftest harness
 MozFileLogger.log = function(msg) {
   netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
 
   try {
     if (MozFileLogger._foStream)
       MozFileLogger._foStream.write(msg, msg.length);
-  } catch(ex) {}
+  } catch (ex) {}
 }
 
 MozFileLogger.close = function() {
   if (ipcMode) {
     contentAsyncEvent("LoggerClose");
     return;
   }
 
   netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
 
-  if(MozFileLogger._foStream)
+  if (MozFileLogger._foStream)
     MozFileLogger._foStream.close();
-  
+
   MozFileLogger._foStream = null;
   MozFileLogger._file = null;
 }
 
 try {
-  var prefs = Components.classes['@mozilla.org/preferences-service;1']
+  var prefs = Components.classes["@mozilla.org/preferences-service;1"]
     .getService(Components.interfaces.nsIPrefBranch2);
-  var filename = prefs.getCharPref('talos.logfile');
+  var filename = prefs.getCharPref("talos.logfile");
   MozFileLogger.init(filename);
-} catch (ex) {} //pref does not exist, return empty string
+} catch (ex) {} // pref does not exist, return empty string
 
--- a/testing/talos/talos/scripts/Profiler.js
+++ b/testing/talos/talos/scripts/Profiler.js
@@ -13,17 +13,17 @@
 //  - Please make sure your changes apply cleanly to all use cases.
 
 // Finer grained profiler control
 //
 // Use this object to pause and resume the profiler so that it only profiles the
 // relevant parts of our tests.
 var Profiler;
 
-(function(){
+(function() {
   var _profiler;
 
   // If this script is loaded in a framescript context, there won't be a
   // document object, so just use a fallback value in that case.
   var test_name = this.document ? this.document.location.pathname : "unknown";
 
   // Whether Profiler has been initialized. Until that happens, most calls
   // will be ignored.
@@ -35,17 +35,17 @@ var Profiler;
   // Profiling settings.
   var profiler_interval, profiler_entries, profiler_threadsArray, profiler_dir;
 
   try {
     // Outside of talos, this throws a security exception which no-op this file.
     // (It's not required nor allowed for addons since Firefox 17)
     // It's used inside talos from non-privileged pages (like during tscroll),
     // and it works because talos disables all/most security measures.
-    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
+    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
   } catch (e) {}
 
   try {
     _profiler = Components.classes["@mozilla.org/tools/profiler;1"].getService(Components.interfaces.nsIProfiler);
   } catch (ex) { (typeof(dumpLog) == "undefined" ? dump : dumpLog)(ex + "\n"); }
 
   // Parses an url query string into a JS object.
   function searchToObject(locationSearch) {
@@ -66,70 +66,70 @@ var Profiler;
     /**
      * Initialize the profiler using profiler settings supplied in a JS object.
      * The following properties on the object are respected:
      *  - gecko_profile_interval
      *  - gecko_profile_entries
      *  - gecko_profile_threads
      *  - gecko_profile_dir
      */
-    initFromObject: function Profiler__initFromObject (obj) {
+    initFromObject: function Profiler__initFromObject(obj) {
       if (obj &&
           ("gecko_profile_dir" in obj) && typeof obj.gecko_profile_dir == "string" &&
           ("gecko_profile_interval" in obj) && Number.isFinite(obj.gecko_profile_interval * 1) &&
           ("gecko_profile_entries" in obj) && Number.isFinite(obj.gecko_profile_entries * 1) &&
           ("gecko_profile_threads" in obj) && typeof obj.gecko_profile_threads == "string") {
         profiler_interval = obj.gecko_profile_interval;
         profiler_entries = obj.gecko_profile_entries;
         profiler_threadsArray = obj.gecko_profile_threads.split(",");
         profiler_dir = obj.gecko_profile_dir;
         enabled = true;
       }
     },
-    initFromURLQueryParams: function Profiler__initFromURLQueryParams (locationSearch) {
+    initFromURLQueryParams: function Profiler__initFromURLQueryParams(locationSearch) {
       this.initFromObject(searchToObject(locationSearch));
     },
-    beginTest: function Profiler__beginTest (testName) {
+    beginTest: function Profiler__beginTest(testName) {
       currentTest = testName;
       if (_profiler && enabled) {
         _profiler.StartProfiler(profiler_entries, profiler_interval,
                                 ["js", "leaf", "stackwalk", "threads"], 4,
                                 profiler_threadsArray, profiler_threadsArray.length);
         if (_profiler.PauseSampling) {
           _profiler.PauseSampling();
         }
       }
     },
-    finishTest: function Profiler__finishTest () {
+    finishTest: function Profiler__finishTest() {
       if (_profiler && enabled) {
         _profiler.dumpProfileToFile(profiler_dir + "/" + currentTest + ".profile");
         _profiler.StopProfiler();
       }
     },
-    finishStartupProfiling: function Profiler__finishStartupProfiling () {
+    finishStartupProfiling: function Profiler__finishStartupProfiling() {
       if (_profiler && enabled) {
         _profiler.dumpProfileToFile(profiler_dir + "/startup.profile");
         _profiler.StopProfiler();
       }
     },
-    resume: function Profiler__resume (name, explicit) {
+    resume: function Profiler__resume(name, explicit) {
       if (_profiler) {
         if (_profiler.ResumeSampling) {
           _profiler.ResumeSampling();
         }
         _profiler.AddMarker(explicit ? name : 'Start of test "' + (name || test_name) + '"');
       }
     },
-    pause: function Profiler__pause (name, explicit) {
+    pause: function Profiler__pause(name, explicit) {
       if (_profiler) {
         if (_profiler.PauseSampling) {
           _profiler.PauseSampling();
         }
         _profiler.AddMarker(explicit ? name : 'End of test "' + (name || test_name) + '"');
       }
     },
-    mark: function Profiler__mark (marker, explicit) {
+    mark: function Profiler__mark(marker, explicit) {
       if (_profiler) {
         _profiler.AddMarker(explicit ? marker : 'Profiler: "' + (marker || test_name) + '"');
       }
     }
   };
 })();
--- a/testing/talos/talos/scripts/talos-debug.js
+++ b/testing/talos/talos/scripts/talos-debug.js
@@ -1,75 +1,75 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-/******************************************************************
+/** ****************************************************************
  * window.talosDebug provides some statistical functions
  * (sum, average, median, stddev) and a tpRecordTime method which
  * reports some statistics about the data set, including detected
  * stability point of the data (detecting first few noisy elements).
  * If tpRecordTime doesn't exist globally (i.e. running outside of
  * talos, e.g. in a browser), then it points it to window.talosDebug.tpRecordTime
  * Can be controlled by few properties (disable display, hardcoded
  * stability point, etc)
  *
  * talos-debug.js: Bug 849558
  *****************************************************************/
 window.talosDebug = {
   // Optional config properties
-  disabled : false,
+  disabled: false,
   ignore: -1, // Number of items to ignore at the begining of the set. -1 for auto-detect.
   displayData: false, // If true, will also display all the data points.
   fixed: 2, // default floating point digits for display.
   // End of config
 
-  sum: function (values) {
-    return values.reduce(function(a, b){return a + b;});
+  sum(values) {
+    return values.reduce(function(a, b) { return a + b; });
   },
 
-  average: function (values) {
+  average(values) {
     var d = window.talosDebug;
     return values.length ? d.sum(values) / values.length : 999999;
   },
 
-  median: function (values) {
+  median(values) {
     var clone = values.slice(0);
-    var sorted = clone.sort(function(a, b){ return (a > b) ? 1 : ((a < b) ? -1 : 0); });
+    var sorted = clone.sort(function(a, b) { return (a > b) ? 1 : ((a < b) ? -1 : 0); });
     var len = values.length;
     if (!len)
       return 999999;
     if (len % 2) // We have a middle number
       return sorted[(len - 1) / 2];
     return (sorted[len / 2] + sorted[len / 2 - 1]) / 2; // Average value of the two middle items.
   },
 
-  stddev: function (values, avg) {
+  stddev(values, avg) {
     if (values.length <= 1) {
       return 0;
     }
 
     return Math.sqrt(
-      values.map(function (v) { return Math.pow(v - avg, 2); })
-            .reduce(function (a, b) { return a + b; }) / (values.length - 1));
+      values.map(function(v) { return Math.pow(v - avg, 2); })
+            .reduce(function(a, b) { return a + b; }) / (values.length - 1));
   },
 
   // Estimate the number of warmup iterations of this data set (in a completely unscrientific way).
   // returns -1 if could not find a stability point (supposedly meaning that the values
   // are still in the process of convergence).
   // Algorithm (not based on a scientific method which I know of):
   // Target: Find a locally noisy value after the values show stability
   //         (stddev of a moving window stops decreasing), while trying to make sure
   //         that it wasn't a glitch and the next 2 floating window stddev are, indeed, not
   //         still decreasing.
   //         Do the above for few different window widths (3-7), get the maximum result of those.
   //         Now we should have an index which is at least the 2nd value within the stable part.
   //         We get stddev for that index..end (baseStd), and then go backwards as long as stddev is
   //         decreasing or within ~1% of baseStd, and return the earliest index for which it is.
-  detectWarmup: function (values) {
+  detectWarmup(values) {
     var MIN_WIDTH = 3;
     var MAX_WIDTH = 7;
     var d = window.talosDebug;
 
     function windowStd(from, winSize) {
       var win = values.slice(from, from + winSize);
       return d.stddev(win, d.median(values));
     }
@@ -108,49 +108,49 @@ window.talosDebug = {
       } else {
         break;
       }
     }
 
     return stableFrom;
   },
 
-  statsDisplay: function (collection) {
+  statsDisplay(collection) {
     var d = window.talosDebug;
     var std = d.stddev(collection, d.average(collection));
     var avg = d.average(collection);
     var med = d.median(collection);
     return "Count: " + collection.length +
            "\nAverage: " + avg.toFixed(d.fixed) +
            "\nMedian: " + med.toFixed(d.fixed) +
            "\nStdDev: " + std.toFixed(d.fixed) + " (" + (100 * std / (avg ? avg : 1)).toFixed(d.fixed) + "% of average)";
   },
 
-  tpRecordTime: function (dataCSV) {
+  tpRecordTime(dataCSV) {
     var d = window.talosDebug;
     if (d.disabled)
       return;
 
-    var collection = ("" + dataCSV).split(",").map(function(item){ return parseFloat(item); });
+    var collection = ("" + dataCSV).split(",").map(function(item) { return parseFloat(item); });
     var res = d.statsDisplay(collection);
 
     var warmup = (d.ignore >= 0) ? d.ignore : d.detectWarmup(collection);
     if (warmup >= 0) {
       res += "\n\nWarmup " + ((d.ignore >= 0) ? "requested: " : "auto-detected: ") + warmup;
       warmedUp = collection.slice(warmup);
       if (warmup) {
         res += "\nAfter ignoring first " + (warmup > 1 ? (warmup + " items") : "item") + ":\n";
         res += d.statsDisplay(warmedUp);
       }
     } else {
       res += "\n\nWarmup auto-detection: Failed.";
     }
 
     if (d.displayData) {
-      var disp = collection.map(function(item){
+      var disp = collection.map(function(item) {
                    return item.toFixed(d.fixed);
                  });
       if (warmup >= 0)
         disp.splice(warmup, 0, "[warmed-up:]");
       res += "\n\nRecorded:\n" + disp.join(", ");
 
       res += "\n\nStddev from item NN to last:\n";
       disp = collection.map(function(value, index) {
@@ -163,11 +163,11 @@ window.talosDebug = {
       res += "\n\n[set window.talosDebug.displayData=true for data]";
     }
 
     alert(res);
   }
 }
 
 // Enable testing outside of talos by providing an alternative report function.
-if (typeof (tpRecordTime) === 'undefined') {
+if (typeof (tpRecordTime) === "undefined") {
   tpRecordTime = window.talosDebug.tpRecordTime;
 }
--- a/testing/talos/talos/scripts/xpigen.js
+++ b/testing/talos/talos/scripts/xpigen.js
@@ -17,18 +17,17 @@ function createXpiDataUri(base, files, c
       a.href = uri;
       return a.href.toLowerCase().indexOf("file://") == 0;
     }
 
     var r =  new XMLHttpRequest();
     r.open("GET", url, false);
     r.requestType = "arraybuffer";
     r.overrideMimeType("text/plain; charset=x-user-defined");
-    try { r.send(); }
-    catch (e) { throw "FileNotRetrieved: " + url + " - " + e; }
+    try { r.send(); } catch (e) { throw "FileNotRetrieved: " + url + " - " + e; }
     // For 'file://' Firefox sets status=0 on success or throws otherwise
     // In Firefox 34-ish onwards, success status is 200.
     if (!(r.readyState == 4 && (r.status == 0 || r.status == 200)))
       throw ("FileNotRetrieved: " + url + " - " + r.status + " " + r.statusText);
 
     return r.response;
   }
 
@@ -48,24 +47,24 @@ function createXpiDataUri(base, files, c
       nUint24 |= aBytes[nIdx] << (16 >>> nMod3 & 24);
       if (nMod3 === 2 || aBytes.length - nIdx === 1) {
         sB64Enc += String.fromCharCode(uint6ToB64(nUint24 >>> 18 & 63), uint6ToB64(nUint24 >>> 12 & 63),
                                                   uint6ToB64(nUint24 >>> 6 & 63), uint6ToB64(nUint24 & 63));
         nUint24 = 0;
       }
     }
 
-    return sB64Enc.substr(0, sB64Enc.length - 2 + nMod3) + (nMod3 === 2 ? '' : nMod3 === 1 ? '=' : '==');
+    return sB64Enc.substr(0, sB64Enc.length - 2 + nMod3) + (nMod3 === 2 ? "" : nMod3 === 1 ? "=" : "==");
   }
 
   // Create the zip/xpi
   try {
     function dummy() {}
-    var onsuccess  = callbacks.onsuccess  || dummy;
-    var onerror    = callbacks.onerror    || dummy;
+    var onsuccess  = callbacks.onsuccess || dummy;
+    var onerror    = callbacks.onerror || dummy;
     var onprogress = callbacks.onprogress || dummy;
 
     var zip = new JSZip();
     for (var i = 0; i < files.length; i++) {
       zip.file(files[i], readBinFile(base + files[i]),
                {binary: true, compression: "deflate"});
       onprogress(100 * (i + 1) / (files.length + 1));
     }
--- a/testing/talos/talos/startup_test/sessionrestore/addon/SessionRestoreTalosTest.js
+++ b/testing/talos/talos/startup_test/sessionrestore/addon/SessionRestoreTalosTest.js
@@ -29,23 +29,23 @@ const MSG_PROVIDE = "session-restore-tes
 
 function nsSessionRestoreTalosTest() { }
 
 nsSessionRestoreTalosTest.prototype = {
   classID: Components.ID("{716346e5-0c45-4aa2-b601-da36f3c74bd8}"),
 
   _xpcom_factory: XPCOMUtils.generateSingletonFactory(nsSessionRestoreTalosTest),
 
-  //////////////////////////////////////////////////////////////////////////////
-  //// nsISupports
+  // ////////////////////////////////////////////////////////////////////////////
+  // // nsISupports
 
   QueryInterface: XPCOMUtils.generateQI([Ci.nsIObserver]),
 
-  //////////////////////////////////////////////////////////////////////////////
-  //// nsIObserver
+  // ////////////////////////////////////////////////////////////////////////////
+  // // nsIObserver
 
   observe: function DS_observe(aSubject, aTopic, aData) {
     switch (aTopic) {
       case STARTUP_TOPIC:
         this.init();
         break;
       case StartupPerformance.RESTORED_TOPIC:
         this.onReady(true);
@@ -57,17 +57,17 @@ nsSessionRestoreTalosTest.prototype = {
       default:
         throw new Error(`Unknown topic ${aTopic}`);
     }
   },
 
   /**
    * Perform initialization on profile-after-change.
    */
-  init: function() {
+  init() {
     if (StartupPerformance.isRestored) {
       this.onReady(true);
     } else {
       let sessionStartup = Cc["@mozilla.org/browser/sessionstartup;1"]
                                  .getService(Ci.nsISessionStartup);
       sessionStartup.onceInitialized.then(() => {
         if (sessionStartup.sessionType == Ci.nsISessionStartup.NO_SESSION
         || sessionStartup.sessionType == Ci.nsISessionStartup.DEFER_SESSION) {
@@ -77,17 +77,17 @@ nsSessionRestoreTalosTest.prototype = {
         }
       });
     }
   },
 
   /**
    * Session Restore is complete, hurray.
    */
-  onReady: function(hasRestoredTabs) {
+  onReady(hasRestoredTabs) {
     if (hasRestoredTabs) {
       Services.obs.removeObserver(this, StartupPerformance.RESTORED_TOPIC);
     }
 
     // onReady might fire before the browser window has finished initializing
     // or sometimes soon after. We handle both cases here.
     let win = Services.wm.getMostRecentWindow("navigator:browser");
     if (!win || !win.gBrowser) {
@@ -146,12 +146,12 @@ nsSessionRestoreTalosTest.prototype = {
       let url = new URL(args.queryElementAt(0, Ci.nsISupportsString).data);
       queryString = url.search;
     }
 
     win.gBrowser.addTab("chrome://session-restore-test/content/index.html" + queryString);
   }
 };
 
-////////////////////////////////////////////////////////////////////////////////
-//// Module
+// //////////////////////////////////////////////////////////////////////////////
+// // Module
 
 this.NSGetFactory = XPCOMUtils.generateNSGetFactory([nsSessionRestoreTalosTest]);
--- a/testing/talos/talos/startup_test/sessionrestore/addon/content/main.js
+++ b/testing/talos/talos/startup_test/sessionrestore/addon/content/main.js
@@ -19,22 +19,22 @@ addEventListener("load", function() {
       await TalosContentProfiler.pause("This test measures the time between sessionRestoreInit and sessionRestored, ignore everything around that");
       await TalosContentProfiler.finishStartupProfiling();
 
       // Show result on screen. Nice but not really necessary.
       document.getElementById("sessionRestoreInit-to-sessionRestored").textContent = duration + "ms";
 
       // Report data to Talos, if possible
       dumpLog("__start_report" +
-              duration         +
+              duration +
               "__end_report\n\n");
 
       // Next one is required by the test harness but not used
       dumpLog("__startTimestamp" +
-              Date.now()         +
+              Date.now() +
               "__endTimestamp\n\n");
       goQuitApplication();
   });
 
   // In case the add-on has broadcasted the message before we were loaded,
   // request a second broadcast.
   Services.cpmm.sendAsyncMessage(MSG_REQUEST, {});
 });
--- a/testing/talos/talos/startup_test/tpaint.html
+++ b/testing/talos/talos/startup_test/tpaint.html
@@ -3,17 +3,17 @@
 <script language="JavaScript" type="text/javascript" src="../scripts/MozillaFileLogger.js"></script>
 <script language="JavaScript" src="chrome://talos-powers-content/content/TalosContentProfiler.js"></script>
 <script language="JavaScript" type="text/javascript" src="chrome://talos-powers-content/content/TalosPowersContent.js"></script>
 <script language="JavaScript" type="text/javascript" src="../tests/quit.js"></script>
 <script>
 var OPENER_DELAY = 1000; // ms delay between tests
 var REPEAT_COUNT = 20;
 var kid, kidStartTime, kidEndTime, windowIndex, openTimes;
-var auto = document.location.search.split('=')[1]; // ?auto=1
+var auto = document.location.search.split("=")[1]; // ?auto=1
 
 /*
  * tpaint -- measures the amount of time between opening a new window
  *           its contents being painted.
  *
  * XXX When run manually, outside of automation, need to:
  *     1) allow popups
  *     2) set dom.send_after_paint_to_content = true
@@ -39,22 +39,22 @@ function scheduleNextWindow() {
 
   TalosPowersContent.forceCCAndGC();
   window.setTimeout(openWindow, OPENER_DELAY);
 }
 
 function calcMedian( numbers ) {
   // Avoid changing the original array.
   var sortedNumbers = Array.from(numbers);
-  sortedNumbers.sort( function (a,b){ return a-b; } );
+  sortedNumbers.sort( function(a, b) { return a - b; } );
   var n = Math.floor( sortedNumbers.length / 2 );
   if (sortedNumbers.length % 2) {
     return sortedNumbers[n];
   }
-  return ( sortedNumbers[n-1] + sortedNumbers[n] ) / 2;
+  return ( sortedNumbers[n - 1] + sortedNumbers[n] ) / 2;
 }
 
 async function reportTimes() {
   await TalosContentProfiler.finishTest();
 
   var min = 99999, max = 0, avg = 0;
   var count = openTimes.length;
   for (var i = 0; i < count; i++) {
@@ -66,55 +66,55 @@ async function reportTimes() {
       max = time;
   }
   avg = (avg / count).toFixed(2);
   min = min.toFixed(2);
   max = max.toFixed(2);
   med = calcMedian(openTimes);
 
   if (auto) {
-    dumpLog("__start_report" + openTimes.join('|') + "__end_report");
+    dumpLog("__start_report" + openTimes.join("|") + "__end_report");
     var now = (new Date()).getTime();
     dumpLog("__startTimestamp" + now + "__endTimestamp\n");
-    dumpLog("openingTimes="+openTimes.slice(1)+"\n");
+    dumpLog("openingTimes=" + openTimes.slice(1) + "\n");
     dumpLog("avgOpenTime:" + avg + "\n" );
     dumpLog("minOpenTime:" + min + "\n" );
     dumpLog("maxOpenTime:" + max + "\n" );
     dumpLog("medOpenTime:" + med + "\n" );
     dumpLog("__xulWinOpenTime:" + med + "\n");
 
     goQuitApplication();
     window.close();
   } else {
     alert("Average over " + count + " runs: " + avg + "\n" +
           "(min=" + min + ", max=" + max + ")\n" +
-          "runs=" + openTimes.join(','));
+          "runs=" + openTimes.join(","));
   }
 }
 
 async function childIsOpen() {
   kidEndTime = window.performance.now();
-  await TalosContentProfiler.pause('tpaint ' + windowIndex);
+  await TalosContentProfiler.pause("tpaint " + windowIndex);
   openTimes[windowIndex] = kidEndTime - kidStartTime;
   scheduleNextWindow();
 }
 
 var kidHTML = "<html><meta charset='utf-8'><script>" +
               "var e = 'MozAfterPaint';" +
               "function done() {" +
               "  window.removeEventListener(e, done, true);" +
               "  window.opener.childIsOpen();" +
               "  window.close();" +
               "}" +
               "window.addEventListener(e, done, true);" +
               "</" + "script>TPAINT</html>";
 var kidURI = "data:text/html," + encodeURI(kidHTML);
 
 async function openWindow() {
-  await TalosContentProfiler.resume('tpaint ' + windowIndex);
+  await TalosContentProfiler.resume("tpaint " + windowIndex);
   kidStartTime = window.performance.now();
   kid = window.open(kidURI);
 }
 
 if (auto)
   startTest();
 
 </script>
--- a/testing/talos/talos/startup_test/tresize/addon/content/Profiler.js
+++ b/testing/talos/talos/startup_test/tresize/addon/content/Profiler.js
@@ -13,17 +13,17 @@
 //  - Please make sure your changes apply cleanly to all use cases.
 
 // Finer grained profiler control
 //
 // Use this object to pause and resume the profiler so that it only profiles the
 // relevant parts of our tests.
 var Profiler;
 
-(function(){
+(function() {
   var _profiler;
 
   // If this script is loaded in a framescript context, there won't be a
   // document object, so just use a fallback value in that case.
   var test_name = this.document ? this.document.location.pathname : "unknown";
 
   // Whether Profiler has been initialized. Until that happens, most calls
   // will be ignored.
@@ -35,17 +35,17 @@ var Profiler;
   // Profiling settings.
   var profiler_interval, profiler_entries, profiler_threadsArray, profiler_dir;
 
   try {
     // Outside of talos, this throws a security exception which no-op this file.
     // (It's not required nor allowed for addons since Firefox 17)
     // It's used inside talos from non-privileged pages (like during tscroll),
     // and it works because talos disables all/most security measures.
-    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
+    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
   } catch (e) {}
 
   try {
     _profiler = Components.classes["@mozilla.org/tools/profiler;1"].getService(Components.interfaces.nsIProfiler);
   } catch (ex) { (typeof(dumpLog) == "undefined" ? dump : dumpLog)(ex + "\n"); }
 
   // Parses an url query string into a JS object.
   function searchToObject(locationSearch) {
@@ -66,70 +66,70 @@ var Profiler;
     /**
      * Initialize the profiler using profiler settings supplied in a JS object.
      * The following properties on the object are respected:
      *  - gecko_profile_interval
      *  - gecko_profile_entries
      *  - gecko_profile_threads
      *  - gecko_profile_dir
      */
-    initFromObject: function Profiler__initFromObject (obj) {
+    initFromObject: function Profiler__initFromObject(obj) {
       if (obj &&
           ("gecko_profile_dir" in obj) && typeof obj.gecko_profile_dir == "string" &&
           ("gecko_profile_interval" in obj) && Number.isFinite(obj.gecko_profile_interval * 1) &&
           ("gecko_profile_entries" in obj) && Number.isFinite(obj.gecko_profile_entries * 1) &&
           ("gecko_profile_threads" in obj) && typeof obj.gecko_profile_threads == "string") {
         profiler_interval = obj.gecko_profile_interval;
         profiler_entries = obj.gecko_profile_entries;
         profiler_threadsArray = obj.gecko_profile_threads.split(",");
         profiler_dir = obj.gecko_profile_dir;
         enabled = true;
       }
     },
-    initFromURLQueryParams: function Profiler__initFromURLQueryParams (locationSearch) {
+    initFromURLQueryParams: function Profiler__initFromURLQueryParams(locationSearch) {
       this.initFromObject(searchToObject(locationSearch));
     },
-    beginTest: function Profiler__beginTest (testName) {
+    beginTest: function Profiler__beginTest(testName) {
       currentTest = testName;
       if (_profiler && enabled) {
         _profiler.StartProfiler(profiler_entries, profiler_interval,
                                 ["js", "leaf", "stackwalk", "threads"], 4,
                                 profiler_threadsArray, profiler_threadsArray.length);
         if (_profiler.PauseSampling) {
           _profiler.PauseSampling();
         }
       }
     },
-    finishTest: function Profiler__finishTest () {
+    finishTest: function Profiler__finishTest() {
       if (_profiler && enabled) {
         _profiler.dumpProfileToFile(profiler_dir + "/" + currentTest + ".profile");
         _profiler.StopProfiler();
       }
     },
-    finishStartupProfiling: function Profiler__finishStartupProfiling () {
+    finishStartupProfiling: function Profiler__finishStartupProfiling() {
       if (_profiler && enabled) {
         _profiler.dumpProfileToFile(profiler_dir + "/startup.profile");
         _profiler.StopProfiler();
       }
     },
-    resume: function Profiler__resume (name, explicit) {
+    resume: function Profiler__resume(name, explicit) {
       if (_profiler) {
         if (_profiler.ResumeSampling) {
           _profiler.ResumeSampling();
         }
         _profiler.AddMarker(explicit ? name : 'Start of test "' + (name || test_name) + '"');
       }
     },
-    pause: function Profiler__pause (name, explicit) {
+    pause: function Profiler__pause(name, explicit) {
       if (_profiler) {
         if (_profiler.PauseSampling) {
           _profiler.PauseSampling();
         }
         _profiler.AddMarker(explicit ? name : 'End of test "' + (name || test_name) + '"');
       }
     },
-    mark: function Profiler__mark (marker, explicit) {
+    mark: function Profiler__mark(marker, explicit) {
       if (_profiler) {
         _profiler.AddMarker(explicit ? marker : 'Profiler: "' + (marker || test_name) + '"');
       }
     }
   };
 })();
--- a/testing/talos/talos/startup_test/tresize/addon/content/framescript.js
+++ b/testing/talos/talos/startup_test/tresize/addon/content/framescript.js
@@ -1,12 +1,12 @@
 (function() {
   const TRESIZE_PREFIX = "tresize@mozilla.org:";
 
-  addEventListener(TRESIZE_PREFIX + "chrome-run-event", function (e) {
+  addEventListener(TRESIZE_PREFIX + "chrome-run-event", function(e) {
     var uniqueMessageId = TRESIZE_PREFIX + content.document.documentURI + Date.now() + Math.random();
 
     addMessageListener(TRESIZE_PREFIX + "chrome-run-reply", function done(reply) {
       if (reply.data.id == uniqueMessageId) {
         removeMessageListener(TRESIZE_PREFIX + "chrome-run-reply", done);
         content.wrappedJSObject.logResults(reply.data.result);
       }
     });
--- a/testing/talos/talos/startup_test/tresize/addon/content/tresize.js
+++ b/testing/talos/talos/startup_test/tresize/addon/content/tresize.js
@@ -23,56 +23,56 @@ function painted() {
   setTimeout(resizeCompleted, 20);
 }
 
 function resizeTest() {
   try {
     windowSize += resizeIncrement;
     window.addEventListener("MozAfterPaint", painted, true);
     Profiler.resume("resize " + count);
-    dataSet[count] = {'start': window.performance.now()};
-    window.resizeTo(windowSize,windowSize);
-  } catch(ex) { finish([ex + '\n']); }
+    dataSet[count] = {"start": window.performance.now()};
+    window.resizeTo(windowSize, windowSize);
+  } catch (ex) { finish([ex + "\n"]); }
 }
 
 function testCompleted() {
   try {
     Profiler.finishTest();
     var total = 0;
     var diffs = [];
     for (var idx = 0; idx < count; idx++) {
       var diff = dataSet[idx].end - dataSet[idx].start;
       total += diff;
       diffs.push(diff);
     }
-    var average = (total/count);
+    var average = (total / count);
     var retVal = [];
     if (dumpDataSet) {
-      retVal.push('__start_reporttresize-test.html,' + diffs + '__end_report\n');
+      retVal.push("__start_reporttresize-test.html," + diffs + "__end_report\n");
     } else {
-      retVal.push('__start_report' + average + '__end_report\n');
+      retVal.push("__start_report" + average + "__end_report\n");
     }
-    retVal.push('__startTimestamp' + Date.now() + '__endTimestamp\n');
+    retVal.push("__startTimestamp" + Date.now() + "__endTimestamp\n");
     finish(retVal);
-  } catch(ex) { finish([ex + '\n']); }
+  } catch (ex) { finish([ex + "\n"]); }
 }
 
 function resizeCompleted() {
   count++;
   if (count >= max) {
     testCompleted();
   } else {
     resizeTest();
   }
 }
 
 function runTest(callback, locationSearch) {
   doneCallback = callback;
-  window.moveTo(10,10);
-  window.resizeTo(windowSize,windowSize);
+  window.moveTo(10, 10);
+  window.resizeTo(windowSize, windowSize);
   Profiler.initFromURLQueryParams(locationSearch);
   Profiler.beginTest("tresize");
   resizeTest();
 }
 
 function finish(msgs) {
   if (doneCallback) {
     doneCallback(msgs);
--- a/testing/talos/talos/startup_test/tspaint_test.html
+++ b/testing/talos/talos/startup_test/tspaint_test.html
@@ -16,50 +16,50 @@ async function painted() {
   window.removeEventListener("MozAfterPaint", painted, true);
 
   await TalosContentProfiler.pause();
   await TalosContentProfiler.initFromURLQueryParams(location.search);
   await TalosContentProfiler.finishStartupProfiling();
 
   let startupInfo = await TalosPowersContent.getStartupInfo();
 
-  let startupTime = startupInfo['firstPaint'] - startupInfo['process'];
+  let startupTime = startupInfo["firstPaint"] - startupInfo["process"];
 
-  document.body.textContent = 'Startup time = ' + startupTime + ' ms';
+  document.body.textContent = "Startup time = " + startupTime + " ms";
   if (window.dump) {
-    dumpLog('__start_report' + startupTime + '__end_report\n\n');
+    dumpLog("__start_report" + startupTime + "__end_report\n\n");
   }
   dumpConsoleAndQuit();
 }
 
 function failed() {
   if (window.dump) {
-    dumpLog('BROWSER FAILED TO GENERATE MOZAFTERPAINT IN 5 SECONDS');
+    dumpLog("BROWSER FAILED TO GENERATE MOZAFTERPAINT IN 5 SECONDS");
   }
   dumpConsoleAndQuit();
 }
 
 function dumpConsoleAndQuit() {
   var messages = {}
 
   try {
-    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
-    var consoleService = Components.classes['@mozilla.org/consoleservice;1'].getService(Components.interfaces.nsIConsoleService);
+    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+    var consoleService = Components.classes["@mozilla.org/consoleservice;1"].getService(Components.interfaces.nsIConsoleService);
     consoleService.getMessageArray(messages, {});
-  } catch(ex) {
-    dumpLog(ex + '\n');
+  } catch (ex) {
+    dumpLog(ex + "\n");
   }
 
   for (var i = 0; i < messages.value.length; i++)
-    dumpLog(messages.value[i].message + '\n');
+    dumpLog(messages.value[i].message + "\n");
 
   // Close window asynchronously, there might still be startup operations that still need to run
   window.setTimeout(function() {
     if (window.dump) {
-      dumpLog('__startTimestamp' + Date.now() + '__endTimestamp\n');
+      dumpLog("__startTimestamp" + Date.now() + "__endTimestamp\n");
     }
     goQuitApplication();
     window.close();
   }, 0);
 }
 
 window.addEventListener("MozAfterPaint", painted, true);
 setTimeout(failed, 5000);
--- a/testing/talos/talos/talos-powers/chrome/talos-powers-content.js
+++ b/testing/talos/talos/talos-powers/chrome/talos-powers-content.js
@@ -33,18 +33,18 @@ addEventListener("TalosContentProfilerCo
 
 addMessageListener("TalosContentProfiler:Response", (msg) => {
   let name = msg.data.name;
   let data = msg.data.data;
 
   let event = Cu.cloneInto({
     bubbles: true,
     detail: {
-      name: name,
-      data: data,
+      name,
+      data,
     },
   }, content);
   content.dispatchEvent(
     new content.CustomEvent("TalosContentProfilerResponse", event));
 });
 
 addEventListener("TalosPowersContentForceCCAndGC", (e) => {
   Cu.forceGC();
@@ -86,17 +86,17 @@ addEventListener("TalosPowersContentGetS
 /* *
  * Mediator for the generic ParentExec mechanism.
  * Listens for a query event from the content, forwards it as a query message
  * to the parent, listens to a parent reply message, and forwards it as a reply
  * event for the content to capture.
  * The consumer API for this mechanism is at content/TalosPowersContent.js
  * and the callees are at ParentExecServices at components/TalosPowersService.js
  */
-addEventListener("TalosPowers:ParentExec:QueryEvent", function (e) {
+addEventListener("TalosPowers:ParentExec:QueryEvent", function(e) {
   if (content.location.protocol != "file:" &&
       content.location.hostname != "localhost" &&
       content.location.hostname != "127.0.0.1") {
     throw new Error("TalosPowers:ParentExec may only be used with local content");
   }
   let uniqueMessageId = "TalosPowers:ParentExec:"
                       + content.document.documentURI + Date.now() + Math.random();
 
--- a/testing/talos/talos/talos-powers/components/TalosPowersService.js
+++ b/testing/talos/talos/talos-powers/components/TalosPowersService.js
@@ -9,26 +9,26 @@ XPCOMUtils.defineLazyModuleGetter(this, 
   "resource://gre/modules/Services.jsm");
 XPCOMUtils.defineLazyModuleGetter(this, "OS",
   "resource://gre/modules/osfile.jsm");
 
 const FRAME_SCRIPT = "chrome://talos-powers/content/talos-powers-content.js";
 
 function TalosPowersService() {
   this.wrappedJSObject = this;
-};
+}
 
 TalosPowersService.prototype = {
   classDescription: "Talos Powers",
   classID: Components.ID("{f5d53443-d58d-4a2f-8df0-98525d4f91ad}"),
   contractID: "@mozilla.org/talos/talos-powers-service;1",
   QueryInterface: XPCOMUtils.generateQI([Ci.nsIObserver]),
 
   observe(subject, topic, data) {
-    switch(topic) {
+    switch (topic) {
       case "profile-after-change":
         // Note that this observation is registered in the chrome.manifest
         // for this add-on.
         this.init();
         break;
       case "xpcom-shutdown":
         this.uninit();
         break;
@@ -45,17 +45,17 @@ TalosPowersService.prototype = {
     Services.obs.addObserver(this, "xpcom-shutdown");
   },
 
   uninit() {
     Services.obs.removeObserver(this, "xpcom-shutdown");
   },
 
   receiveMessage(message) {
-    switch(message.name) {
+    switch (message.name) {
       case "Talos:ForceQuit": {
         this.forceQuit(message.data);
         break;
       }
       case "TalosContentProfiler:Command": {
         this.receiveProfileCommand(message);
         break;
       }
@@ -134,32 +134,32 @@ TalosPowersService.prototype = {
 
   /**
    * Pauses the Profiler, optionally setting a parent process marker before
    * doing so.
    *
    * @param marker (string, optional)
    *        A marker to set before pausing.
    */
-  profilerPause(marker=null) {
+  profilerPause(marker = null) {
     if (marker) {
       Services.profiler.AddMarker(marker);
     }
 
     Services.profiler.PauseSampling();
   },
 
   /**
    * Resumes a pausedProfiler, optionally setting a parent process marker
    * after doing so.
    *
    * @param marker (string, optional)
    *        A marker to set after resuming.
    */
-  profilerResume(marker=null) {
+  profilerResume(marker = null) {
     Services.profiler.ResumeSampling();
 
     if (marker) {
       Services.profiler.AddMarker(marker);
     }
   },
 
   /**
@@ -170,17 +170,17 @@ TalosPowersService.prototype = {
   },
 
   receiveProfileCommand(message) {
     const ACK_NAME = "TalosContentProfiler:Response";
     let mm = message.target.messageManager;
     let name = message.data.name;
     let data = message.data.data;
 
-    switch(name) {
+    switch (name) {
       case "Profiler:Begin": {
         this.profilerBegin(data);
         // profilerBegin will cause the parent to send an async message to any
         // child processes to start profiling. Because messages are serviced
         // in order, we know that by the time that the child services the
         // ACK message, that the profiler has started in its process.
         mm.sendAsyncMessage(ACK_NAME, { name });
         break;
@@ -230,18 +230,18 @@ TalosPowersService.prototype = {
     let enumerator = Services.wm.getEnumerator(null);
     while (enumerator.hasMoreElements()) {
       let domWindow = enumerator.getNext();
       domWindow.close();
     }
 
     try {
       Services.startup.quit(Services.startup.eForceQuit);
-    } catch(e) {
-      dump('Force Quit failed: ' + e);
+    } catch (e) {
+      dump("Force Quit failed: " + e);
     }
   },
 
   receiveGetStartupInfo(message) {
     let mm = message.target.messageManager;
     let startupInfo = Services.startup.getStartupInfo();
 
     if (!startupInfo["firstPaint"]) {
@@ -276,38 +276,38 @@ TalosPowersService.prototype = {
       win.setTimeout(function() {
         callback("sample reply for: " + arg);
       }, 500);
     },
   */
   ParentExecServices: {
 
     // arg: ignored. return: handle (number) for use with stopFrameTimeRecording
-    startFrameTimeRecording: function(arg, callback, win) {
+    startFrameTimeRecording(arg, callback, win) {
       var rv = win.QueryInterface(Ci.nsIInterfaceRequestor)
                   .getInterface(Ci.nsIDOMWindowUtils)
                   .startFrameTimeRecording();
       callback(rv);
     },
 
     // arg: handle from startFrameTimeRecording. return: array with composition intervals
-    stopFrameTimeRecording: function(arg, callback, win) {
+    stopFrameTimeRecording(arg, callback, win) {
       var rv = win.QueryInterface(Ci.nsIInterfaceRequestor)
                   .getInterface(Ci.nsIDOMWindowUtils)
                   .stopFrameTimeRecording(arg);
       callback(rv);
     },
   },
 
   RecieveParentExecCommand(msg) {
     function sendResult(result) {
       let mm = msg.target.messageManager;
       mm.sendAsyncMessage("TalosPowers:ParentExec:ReplyMsg", {
         id: msg.data.id,
-        result: result
+        result
       });
     }
 
     let command = msg.data.command;
     if (!this.ParentExecServices.hasOwnProperty(command.name))
       throw new Error("TalosPowers:ParentExec: Invalid service '" + command.name + "'");
 
     this.ParentExecServices[command.name](command.data, sendResult, msg.target.ownerGlobal);
--- a/testing/talos/talos/talos-powers/content/TalosContentProfiler.js
+++ b/testing/talos/talos/talos-powers/content/TalosContentProfiler.js
@@ -26,17 +26,17 @@ var TalosContentProfiler;
   // Profiler settings.
   var interval, entries, threadsArray, profileDir;
 
   try {
     // Outside of talos, this throws a security exception which no-op this file.
     // (It's not required nor allowed for addons since Firefox 17)
     // It's used inside talos from non-privileged pages (like during tscroll),
     // and it works because talos disables all/most security measures.
-    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
+    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
   } catch (e) {}
 
   Components.utils.import("resource://gre/modules/Services.jsm");
 
   /**
    * Emits a TalosContentProfiler prefixed event and then returns a Promise
    * that resolves once a corresponding acknowledgement event is
    * dispatched on our document.
@@ -45,23 +45,23 @@ var TalosContentProfiler;
    *        The name of the event that will be TalosContentProfiler prefixed and
    *        eventually sent to the parent.
    * @param data (optional)
    *        The data that will be sent to the parent.
    * @returns Promise
    *        Resolves when a corresponding acknowledgement event is dispatched
    *        on this document.
    */
-  function sendEventAndWait(name, data={}) {
+  function sendEventAndWait(name, data = {}) {
     return new Promise((resolve) => {
       var event = new CustomEvent("TalosContentProfilerCommand", {
         bubbles: true,
         detail: {
-          name: name,
-          data: data,
+          name,
+          data,
         }
       });
       document.dispatchEvent(event);
 
       addEventListener("TalosContentProfilerResponse", function onResponse(event) {
         if (event.detail.name != name) {
           return;
         }
@@ -102,17 +102,17 @@ var TalosContentProfiler;
      *
      * @param obj (object)
      *   The following properties on the object are respected:
      *     gecko_profile_interval (int)
      *     gecko_profile_entries (int)
      *     gecko_profile_threads (string, comma separated list of threads to filter with)
      *     gecko_profile_dir (string)
      */
-    initFromObject(obj={}) {
+    initFromObject(obj = {}) {
       if (!initted) {
         if (("gecko_profile_dir" in obj) && typeof obj.gecko_profile_dir == "string" &&
             ("gecko_profile_interval" in obj) && Number.isFinite(obj.gecko_profile_interval * 1) &&
             ("gecko_profile_entries" in obj) && Number.isFinite(obj.gecko_profile_entries * 1) &&
             ("gecko_profile_threads" in obj) && typeof obj.gecko_profile_threads == "string") {
           interval = obj.gecko_profile_interval;
           entries = obj.gecko_profile_entries;
           threadsArray = obj.gecko_profile_threads.split(",");
@@ -196,30 +196,30 @@ var TalosContentProfiler;
     },
 
     /**
      * Resumes the Gecko Profiler sampler. Can also simultaneously set a marker.
      *
      * @returns Promise
      *          Resolves once the Gecko Profiler has resumed.
      */
-    resume(marker="") {
+    resume(marker = "") {
       if (initted) {
         return sendEventAndWait("Profiler:Resume", { marker });
       }
       return Promise.resolve();
     },
 
     /**
      * Pauses the Gecko Profiler sampler. Can also simultaneously set a marker.
      *
      * @returns Promise
      *          Resolves once the Gecko Profiler has paused.
      */
-    pause(marker="") {
+    pause(marker = "") {
       if (initted) {
         return sendEventAndWait("Profiler:Pause", { marker });
       }
 
       return Promise.resolve();
     },
 
     /**
--- a/testing/talos/talos/talos-powers/content/TalosParentProfiler.js
+++ b/testing/talos/talos/talos-powers/content/TalosParentProfiler.js
@@ -69,17 +69,17 @@ var TalosParentProfiler;
      *
      * @param obj (object)
      *   The following properties on the object are respected:
      *     gecko_profile_interval (int)
      *     gecko_profile_entries (int)
      *     gecko_profile_threads (string, comma separated list of threads to filter with)
      *     gecko_profile_dir (string)
      */
-    initFromObject(obj={}) {
+    initFromObject(obj = {}) {
       if (!initted) {
         if (("gecko_profile_dir" in obj) && typeof obj.gecko_profile_dir == "string" &&
             ("gecko_profile_interval" in obj) && Number.isFinite(obj.gecko_profile_interval * 1) &&
             ("gecko_profile_entries" in obj) && Number.isFinite(obj.gecko_profile_entries * 1) &&
             ("gecko_profile_threads" in obj) && typeof obj.gecko_profile_threads == "string") {
           interval = obj.gecko_profile_interval;
           entries = obj.gecko_profile_entries;
           threadsArray = obj.gecko_profile_threads.split(",");
@@ -128,22 +128,22 @@ var TalosParentProfiler;
      * @returns Promise
      *          Resolves once the profile has been dumped to disk. The test should
      *          not try to quit the browser until this has resolved.
      */
     finishTest() {
       if (initted) {
         let profileFile = profileDir + "/" + currentTest + ".profile";
         return TalosPowers.profilerFinish(profileFile);
-      } else {
+      }
         let msg = "You should not call finishTest without having first " +
                   "initted the Profiler";
         console.error(msg);
         return Promise.reject(msg);
-      }
+
     },
 
     /**
      * A start-up test has finished. Callers don't need to run beginTest or
      * finishTest, but should pause the sampler as soon as possible, and call
      * this function to dump the profile.
      *
      * @returns Promise
@@ -159,29 +159,29 @@ var TalosParentProfiler;
     },
 
     /**
      * Resumes the Gecko Profiler sampler. Can also simultaneously set a marker.
      *
      * @returns Promise
      *          Resolves once the Gecko Profiler has resumed.
      */
-    resume(marker="") {
+    resume(marker = "") {
       if (initted) {
         TalosPowers.profilerResume(marker);
       }
     },
 
     /**
      * Pauses the Gecko Profiler sampler. Can also simultaneously set a marker.
      *
      * @returns Promise
      *          Resolves once the Gecko Profiler has paused.
      */
-    pause(marker="") {
+    pause(marker = "") {
       if (initted) {
         TalosPowers.profilerPause(marker);
       }
     },
 
     /**
      * Adds a marker to the profile.
      *
--- a/testing/talos/talos/talos-powers/content/TalosPowersContent.js
+++ b/testing/talos/talos/talos-powers/content/TalosPowersContent.js
@@ -25,17 +25,17 @@ var TalosPowersParent;
     },
 
     focus(callback) {
       if (callback) {
         addEventListener("TalosPowersContentFocused", function focused() {
           removeEventListener("TalosPowersContentFocused", focused);
           callback();
         });
-      };
+      }
       document.dispatchEvent(new CustomEvent("TalosPowersContentFocus", {
         bubbles: true,
       }));
     },
 
     getStartupInfo() {
       return new Promise((resolve) => {
         var event = new CustomEvent("TalosPowersContentGetStartupInfo", {
@@ -57,17 +57,17 @@ var TalosPowersParent;
    * Generic interface to service functions which run at the parent process.
    */
   // If including this script proves too much touble, you may embed the following
   // code verbatim instead, and keep the copy up to date with its source here:
   TalosPowersParent = {
     replyId: 1,
 
     // dispatch an event to the framescript and register the result/callback event
-    exec: function(commandName, arg, callback, opt_custom_window) {
+    exec(commandName, arg, callback, opt_custom_window) {
       let win = opt_custom_window || window;
       let replyEvent = "TalosPowers:ParentExec:ReplyEvent:" + this.replyId++;
       if (callback) {
         win.addEventListener(replyEvent, function(e) {
           callback(e.detail);
         }, {once: true});
       }
       win.dispatchEvent(
--- a/testing/talos/talos/tests/a11y/a11y.js
+++ b/testing/talos/talos/tests/a11y/a11y.js
@@ -1,32 +1,30 @@
 gAccService = 0;
 
 // Make sure not to touch Components before potentially invoking enablePrivilege,
 // because otherwise it won't be there.
 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
 nsIAccessible = Components.interfaces.nsIAccessible;
 nsIDOMNode = Components.interfaces.nsIDOMNode;
 
-function initAccessibility()
-{
+function initAccessibility() {
   netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
   if (!gAccService) {
     var service = Components.classes["@mozilla.org/accessibilityService;1"];
     if (service) { // fails if build lacks accessibility module
       gAccService =
       Components.classes["@mozilla.org/accessibilityService;1"]
                 .getService(Components.interfaces.nsIAccessibilityService);
     }
   }
   return gAccService;
 }
 
-function getAccessible(aAccOrElmOrID, aInterfaces)
-{
+function getAccessible(aAccOrElmOrID, aInterfaces) {
   if (!aAccOrElmOrID) {
     return null;
   }
 
   var elm = null;
 
   if (aAccOrElmOrID instanceof nsIAccessible) {
     elm = aAccOrElmOrID.DOMNode;
@@ -54,28 +52,27 @@ function getAccessible(aAccOrElmOrID, aI
     for (var index = 0; index < aInterfaces.length; index++) {
       try {
         acc.QueryInterface(aInterfaces[index]);
       } catch (e) {
       }
     }
     return acc;
   }
-  
+
   try {
     acc.QueryInterface(aInterfaces);
   } catch (e) {
   }
-  
+
   return acc;
 }
 
 // Walk accessible tree of the given identifier to ensure tree creation
-function ensureAccessibleTree(aAccOrElmOrID)
-{
+function ensureAccessibleTree(aAccOrElmOrID) {
   acc = getAccessible(aAccOrElmOrID);
 
   var child = acc.firstChild;
   while (child) {
     ensureAccessibleTree(child);
     try {
       child = child.nextSibling;
     } catch (e) {
--- a/testing/talos/talos/tests/a11y/dhtml.html
+++ b/testing/talos/talos/tests/a11y/dhtml.html
@@ -3,27 +3,26 @@
 <meta charset="utf-8">
 <head>
 <title>accessibility perf for dhtml</title>
 <script src="a11y.js"></script>
 <script>
   // based on: http://hacks.mozilla.org/2010/05/better-performance-with-lazy-frame-construction/
   var ppDate = null;
 
-  function doInsertion()
-  {
+  function doInsertion() {
     if (!initAccessibility()) {
       dump("__FAILinit:AccessibilityUnvailable__FAIL");
       return;
     }
 
     var container = document.getElementById("container");
     var lastchild = document.getElementById("lastchild");
     var start = new Date();
-    var i,div;
+    var i, div;
     for (i = 0; i < 2000; i++) {
       div = document.createElement("div");
       div.innerHTML = "<input type='text' value='a bc def g hijkl mn op qrs'/>";
       container.insertBefore(div, lastchild);
     }
     for (i = 0; i < 2000; i++) {
       div = document.createElement("div");
       div.innerHTML = "<ul><li>foo<ul><li>bar</li></ul></li><li>baz</li></ul>";
@@ -34,19 +33,18 @@
       div.innerHTML = "<div role='progressbar'>progressbar</div>" +
                       "<span id='span" + i + "'>cb</span>";
       container.appendChild(div);
     }
     document.documentElement.offsetLeft; // flush layout
     setTimeout(postProcessingRecord, 0, start);
   }
 
-  function postProcessingRecord(s)
-  {
-    //alert(new Date() - s);
+  function postProcessingRecord(s) {
+    // alert(new Date() - s);
     tpRecordTime(new Date() - s, s);
   }
 </script>
 </head>
 <body onload="doInsertion();">
   <div id="container" role="application"><div id="lastchild"></div></div>
 </body>
 </html>
--- a/testing/talos/talos/tests/a11y/tablemutation.html
+++ b/testing/talos/talos/tests/a11y/tablemutation.html
@@ -71,44 +71,43 @@
 <tr><td>Row #0</td><td>348003</td><td>745393</td><td>658838</td><td>273744</td></tr><tr><td>Row #1</td><td>482498</td><td>724073</td><td>792474</td><td>549091</td></tr><tr><td>Row #2</td><td>639859</td><td>151692</td><td>251949</td><td>323840</td></tr><tr><td>Row #3</td><td>269274</td><td>211292</td><td>892989</td><td>473276</td></tr><tr><td>Row #4</td><td>148736</td><td>438719</td><td>789802</td><td>986023</td></tr><tr><td>Row #5</td><td>999863</td><td>782360</td><td>648663</td><td>959764</td></tr><tr><td>Row #6</td><td>302562</td><td>122962</td><td>623747</td><td>961374</td></tr><tr><td>Row #7</td><td>620408</td><td>740513</td><td>562968</td><td>868412</td></tr><tr><td>Row #8</td><td>485907</td><td>221807</td><td>142157</td><td>868405</td></tr><tr><td>Row #9</td><td>845880</td><td>834632</td><td>417497</td><td>485740</td></tr><tr><td>Row #10</td><td>886324</td><td>569447</td><td>709581</td><td>155598</td></tr><tr><td>Row #11</td><td>680740</td><td>602570</td><td>528874</td><td>729476</td></tr><tr><td>Row #12</td><td>941289</td><td>318677</td><td>715499</td><td>941153</td></tr><tr><td>Row #13</td><td>101037</td><td>364163</td><td>900918</td><td>303600</td></tr><tr><td>Row #14</td><td>387126</td><td>524665</td><td>264974</td><td>907534</td></tr><tr><td>Row #15</td><td>265179</td><td>727943</td><td>775947</td><td>651086</td></tr><tr><td>Row #16</td><td>849750</td><td>818104</td><td>519492</td><td>695631</td></tr><tr><td>Row #17</td><td>652736</td><td>836990</td><td>181371</td><td>539061</td></tr><tr><td>Row #18</td><td>406437</td><td>790952</td><td>594659</td><td>987177</td></tr><tr><td>Row #19</td><td>393523</td><td>123534</td><td>716653</td><td>334813</td></tr><tr><td>Row #20</td><td>342211</td><td>432153</td><td>275966</td><td>343248</td></tr><tr><td>Row #21</td><td>696316</td><td>176885</td><td>546849</td><td>983442</td></tr><tr><td>Row #22</td><td>601550</td><td>711824</td><td>890977</td><td>766730</td></tr><tr><td>Row #23</td><td>439767</td><td>666925</td><td>417816</td><td>289518</td></tr><tr><td>Row #24</td><td>485029</td><td>837309</td><td>885150</td><td>137766</td></tr>
 <tr><td>Row #0</td><td>348003</td><td>745393</td><td>658838</td><td>273744</td></tr><tr><td>Row #1</td><td>482498</td><td>724073</td><td>792474</td><td>549091</td></tr><tr><td>Row #2</td><td>639859</td><td>151692</td><td>251949</td><td>323840</td></tr><tr><td>Row #3</td><td>269274</td><td>211292</td><td>892989</td><td>473276</td></tr><tr><td>Row #4</td><td>148736</td><td>438719</td><td>789802</td><td>986023</td></tr><tr><td>Row #5</td><td>999863</td><td>782360</td><td>648663</td><td>959764</td></tr><tr><td>Row #6</td><td>302562</td><td>122962</td><td>623747</td><td>961374</td></tr><tr><td>Row #7</td><td>620408</td><td>740513</td><td>562968</td><td>868412</td></tr><tr><td>Row #8</td><td>485907</td><td>221807</td><td>142157</td><td>868405</td></tr><tr><td>Row #9</td><td>845880</td><td>834632</td><td>417497</td><td>485740</td></tr><tr><td>Row #10</td><td>886324</td><td>569447</td><td>709581</td><td>155598</td></tr><tr><td>Row #11</td><td>680740</td><td>602570</td><td>528874</td><td>729476</td></tr><tr><td>Row #12</td><td>941289</td><td>318677</td><td>715499</td><td>941153</td></tr><tr><td>Row #13</td><td>101037</td><td>364163</td><td>900918</td><td>303600</td></tr><tr><td>Row #14</td><td>387126</td><td>524665</td><td>264974</td><td>907534</td></tr><tr><td>Row #15</td><td>265179</td><td>727943</td><td>775947</td><td>651086</td></tr><tr><td>Row #16</td><td>849750</td><td>818104</td><td>519492</td><td>695631</td></tr><tr><td>Row #17</td><td>652736</td><td>836990</td><td>181371</td><td>539061</td></tr><tr><td>Row #18</td><td>406437</td><td>790952</td><td>594659</td><td>987177</td></tr><tr><td>Row #19</td><td>393523</td><td>123534</td><td>716653</td><td>334813</td></tr><tr><td>Row #20</td><td>342211</td><td>432153</td><td>275966</td><td>343248</td></tr><tr><td>Row #21</td><td>696316</td><td>176885</td><td>546849</td><td>983442</td></tr><tr><td>Row #22</td><td>601550</td><td>711824</td><td>890977</td><td>766730</td></tr><tr><td>Row #23</td><td>439767</td><td>666925</td><td>417816</td><td>289518</td></tr><tr><td>Row #24</td><td>485029</td><td>837309</td><td>885150</td><td>137766</td></tr>
 <tr><td>Row #0</td><td>348003</td><td>745393</td><td>658838</td><td>273744</td></tr><tr><td>Row #1</td><td>482498</td><td>724073</td><td>792474</td><td>549091</td></tr><tr><td>Row #2</td><td>639859</td><td>151692</td><td>251949</td><td>323840</td></tr><tr><td>Row #3</td><td>269274</td><td>211292</td><td>892989</td><td>473276</td></tr><tr><td>Row #4</td><td>148736</td><td>438719</td><td>789802</td><td>986023</td></tr><tr><td>Row #5</td><td>999863</td><td>782360</td><td>648663</td><td>959764</td></tr><tr><td>Row #6</td><td>302562</td><td>122962</td><td>623747</td><td>961374</td></tr><tr><td>Row #7</td><td>620408</td><td>740513</td><td>562968</td><td>868412</td></tr><tr><td>Row #8</td><td>485907</td><td>221807</td><td>142157</td><td>868405</td></tr><tr><td>Row #9</td><td>845880</td><td>834632</td><td>417497</td><td>485740</td></tr><tr><td>Row #10</td><td>886324</td><td>569447</td><td>709581</td><td>155598</td></tr><tr><td>Row #11</td><td>680740</td><td>602570</td><td>528874</td><td>729476</td></tr><tr><td>Row #12</td><td>941289</td><td>318677</td><td>715499</td><td>941153</td></tr><tr><td>Row #13</td><td>101037</td><td>364163</td><td>900918</td><td>303600</td></tr><tr><td>Row #14</td><td>387126</td><td>524665</td><td>264974</td><td>907534</td></tr><tr><td>Row #15</td><td>265179</td><td>727943</td><td>775947</td><td>651086</td></tr><tr><td>Row #16</td><td>849750</td><td>818104</td><td>519492</td><td>695631</td></tr><tr><td>Row #17</td><td>652736</td><td>836990</td><td>181371</td><td>539061</td></tr><tr><td>Row #18</td><td>406437</td><td>790952</td><td>594659</td><td>987177</td></tr><tr><td>Row #19</td><td>393523</td><td>123534</td><td>716653</td><td>334813</td></tr><tr><td>Row #20</td><td>342211</td><td>432153</td><td>275966</td><td>343248</td></tr><tr><td>Row #21</td><td>696316</td><td>176885</td><td>546849</td><td>983442</td></tr><tr><td>Row #22</td><td>601550</td><td>711824</td><td>890977</td><td>766730</td></tr><tr><td>Row #23</td><td>439767</td><td>666925</td><td>417816</td><td>289518</td></tr><tr><td>Row #24</td><td>485029</td><td>837309</td><td>885150</td><td>137766</td></tr>
 </table>
 </div>
 
 </body>
 <script>
-window.onload = function ()  {
-  setTimeout("mutateTable()",100);
+window.onload = function() {
+  setTimeout("mutateTable()", 100);
 };
 function mutateTable() {
-  var htmTable = document.getElementById('datatable');
+  var htmTable = document.getElementById("datatable");
   var TableRows = [ ];
 
   // Locate all TR elements of the table
   var htmRow = htmTable.childNodes[0];
-  while(htmRow) {
-    if(htmRow.nodeType == 1) {
-      if(htmRow.tagName == 'TR') {
+  while (htmRow) {
+    if (htmRow.nodeType == 1) {
+      if (htmRow.tagName == "TR") {
         TableRows.push(htmRow);
-      }
-      else {
+      } else {
         htmRow = htmRow.childNodes[0];
       }
     }
     htmRow = htmRow.nextSibling;
   }
 
   var Range = document.createRange();
   Range.setStartBefore(TableRows[0]);
-  Range.setEndAfter(TableRows[TableRows.length-1]);
+  Range.setEndAfter(TableRows[TableRows.length - 1]);
 
   // Put all rows into a Fragment
   var Fragment = document.createDocumentFragment();
-  for(var Index in TableRows) {
+  for (var Index in TableRows) {
     Fragment.appendChild(TableRows[Index]);
   }
 
   // Start with a cached accessible tree
   if (!initAccessibility()) {
     dump("__FAILinit:AccessibilityUnvailable__FAIL");
     return;
   }
@@ -118,17 +117,16 @@ function mutateTable() {
   var start = new Date();
 
   // Cause all kinds of crazy events
   Range.deleteContents();
   Range.insertNode(Fragment);
 
   document.documentElement.offsetLeft; // flush layout
 
-  setTimeout (postProcessingRecord, 0, start);
+  setTimeout(postProcessingRecord, 0, start);
 }
 
-function postProcessingRecord(s)
-{
-  //alert(new Date() - s);
+function postProcessingRecord(s) {
+  // alert(new Date() - s);
   tpRecordTime(new Date() - s, s);
 }
 </script>
--- a/testing/talos/talos/tests/devtools/addon/content/Profiler.js
+++ b/testing/talos/talos/tests/devtools/addon/content/Profiler.js
@@ -13,17 +13,17 @@
 //  - Please make sure your changes apply cleanly to all use cases.
 
 // Finer grained profiler control
 //
 // Use this object to pause and resume the profiler so that it only profiles the
 // relevant parts of our tests.
 var Profiler;
 
-(function(){
+(function() {
   var _profiler;
 
   // If this script is loaded in a framescript context, there won't be a
   // document object, so just use a fallback value in that case.
   var test_name = this.document ? this.document.location.pathname : "unknown";
 
   // Whether Profiler has been initialized. Until that happens, most calls
   // will be ignored.
@@ -35,17 +35,17 @@ var Profiler;
   // Profiling settings.
   var profiler_interval, profiler_entries, profiler_threadsArray, profiler_dir;
 
   try {
     // Outside of talos, this throws a security exception which no-op this file.
     // (It's not required nor allowed for addons since Firefox 17)
     // It's used inside talos from non-privileged pages (like during tscroll),
     // and it works because talos disables all/most security measures.
-    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
+    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
   } catch (e) {}
 
   try {
     _profiler = Components.classes["@mozilla.org/tools/profiler;1"].getService(Components.interfaces.nsIProfiler);
   } catch (ex) { (typeof(dumpLog) == "undefined" ? dump : dumpLog)(ex + "\n"); }
 
   // Parses an url query string into a JS object.
   function searchToObject(locationSearch) {
@@ -66,70 +66,70 @@ var Profiler;
     /**
      * Initialize the profiler using profiler settings supplied in a JS object.
      * The following properties on the object are respected:
      *  - gecko_profile_interval
      *  - gecko_profile_entries
      *  - gecko_profile_threads
      *  - gecko_profile_dir
      */
-    initFromObject: function Profiler__initFromObject (obj) {
+    initFromObject: function Profiler__initFromObject(obj) {
       if (obj &&
           ("gecko_profile_dir" in obj) && typeof obj.gecko_profile_dir == "string" &&
           ("gecko_profile_interval" in obj) && Number.isFinite(obj.gecko_profile_interval * 1) &&
           ("gecko_profile_entries" in obj) && Number.isFinite(obj.gecko_profile_entries * 1) &&
           ("gecko_profile_threads" in obj) && typeof obj.gecko_profile_threads == "string") {
         profiler_interval = obj.gecko_profile_interval;
         profiler_entries = obj.gecko_profile_entries;
         profiler_threadsArray = obj.gecko_profile_threads.split(",");
         profiler_dir = obj.gecko_profile_dir;
         enabled = true;
       }
     },
-    initFromURLQueryParams: function Profiler__initFromURLQueryParams (locationSearch) {
+    initFromURLQueryParams: function Profiler__initFromURLQueryParams(locationSearch) {
       this.initFromObject(searchToObject(locationSearch));
     },
-    beginTest: function Profiler__beginTest (testName) {
+    beginTest: function Profiler__beginTest(testName) {
       currentTest = testName;
       if (_profiler && enabled) {
         _profiler.StartProfiler(profiler_entries, profiler_interval,
                                 ["js", "leaf", "stackwalk", "threads"], 4,
                                 profiler_threadsArray, profiler_threadsArray.length);
         if (_profiler.PauseSampling) {
           _profiler.PauseSampling();
         }
       }
     },
-    finishTest: function Profiler__finishTest () {
+    finishTest: function Profiler__finishTest() {
       if (_profiler && enabled) {
         _profiler.dumpProfileToFile(profiler_dir + "/" + currentTest + ".profile");
         _profiler.StopProfiler();
       }
     },
-    finishStartupProfiling: function Profiler__finishStartupProfiling () {
+    finishStartupProfiling: function Profiler__finishStartupProfiling() {
       if (_profiler && enabled) {
         _profiler.dumpProfileToFile(profiler_dir + "/startup.profile");
         _profiler.StopProfiler();
       }
     },
-    resume: function Profiler__resume (name, explicit) {
+    resume: function Profiler__resume(name, explicit) {
       if (_profiler) {
         if (_profiler.ResumeSampling) {
           _profiler.ResumeSampling();
         }
         _profiler.AddMarker(explicit ? name : 'Start of test "' + (name || test_name) + '"');
       }
     },
-    pause: function Profiler__pause (name, explicit) {
+    pause: function Profiler__pause(name, explicit) {
       if (_profiler) {
         if (_profiler.PauseSampling) {
           _profiler.PauseSampling();
         }
         _profiler.AddMarker(explicit ? name : 'End of test "' + (name || test_name) + '"');
       }
     },
-    mark: function Profiler__mark (marker, explicit) {
+    mark: function Profiler__mark(marker, explicit) {
       if (_profiler) {
         _profiler.AddMarker(explicit ? marker : 'Profiler: "' + (marker || test_name) + '"');
       }
     }
   };
 })();
--- a/testing/talos/talos/tests/devtools/addon/content/addon-test-frontend.js
+++ b/testing/talos/talos/tests/devtools/addon/content/addon-test-frontend.js
@@ -7,54 +7,54 @@ function $(id) {
 
 // Executes command at the chrome process.
 // Limited to one argument (data), which is enough for TART.
 // doneCallback will be called once done and, if applicable, with the result as argument.
 // Execution might finish quickly (e.g. when setting prefs) or
 // take a while (e.g. when triggering the test run)
 function chromeExec(commandName, data, doneCallback) {
   // dispatch an event to the framescript which will take it from there.
-  doneCallback = doneCallback || function dummy(){};
+  doneCallback = doneCallback || function dummy() {};
   dispatchEvent(
     new CustomEvent("damp@mozilla.org:chrome-exec-event", {
       bubbles: true,
       detail: {
         command: {
           name: commandName,
-          data: data,
+          data,
         },
-        doneCallback: doneCallback
+        doneCallback
       }
     })
   );
 }
 
 function toClipboard(text) {
   chromeExec("toClipboard", text);
 }
 
 function runTest(config, doneCallback) {
   chromeExec("runTest", config, doneCallback);
 }
 
 function sum(values) {
-  return values.reduce(function(a, b){return a + b;});
+  return values.reduce(function(a, b) { return a + b; });
 }
 
 function average(values) {
   return values.length ? sum(values) / values.length : 999999999;
 }
 
 function stddev(values, avg) {
   if (undefined == avg) avg = average(values);
   if (values.length <= 1) return 0;
 
   return Math.sqrt(
-    values.map(function (v) { return Math.pow(v - avg, 2); })
-          .reduce(function (a, b) { return a + b; }) / (values.length - 1));
+    values.map(function(v) { return Math.pow(v - avg, 2); })
+          .reduce(function(a, b) { return a + b; }) / (values.length - 1));
 }
 
 var lastResults = '["[no results collected]"]';
 
 function doneTest(dispResult) {
   $("hide-during-run").style.display = "block";
   $("show-during-run").style.display = "none";
   if (dispResult) {
@@ -63,21 +63,21 @@ function doneTest(dispResult) {
 
     lastResults = JSON.stringify(dispResult); // for "Copy to clipboard" button
 
     var stats = {}; // Used for average, stddev when repeat!=1
     var isRepeat = false;
 
     for (var i in dispResult) {
       var di = dispResult[i];
-      var disp = [].concat(di.value).map(function(a){return " " + (isNaN(a) ? -1 : a.toFixed(1));}).join("&nbsp;&nbsp;");
+      var disp = [].concat(di.value).map(function(a) { return " " + (isNaN(a) ? -1 : a.toFixed(1)); }).join("&nbsp;&nbsp;");
       dispResult[i] = String(di.name) + ": " + disp;
-      if (di.name.indexOf(".half")>=0 || di.name.indexOf(".all")>=0)
-        dispResult[i] = "<b>"+dispResult[i]+"</b>";
-      if (di.name.indexOf(".raw")>=0)
+      if (di.name.indexOf(".half") >= 0 || di.name.indexOf(".all") >= 0)
+        dispResult[i] = "<b>" + dispResult[i] + "</b>";
+      if (di.name.indexOf(".raw") >= 0)
         dispResult[i] = "<br/>" + dispResult[i]; // Add space before raw results (which are the first result of an animation)
 
       // stats:
       if (di.name.indexOf(".raw") < 0) {
         if (!stats[di.name]) {
           stats[di.name] = [];
         } else {
           isRepeat = true;
@@ -91,17 +91,17 @@ function doneTest(dispResult) {
     if (isRepeat) {
       dispStats = "<hr/><b>Aggregated</b>:<br/>";
       for (var s in stats) {
         if (s.indexOf(".half") >= 0 )
           dispStats += "<br/>";
         dispStats += s + "&nbsp;&nbsp;&nbsp;&nbsp;Average (" + stats[s].length + "): " + average(stats[s]).toFixed(2) + " stddev: " + stddev(stats[s]).toFixed(2) + "<br/>";
       }
 
-      dispStats +="<hr/><b>Individual animations</b>:<br/>";
+      dispStats += "<hr/><b>Individual animations</b>:<br/>";
     }
     $("run-results").innerHTML = "<hr/><br/>Results <button onclick='toClipboard(lastResults)'>[ Copy to clipboard as JSON ]</button>:<br/>" + dispStats + dispResult.join("<br/>");
   }
 }
 
 function triggerStart() {
   updateConfig();
   $("hide-during-run").style.display = "none";
@@ -152,9 +152,9 @@ function updateOptionsFromUrl() {
 
 function init() {
   updateOptionsFromUrl();
   if (document.location.hash.indexOf("#auto") == 0) {
     triggerStart();
   }
 }
 
-addEventListener("load", init);
\ No newline at end of file
+addEventListener("load", init);
--- a/testing/talos/talos/tests/devtools/addon/content/damp.html
+++ b/testing/talos/talos/tests/devtools/addon/content/damp.html
@@ -62,20 +62,20 @@ function updateConfig() {
 
 Utilities:
   <a href="pages/simple.html">simple page</a>&nbsp;&nbsp;&nbsp;
   <a href="http://localhost/tests/tp5n/bild.de/www.bild.de/index.html">complicated page</a>&nbsp;&nbsp;&nbsp;
 <br/><br/>
 <b>Configure DAMP</b> (CTRL-F5 to reset to talos defaults) <button type="button" onclick="deselectAll()">Deselect all tests</button><br/>
 <script>
   for (var test in defaultConfig.subtests) {
-    document.write('<input type="checkbox" id="subtest-' + test + '" ' + (defaultConfig.subtests[test] ? "" : "un") + 'checked>'
-                  + test + '</input>'
-                  + '<span style="color:grey">&nbsp;&nbsp;&nbsp;' + testsInfo[test] + '</span>'
-                  + '<br/>');
+    document.write('<input type="checkbox" id="subtest-' + test + '" ' + (defaultConfig.subtests[test] ? "" : "un") + "checked>"
+                  + test + "</input>"
+                  + '<span style="color:grey">&nbsp;&nbsp;&nbsp;' + testsInfo[test] + "</span>"
+                  + "<br/>");
   }
 </script>
   <br/>
   Repeat: <input id="repeat" type="text" size=2 value="1" onchange="updateConfig()"/> times<br/>
   Delay before starting a measured animation: <input id="rest" type="text" size=4 value="10"/> ms<br/>
 
   <button type="button" id="start-test-button" onclick="triggerStart()">Start Devtools At Maximum Performance tests</button>&nbsp;&nbsp;&nbsp;
   <div id="run-results"></div>
--- a/testing/talos/talos/tests/devtools/addon/content/damp.js
+++ b/testing/talos/talos/tests/devtools/addon/content/damp.js
@@ -22,49 +22,49 @@ function Damp() {
   this._snapshot = null;
 
   // Use the old console for now: https://bugzilla.mozilla.org/show_bug.cgi?id=1306780
   Services.prefs.setBoolPref("devtools.webconsole.new-frontend-enabled", false);
 }
 
 Damp.prototype = {
 
-  addTab: function(url) {
+  addTab(url) {
     return new Promise((resolve, reject) => {
       let tab = this._win.gBrowser.selectedTab = this._win.gBrowser.addTab(url);
       let browser = tab.linkedBrowser;
       browser.addEventListener("load", function onload() {
         browser.removeEventListener("load", onload, true);
         resolve(tab);
       }, true);
     });
   },
 
-  closeCurrentTab: function() {
+  closeCurrentTab() {
     this._win.BrowserCloseTabOrWindow();
     return this._win.gBrowser.selectedTab;
   },
 
-  reloadPage: function() {
+  reloadPage() {
     let startReloadTimestamp = performance.now();
     return new Promise((resolve, reject) => {
       let browser = gBrowser.selectedBrowser;
       let self = this;
       browser.addEventListener("load", function onload() {
         browser.removeEventListener("load", onload, true);
         let stopReloadTimestamp = performance.now();
         resolve({
           time: stopReloadTimestamp - startReloadTimestamp
         });
       }, true);
       browser.reload();
     });
   },
 
-  openToolbox: function (tool = "webconsole") {
+  openToolbox(tool = "webconsole") {
     let tab = getActiveTab(getMostRecentBrowserWindow());
     let target = devtools.TargetFactory.forTab(tab);
     let startRecordTimestamp = performance.now();
     let showPromise = gDevTools.showToolbox(target, tool);
 
     return showPromise.then(toolbox => {
       let stopRecordTimestamp = performance.now();
       return {
@@ -81,17 +81,17 @@ Damp.prototype = {
     let startRecordTimestamp = performance.now();
     yield gDevTools.closeToolbox(target);
     let stopRecordTimestamp = performance.now();
     return {
       time: stopRecordTimestamp - startRecordTimestamp
     };
   }),
 
-  saveHeapSnapshot: function(label) {
+  saveHeapSnapshot(label) {
     let tab = getActiveTab(getMostRecentBrowserWindow());
     let target = devtools.TargetFactory.forTab(tab);
     let toolbox = gDevTools.getToolbox(target);
     let panel = toolbox.getCurrentPanel();
     let memoryFront = panel.panelWin.gFront;
 
     let start = performance.now();
     return memoryFront.saveHeapSnapshot().then(filePath => {
@@ -99,17 +99,17 @@ Damp.prototype = {
       let end = performance.now();
       this._results.push({
         name: label + ".saveHeapSnapshot",
         value: end - start
       });
     });
   },
 
-  readHeapSnapshot: function(label) {
+  readHeapSnapshot(label) {
     let start = performance.now();
     this._snapshot = ThreadSafeChromeUtils.readHeapSnapshot(this._heapSnapshotFilePath);
     let end = performance.now();
     this._results.push({
       name: label + ".readHeapSnapshot",
       value: end - start
     });
     return Promise.resolve();
@@ -219,17 +219,17 @@ Damp.prototype = {
       name: "console.streamlog",
       value: avgTime
     });
 
     yield this.closeToolbox(null);
     yield this.testTeardown();
   }),
 
-  takeCensus: function(label) {
+  takeCensus(label) {
     let start = performance.now();
 
     this._snapshot.takeCensus({
       breakdown: {
         by: "coarseType",
         objects: {
           by: "objectClass",
           then: { by: "count", bytes: true, count: true },
@@ -255,17 +255,17 @@ Damp.prototype = {
     this._results.push({
       name: label + ".takeCensus",
       value: end - start
     });
 
     return Promise.resolve();
   },
 
-  _getToolLoadingTests: function(url, label) {
+  _getToolLoadingTests(url, label) {
 
     let openToolboxAndLog = Task.async(function*(name, tool) {
       let {time, toolbox} = yield this.openToolbox(tool);
       this._results.push({name: name + ".open.DAMP", value: time });
       return toolbox;
     }.bind(this));
 
     let closeToolboxAndLog = Task.async(function*(name) {
@@ -375,71 +375,71 @@ Damp.prototype = {
 
   _win: undefined,
   _dampTab: undefined,
   _results: [],
   _config: {subtests: [], repeat: 1, rest: 100},
   _nextCommandIx: 0,
   _commands: [],
   _onSequenceComplete: 0,
-  _nextCommand: function() {
+  _nextCommand() {
     if (this._nextCommandIx >= this._commands.length) {
       this._onSequenceComplete();
       return;
     }
     this._commands[this._nextCommandIx++].call(this);
   },
   // Each command at the array a function which must call nextCommand once it's done
-  _doSequence: function(commands, onComplete) {
+  _doSequence(commands, onComplete) {
     this._commands = commands;
     this._onSequenceComplete = onComplete;
     this._results = [];
     this._nextCommandIx = 0;
 
     this._nextCommand();
   },
 
-  _log: function(str) {
+  _log(str) {
     if (window.MozillaFileLogger && window.MozillaFileLogger.log)
       window.MozillaFileLogger.log(str);
 
     window.dump(str);
   },
 
-  _logLine: function(str) {
+  _logLine(str) {
     return this._log(str + "\n");
   },
 
-  _reportAllResults: function() {
+  _reportAllResults() {
     var testNames = [];
     var testResults = [];
 
     var out = "";
     for (var i in this._results) {
       res = this._results[i];
-      var disp = [].concat(res.value).map(function(a){return (isNaN(a) ? -1 : a.toFixed(1));}).join(" ");
+      var disp = [].concat(res.value).map(function(a) { return (isNaN(a) ? -1 : a.toFixed(1)); }).join(" ");
       out += res.name + ": " + disp + "\n";
 
       if (!Array.isArray(res.value)) { // Waw intervals array is not reported to talos
         testNames.push(res.name);
         testResults.push(res.value);
       }
     }
     this._log("\n" + out);
 
     if (content && content.tpRecordTime) {
-      content.tpRecordTime(testResults.join(','), 0, testNames.join(','));
+      content.tpRecordTime(testResults.join(","), 0, testNames.join(","));
     } else {
-      //alert(out);
+      // alert(out);
     }
   },
 
   _onTestComplete: null,
 
-  _doneInternal: function() {
+  _doneInternal() {
     this._logLine("DAMP_RESULTS_JSON=" + JSON.stringify(this._results));
     this._reportAllResults();
     this._win.gBrowser.selectedTab = this._dampTab;
 
     if (this._onTestComplete) {
       this._onTestComplete(JSON.parse(JSON.stringify(this._results))); // Clone results
     }
   },
@@ -491,18 +491,18 @@ Damp.prototype = {
         resolve();
       }
 
       window.on(EVENTS.NETWORK_EVENT, onRequest);
       window.on(EVENTS.RECEIVED_EVENT_TIMINGS, onTimings);
     });
   },
 
-  startTest: function(doneCallback, config) {
-    this._onTestComplete = function (results) {
+  startTest(doneCallback, config) {
+    this._onTestComplete = function(results) {
       Profiler.mark("DAMP - end", true);
       doneCallback(results);
     };
     this._config = config;
 
     const Ci = Components.interfaces;
     var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Ci.nsIWindowMediator);
     this._win = wm.getMostRecentWindow("navigator:browser");
--- a/testing/talos/talos/tests/devtools/addon/content/framescript.js
+++ b/testing/talos/talos/tests/devtools/addon/content/framescript.js
@@ -1,12 +1,12 @@
 (function() {
   const PREFIX = "damp@mozilla.org:";
 
-  addEventListener(PREFIX + "chrome-exec-event", function (e) {
+  addEventListener(PREFIX + "chrome-exec-event", function(e) {
     if (content.document.documentURI.indexOf("chrome://damp/content/damp.html")) {
       // Can have url fragment. Backward compatible version of !str.startsWidth("prefix")
       throw new Error("Cannot be used outside of DAMP's launch page");
     }
 
     var uniqueMessageId = PREFIX + content.document.documentURI + Date.now() + Math.random();
 
     addMessageListener(PREFIX + "chrome-exec-reply", function done(reply) {
--- a/testing/talos/talos/tests/perf-reftest/bloom-basic-ref.html
+++ b/testing/talos/talos/tests/perf-reftest/bloom-basic-ref.html
@@ -1,15 +1,15 @@
 <!DOCTYPE html>
 <html>
   <head>
     <script src="util.js"></script>
     <script>
 window.onload = function() {
-  document.head.appendChild(build_rule("span > div", 10000, '{ color: blue; } '));
+  document.head.appendChild(build_rule("span > div", 10000, "{ color: blue; } "));
   let dom = build_dom(5000, "div");
 
   let start = performance.now();
   document.body.appendChild(dom);
   window.foo = window.getComputedStyle(document.body).color;
   let end = performance.now();
 
   // when running in talos report results; when running outside talos just alert
--- a/testing/talos/talos/tests/perf-reftest/bloom-basic.html
+++ b/testing/talos/talos/tests/perf-reftest/bloom-basic.html
@@ -1,15 +1,15 @@
 <!DOCTYPE html>
 <html>
   <head>
     <script src="util.js"></script>
     <script>
 window.onload = function() {
-  document.head.appendChild(build_rule("span div", 10000, '{ color: blue; } '));
+  document.head.appendChild(build_rule("span div", 10000, "{ color: blue; } "));
   let dom = build_dom(5000, "div");
 
   let start = performance.now();
   document.body.appendChild(dom);
   window.foo = window.getComputedStyle(document.body).color;
   let end = performance.now();
 
   // when running in talos report results; when running outside talos just alert
--- a/testing/talos/talos/tests/perf-reftest/util.js
+++ b/testing/talos/talos/tests/perf-reftest/util.js
@@ -1,13 +1,13 @@
 function build_dom(n, elemName) {
   var ours = document.createElement(elemName);
   if (n != 1) {
-    var leftSize = Math.floor(n/2);
-    var rightSize = Math.floor((n-1)/2);
+    var leftSize = Math.floor(n / 2);
+    var rightSize = Math.floor((n - 1) / 2);
     ours.appendChild(build_dom(leftSize, elemName));
     if (rightSize > 0)
       ours.appendChild(build_dom(rightSize, elemName));
   }
   return ours;
 }
 
 function build_rule(selector, selectorRepeat, declaration) {
--- a/testing/talos/talos/tests/quit.js
+++ b/testing/talos/talos/tests/quit.js
@@ -35,64 +35,54 @@
  *
  * ***** END LICENSE BLOCK ***** */
 
 /*
   From mozilla/toolkit/content
   These files did not have a license
 */
 
-function canQuitApplication()
-{
+function canQuitApplication() {
   var os = Components.classes["@mozilla.org/observer-service;1"]
     .getService(Components.interfaces.nsIObserverService);
-  if (!os) 
-  {
+  if (!os) {
     return true;
   }
 
-  try 
-  {
+  try {
     var cancelQuit = Components.classes["@mozilla.org/supports-PRBool;1"]
       .createInstance(Components.interfaces.nsISupportsPRBool);
-    os.notifyObservers(cancelQuit, "quit-application-requested", null);
-    
-    // Something aborted the quit process. 
-    if (cancelQuit.data)
-    {
+    os.notifyObservers(cancelQuit, "quit-application-requested");
+
+    // Something aborted the quit process.
+    if (cancelQuit.data) {
       return false;
     }
+  } catch (ex) {
   }
-  catch (ex) 
-  {
-  }
-  os.notifyObservers(null, "quit-application-granted", null);
+  os.notifyObservers(null, "quit-application-granted");
   return true;
 }
 
-function goQuitApplication(waitForSafeBrowsing)
-{
-  const privs = 'UniversalPreferencesRead UniversalPreferencesWrite ' +
-    'UniversalXPConnect';
+function goQuitApplication(waitForSafeBrowsing) {
+  const privs = "UniversalPreferencesRead UniversalPreferencesWrite " +
+    "UniversalXPConnect";
 
-  try
-  {
+  try {
     netscape.security.PrivilegeManager.enablePrivilege(privs);
-  }
-  catch(ex)
-  {
-    throw('goQuitApplication: privilege failure ' + ex);
+  } catch (ex) {
+    throw ("goQuitApplication: privilege failure " + ex);
   }
 
   var xulRuntime = Components.classes["@mozilla.org/xre/app-info;1"]
                  .getService(Components.interfaces.nsIXULRuntime);
   if (xulRuntime.processType == xulRuntime.PROCESS_TYPE_CONTENT) {
     // If we're running in a remote browser, emit an event for a
     // frame script to pick up to quit the whole browser.
-    var event = new CustomEvent("TalosQuitApplication", {bubbles:true, detail: {waitForSafeBrowsing}});
+    var event = new CustomEvent("TalosQuitApplication", {bubbles: true, detail: {waitForSafeBrowsing}});
     document.dispatchEvent(event);
     return;
   }
 
   if (waitForSafeBrowsing) {
     var SafeBrowsing = Components.utils.
       import("resource://gre/modules/SafeBrowsing.jsm", {}).SafeBrowsing;
 
@@ -101,64 +91,53 @@ function goQuitApplication(waitForSafeBr
     };
 
     SafeBrowsing.addMozEntriesFinishedPromise.then(whenDone, whenDone);
     // Speed things up in case nobody else called this:
     SafeBrowsing.init();
     return false;
   }
 
-  if (!canQuitApplication())
-  {
+  if (!canQuitApplication()) {
     return false;
   }
 
-  const kAppStartup = '@mozilla.org/toolkit/app-startup;1';
-  const kAppShell   = '@mozilla.org/appshell/appShellService;1';
-  var   appService;
+  const kAppStartup = "@mozilla.org/toolkit/app-startup;1";
+  const kAppShell   = "@mozilla.org/appshell/appShellService;1";
+  var appService;
 
-  if (kAppStartup in Components.classes)
-  {
+  if (kAppStartup in Components.classes) {
     appService = Components.classes[kAppStartup].
       getService(Components.interfaces.nsIAppStartup);
 
-  }
-  else if (kAppShell in Components.classes)
-  {
+  } else if (kAppShell in Components.classes) {
     appService = Components.classes[kAppShell].
       getService(Components.interfaces.nsIAppShellService);
-  }
-  else
-  {
-    throw 'goQuitApplication: no AppStartup/appShell';
+  } else {
+    throw "goQuitApplication: no AppStartup/appShell";
   }
 
   var windowManager = Components.
-    classes['@mozilla.org/appshell/window-mediator;1'].getService();
+    classes["@mozilla.org/appshell/window-mediator;1"].getService();
 
   var windowManagerInterface = windowManager.
     QueryInterface(Components.interfaces.nsIWindowMediator);
 
   var enumerator = windowManagerInterface.getEnumerator(null);
 
-  while (enumerator.hasMoreElements())
-  {
+  while (enumerator.hasMoreElements()) {
     var domWindow = enumerator.getNext();
-    if (("tryToClose" in domWindow) && !domWindow.tryToClose())
-    {
+    if (("tryToClose" in domWindow) && !domWindow.tryToClose()) {
       return false;
     }
     domWindow.close();
   }
 
-  try
-  {
+  try {
     appService.quit(appService.eForceQuit);
-  }
-  catch(ex)
-  {
-    throw('goQuitApplication: ' + ex);
+  } catch (ex) {
+    throw ("goQuitApplication: " + ex);
   }
 
   return true;
 }
 
 
--- a/testing/talos/talos/tests/tabpaint/bootstrap.js
+++ b/testing/talos/talos/tests/tabpaint/bootstrap.js
@@ -85,17 +85,17 @@ var TabPaint = {
     Services.prefs.setIntPref(PROCESS_COUNT_PREF, this.originalProcessCount);
   },
 
   receiveMessage(msg) {
     let browser = msg.target;
 
     let gBrowser = browser.ownerGlobal.gBrowser;
 
-    switch(msg.name) {
+    switch (msg.name) {
       case "TabPaint:Go": {
         // Our document has loaded, and we're off to the races!
         this.go(gBrowser).then((results) => {
           this.reportResults(results);
         });
 
         break;
       }
--- a/testing/talos/talos/tests/tabpaint/content/tabpaint.html
+++ b/testing/talos/talos/tests/tabpaint/content/tabpaint.html
@@ -10,17 +10,17 @@
                          .QueryInterface(Ci.nsIInterfaceRequestor)
                          .getInterface(Ci.nsIContentFrameMessageManager);
 
           mm.addMessageListener("TabPaint:FinalResults", function onResults(msg) {
             mm.removeMessageListener("TabPaint:FinalResults", onResults);
 
             let { fromParent, fromContent } = msg.data;
 
-            tpRecordTime([fromParent, fromContent].join(','), 0, "tabpaint-from-parent, tabpaint-from-content");
+            tpRecordTime([fromParent, fromContent].join(","), 0, "tabpaint-from-parent, tabpaint-from-content");
           });
 
           mm.addMessageListener("TabPaint:OpenFromContent", function openFromContent() {
             let target = document.getElementById("target");
             let now = Date.now();
             let href = "target.html?" + now;
             target.href = href;
             target.click();
--- a/testing/talos/talos/tests/tabpaint/content/target.html
+++ b/testing/talos/talos/tests/tabpaint/content/target.html
@@ -56,9 +56,9 @@
     let mm = window.QueryInterface(Ci.nsIInterfaceRequestor)
                    .getInterface(Ci.nsIWebNavigation)
                    .QueryInterface(Ci.nsIInterfaceRequestor)
                    .getInterface(Ci.nsIContentFrameMessageManager);
 
     mm.sendAsyncMessage("TabPaint:Painted", { delta });
   });
 </script>
-</html>
\ No newline at end of file
+</html>
--- a/testing/talos/talos/tests/tabswitch/bootstrap.js
+++ b/testing/talos/talos/tests/tabswitch/bootstrap.js
@@ -12,34 +12,34 @@ Cu.import("resource://gre/modules/Remote
 let aboutNewTabService = Cc["@mozilla.org/browser/aboutnewtab-service;1"]
                            .getService(Ci.nsIAboutNewTabService);
 
 var aboutBlankTab = null;
 let context = {};
 let TalosParentProfiler;
 
 var windowListener = {
-  onOpenWindow: function(aWindow) {
+  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.nsIDOMWindowInternal || Ci.nsIDOMWindow);
     let cb = function() {
-      window.removeEventListener("load", cb, false);
+      window.removeEventListener("load", cb);
       loadIntoWindow(window);
     };
-    window.addEventListener("load", cb, false);
+    window.addEventListener("load", cb);
   },
 
-  onCloseWindow: function(aWindow) {
+  onCloseWindow(aWindow) {
     aboutNewTabService.resetNewTabURL();
   },
 
-  onWindowTitleChange: function(aWindow, aTitle) {
+  onWindowTitleChange(aWindow, aTitle) {
   }
 };
 
 function promiseOneEvent(target, eventName, capture) {
   let deferred = Promise.defer();
   target.addEventListener(eventName, function handler(event) {
     target.removeEventListener(eventName, handler, capture);
     deferred.resolve();
@@ -62,17 +62,17 @@ function executeSoon(callback) {
 function waitForDelayedStartup(win) {
   return new Promise((resolve) => {
     const topic = "browser-delayed-startup-finished";
     Services.obs.addObserver(function onStartup(subject) {
       if (win == subject) {
         Services.obs.removeObserver(onStartup, topic);
         resolve();
       }
-    }, topic, false);
+    }, topic);
   });
 }
 
 /**
  * For some <xul:tabbrowser>, loads a collection of URLs as new tabs
  * in that browser.
  *
  * @param gBrowser (<xul:tabbrowser>)
@@ -89,17 +89,17 @@ function loadTabs(gBrowser, urls) {
       triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal(),
     });
 
     let waitingToLoad = new Set(urls);
 
     let listener = {
       QueryInterface: XPCOMUtils.generateQI(["nsIWebProgressListener",
                                              "nsISupportsWeakReference"]),
-      onStateChange: function(aBrowser, aWebProgress, aRequest, aStateFlags, aStatus) {
+      onStateChange(aBrowser, aWebProgress, aRequest, aStateFlags, aStatus) {
         let loadedState = Ci.nsIWebProgressListener.STATE_STOP |
           Ci.nsIWebProgressListener.STATE_IS_NETWORK;
         if ((aStateFlags & loadedState) == loadedState &&
             !aWebProgress.isLoadingDocument &&
             aWebProgress.isTopLevel &&
             Components.isSuccessCode(aStatus)) {
 
           dump(`Loaded: ${aBrowser.currentURI.spec}\n`);
@@ -419,31 +419,31 @@ function test(window) {
     for (let tab of tabs) {
       yield forceGC(win, tab.linkedBrowser);
       let time = yield switchToTab(tab);
       dump(`${tab.linkedBrowser.currentURI.spec}: ${time}ms\n`);
       times.push(time);
       yield switchToTab(initialTab);
     }
 
-    let output = '<!DOCTYPE html>'+
-                 '<html lang="en">'+
-                 '<head><title>Tab Switch Results</title></head>'+
-                 '<body><h1>Tab switch times</h1>' +
-                 '<table>';
+    let output = "<!DOCTYPE html>" +
+                 '<html lang="en">' +
+                 "<head><title>Tab Switch Results</title></head>" +
+                 "<body><h1>Tab switch times</h1>" +
+                 "<table>";
     let time = 0;
-    for(let i in times) {
+    for (let i in times) {
       time += times[i];
-      output += '<tr><td>' + testURLs[i] + '</td><td>' + times[i] + 'ms</td></tr>';
+      output += "<tr><td>" + testURLs[i] + "</td><td>" + times[i] + "ms</td></tr>";
     }
-    output += '</table></body></html>';
+    output += "</table></body></html>";
     dump("total tab switch time:" + time + "\n");
 
     let resultsTab = win.gBrowser.loadOneTab(
-      'data:text/html;charset=utf-8,' + encodeURIComponent(output), {
+      "data:text/html;charset=utf-8," + encodeURIComponent(output), {
       triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal(),
     });
     let pref = Services.prefs.getBoolPref("browser.tabs.warnOnCloseOtherTabs");
     if (pref)
       Services.prefs.setBoolPref("browser.tabs.warnOnCloseOtherTabs", false);
     win.gBrowser.removeAllTabsBut(resultsTab);
     if (pref)
       Services.prefs.setBoolPref("browser.tabs.warnOnCloseOtherTabs", pref);
@@ -505,17 +505,17 @@ function shutdown(aData, aReason) {
 
 function handleFile(win, file) {
 
   let localFile = Cc["@mozilla.org/file/local;1"]
     .createInstance(Ci.nsILocalFile);
   localFile.initWithPath(file);
   let localURI = Services.io.newFileURI(localFile);
   let req = new win.XMLHttpRequest();
-  req.open('get', localURI.spec, false);
+  req.open("get", localURI.spec, false);
   req.send(null);
 
 
   let testURLs = [];
   let server = Services.prefs.getCharPref("addon.test.tabswitch.webserver");
   let maxurls = Services.prefs.getIntPref("addon.test.tabswitch.maxurls");
   let parent = server + "/tests/";
   let lines = req.responseText.split('<a href=\"');
@@ -528,17 +528,17 @@ function handleFile(win, file) {
       testURLs.push(parent + "tp5n/" + a.split('\"')[0]);
     }
   });
 
   return testURLs;
 }
 
 var observer = {
-  observe: function(aSubject, aTopic, aData) {
+  observe(aSubject, aTopic, aData) {
     if (aTopic == "tabswitch-urlfile") {
       handleFile(aSubject, aData);
     }
   }
 };
 
 var remotePage;
 
@@ -549,17 +549,17 @@ function startup(aData, aReason) {
   while (list.hasMoreElements()) {
     window = list.getNext().QueryInterface(Ci.nsIDOMWindow);
     loadIntoWindow(window);
   }
 
   // Load into any new windows
   Services.wm.addListener(windowListener);
 
-  Services.obs.addObserver(observer, "tabswitch-urlfile", false);
+  Services.obs.addObserver(observer, "tabswitch-urlfile");
 
   Services.ppmm.loadProcessScript("chrome://tabswitch/content/tabswitch-content-process.js", true);
 
   remotePage = new RemotePages("about:tabswitch");
   remotePage.addMessageListener("tabswitch-do-test", function doTest(msg) {
     test(msg.target.browser.ownerGlobal);
   });
 }
--- a/testing/talos/talos/tests/tabswitch/content/test.html
+++ b/testing/talos/talos/tests/tabswitch/content/test.html
@@ -1,17 +1,17 @@
 <html>
   <head>
     <script>
       function do_test(override) {
         if (override || document.location.hash.indexOf("#auto") == 0) {
           sendAsyncMessage("tabswitch-do-test");
           addMessageListener("tabswitch-test-results", function onMessage(msg) {
             let data = msg.data;
-            content.tpRecordTime(data.times.join(','), 0, data.urls.join(','));
+            content.tpRecordTime(data.times.join(","), 0, data.urls.join(","));
           });
         }
       }
     </script>
   </head>
   <body onload="do_test(false)">
     Hello Talos!
   </body>
--- a/testing/talos/talos/tests/tart/addon/content/Profiler.js
+++ b/testing/talos/talos/tests/tart/addon/content/Profiler.js
@@ -13,17 +13,17 @@
 //  - Please make sure your changes apply cleanly to all use cases.
 
 // Finer grained profiler control
 //
 // Use this object to pause and resume the profiler so that it only profiles the
 // relevant parts of our tests.
 var Profiler;
 
-(function(){
+(function() {
   var _profiler;
 
   // If this script is loaded in a framescript context, there won't be a
   // document object, so just use a fallback value in that case.
   var test_name = this.document ? this.document.location.pathname : "unknown";
 
   // Whether Profiler has been initialized. Until that happens, most calls
   // will be ignored.
@@ -35,17 +35,17 @@ var Profiler;
   // Profiling settings.
   var profiler_interval, profiler_entries, profiler_threadsArray, profiler_dir;
 
   try {
     // Outside of talos, this throws a security exception which no-op this file.
     // (It's not required nor allowed for addons since Firefox 17)
     // It's used inside talos from non-privileged pages (like during tscroll),
     // and it works because talos disables all/most security measures.
-    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
+    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
   } catch (e) {}
 
   try {
     _profiler = Components.classes["@mozilla.org/tools/profiler;1"].getService(Components.interfaces.nsIProfiler);
   } catch (ex) { (typeof(dumpLog) == "undefined" ? dump : dumpLog)(ex + "\n"); }
 
   // Parses an url query string into a JS object.
   function searchToObject(locationSearch) {
@@ -66,70 +66,70 @@ var Profiler;
     /**
      * Initialize the profiler using profiler settings supplied in a JS object.
      * The following properties on the object are respected:
      *  - gecko_profile_interval
      *  - gecko_profile_entries
      *  - gecko_profile_threads
      *  - gecko_profile_dir
      */
-    initFromObject: function Profiler__initFromObject (obj) {
+    initFromObject: function Profiler__initFromObject(obj) {
       if (obj &&
           ("gecko_profile_dir" in obj) && typeof obj.gecko_profile_dir == "string" &&
           ("gecko_profile_interval" in obj) && Number.isFinite(obj.gecko_profile_interval * 1) &&
           ("gecko_profile_entries" in obj) && Number.isFinite(obj.gecko_profile_entries * 1) &&
           ("gecko_profile_threads" in obj) && typeof obj.gecko_profile_threads == "string") {
         profiler_interval = obj.gecko_profile_interval;
         profiler_entries = obj.gecko_profile_entries;
         profiler_threadsArray = obj.gecko_profile_threads.split(",");
         profiler_dir = obj.gecko_profile_dir;
         enabled = true;
       }
     },
-    initFromURLQueryParams: function Profiler__initFromURLQueryParams (locationSearch) {
+    initFromURLQueryParams: function Profiler__initFromURLQueryParams(locationSearch) {
       this.initFromObject(searchToObject(locationSearch));
     },
-    beginTest: function Profiler__beginTest (testName) {
+    beginTest: function Profiler__beginTest(testName) {
       currentTest = testName;
       if (_profiler && enabled) {
         _profiler.StartProfiler(profiler_entries, profiler_interval,
                                 ["js", "leaf", "stackwalk", "threads"], 4,
                                 profiler_threadsArray, profiler_threadsArray.length);
         if (_profiler.PauseSampling) {
           _profiler.PauseSampling();
         }
       }
     },
-    finishTest: function Profiler__finishTest () {
+    finishTest: function Profiler__finishTest() {
       if (_profiler && enabled) {
         _profiler.dumpProfileToFile(profiler_dir + "/" + currentTest + ".profile");
         _profiler.StopProfiler();
       }
     },
-    finishStartupProfiling: function Profiler__finishStartupProfiling () {
+    finishStartupProfiling: function Profiler__finishStartupProfiling() {
       if (_profiler && enabled) {
         _profiler.dumpProfileToFile(profiler_dir + "/startup.profile");
         _profiler.StopProfiler();
       }
     },
-    resume: function Profiler__resume (name, explicit) {
+    resume: function Profiler__resume(name, explicit) {
       if (_profiler) {
         if (_profiler.ResumeSampling) {
           _profiler.ResumeSampling();
         }
         _profiler.AddMarker(explicit ? name : 'Start of test "' + (name || test_name) + '"');
       }
     },
-    pause: function Profiler__pause (name, explicit) {
+    pause: function Profiler__pause(name, explicit) {
       if (_profiler) {
         if (_profiler.PauseSampling) {
           _profiler.PauseSampling();
         }
         _profiler.AddMarker(explicit ? name : 'End of test "' + (name || test_name) + '"');
       }
     },
-    mark: function Profiler__mark (marker, explicit) {
+    mark: function Profiler__mark(marker, explicit) {
       if (_profiler) {
         _profiler.AddMarker(explicit ? marker : 'Profiler: "' + (marker || test_name) + '"');
       }
     }
   };
 })();
--- a/testing/talos/talos/tests/tart/addon/content/framescript.js
+++ b/testing/talos/talos/tests/tart/addon/content/framescript.js
@@ -1,12 +1,12 @@
 (function() {
   const TART_PREFIX = "tart@mozilla.org:";
 
-  addEventListener(TART_PREFIX + "chrome-exec-event", function (e) {
+  addEventListener(TART_PREFIX + "chrome-exec-event", function(e) {
     if (content.document.documentURI.indexOf("chrome://tart/content/tart.html")) {
       // Can have url fragment. Backward compatible version of !str.startsWidth("prefix")
       throw new Error("Cannot be used outside of TART's launch page");
     }
 
     var uniqueMessageId = TART_PREFIX + content.document.documentURI + Date.now() + Math.random();
 
     addMessageListener(TART_PREFIX + "chrome-exec-reply", function done(reply) {
@@ -16,9 +16,9 @@
       }
     });
 
     sendAsyncMessage(TART_PREFIX + "chrome-exec-message", {
       command: e.detail.command,
       id: uniqueMessageId
     });
   }, false);
-})()
\ No newline at end of file
+})()
--- a/testing/talos/talos/tests/tart/addon/content/tart.html
+++ b/testing/talos/talos/tests/tart/addon/content/tart.html
@@ -13,26 +13,26 @@ function $(id) {
 
 // Executes command at the chrome process.
 // Limited to one argument (data), which is enough for TART.
 // doneCallback will be called once done and, if applicable, with the result as argument.
 // Execution might finish quickly (e.g. when setting prefs) or
 // take a while (e.g. when triggering the test run)
 function chromeExec(commandName, data, doneCallback) {
   // dispatch an event to the framescript which will take it from there.
-  doneCallback = doneCallback || function dummy(){};
+  doneCallback = doneCallback || function dummy() {};
   dispatchEvent(
     new CustomEvent("tart@mozilla.org:chrome-exec-event", {
       bubbles: true,
       detail: {
         command: {
           name: commandName,
-          data: data,
+          data,
         },
-        doneCallback: doneCallback
+        doneCallback
       }
     })
   );
 }
 
 function setASAP() {
   chromeExec("setASAP");
 }
@@ -46,30 +46,30 @@ function toClipboard(text) {
 }
 
 function runTest(config, doneCallback) {
   chromeExec("runTest", config, doneCallback);
 }
 
 
 function sum(values) {
-  return values.reduce(function(a, b){return a + b;});
+  return values.reduce(function(a, b) { return a + b; });
 }
 
 function average(values) {
   return values.length ? sum(values) / values.length : 999999999;
 }
 
 function stddev(values, avg) {
   if (undefined == avg) avg = average(values);
   if (values.length <= 1) return 0;
 
   return Math.sqrt(
-    values.map(function (v) { return Math.pow(v - avg, 2); })
-          .reduce(function (a, b) { return a + b; }) / (values.length - 1));
+    values.map(function(v) { return Math.pow(v - avg, 2); })
+          .reduce(function(a, b) { return a + b; }) / (values.length - 1));
 }
 
 var lastResults = '["[no results collected]"]';
 
 function doneTest(dispResult) {
   $("hide-during-run").style.display = "block";
   $("show-during-run").style.display = "none";
   if (dispResult) {
@@ -78,21 +78,21 @@ function doneTest(dispResult) {
 
     lastResults = JSON.stringify(dispResult); // for "Copy to clipboard" button
 
     var stats = {}; // Used for average, stddev when repeat!=1
     var isRepeat = false;
 
     for (var i in dispResult) {
       var di = dispResult[i];
-      var disp = [].concat(di.value).map(function(a){return " " + (isNaN(a) ? -1 : a.toFixed(1));}).join("&nbsp;&nbsp;");
+      var disp = [].concat(di.value).map(function(a) { return " " + (isNaN(a) ? -1 : a.toFixed(1)); }).join("&nbsp;&nbsp;");
       dispResult[i] = String(di.name) + ": " + disp;
-      if (di.name.indexOf(".half")>=0 || di.name.indexOf(".all")>=0)
-        dispResult[i] = "<b>"+dispResult[i]+"</b>";
-      if (di.name.indexOf(".raw")>=0)
+      if (di.name.indexOf(".half") >= 0 || di.name.indexOf(".all") >= 0)
+        dispResult[i] = "<b>" + dispResult[i] + "</b>";
+      if (di.name.indexOf(".raw") >= 0)
         dispResult[i] = "<br/>" + dispResult[i]; // Add space before raw results (which are the first result of an animation)
 
       // stats:
       if (di.name.indexOf(".raw") < 0) {
         if (!stats[di.name]) {
           stats[di.name] = [];
         } else {
           isRepeat = true;
@@ -106,17 +106,17 @@ function doneTest(dispResult) {
     if (isRepeat) {
       dispStats = "<hr/><b>Aggregated</b>:<br/>";
       for (var s in stats) {
         if (s.indexOf(".half") >= 0 )
           dispStats += "<br/>";
         dispStats += s + "&nbsp;&nbsp;&nbsp;&nbsp;Average (" + stats[s].length + "): " + average(stats[s]).toFixed(2) + " stddev: " + stddev(stats[s]).toFixed(2) + "<br/>";
       }
 
-      dispStats +="<hr/><b>Individual animations</b>:<br/>";
+      dispStats += "<hr/><b>Individual animations</b>:<br/>";
     }
     $("run-results").innerHTML = "<hr/><br/>Results <button onclick='toClipboard(lastResults)'>[ Copy to clipboard as JSON ]</button>:<br/>" + dispStats + dispResult.join("<br/>");
   }
 }
 
 var config = {subtests: [], repeat: 1}; // Empty subtests interpreted as all subtests, since otherwise meaningless.
 
 function triggerStart() {
@@ -258,20 +258,20 @@ addEventListener("load", init);
 
 Utilities:
   <a href="blank.icon.html">blank with icon</a>&nbsp;&nbsp;&nbsp;
   <a href="about:config?filter=/newtab|_rate|devP|offmain|docshell.event_starvation_delay_hint|rce-en/">about:config (already filtered with relevant prefs)</a>
 <br/><br/>
 <b>Configure TART</b> (CTRL-F5 to reset to talos defaults) <button type="button" onclick="deselectAll()">Deselect all tests</button><br/>
 <script>
   for (var test in defaultConfig.subtests) {
-    document.write('<input type="checkbox" id="subtest-' + test + '" ' + (defaultConfig.subtests[test] ? "" : "un") + 'checked>'
-                  + test + '</input>'
-                  + '<span style="color:grey">&nbsp;&nbsp;&nbsp;' + testsInfo[test] + '</span>'
-                  + '<br/>');
+    document.write('<input type="checkbox" id="subtest-' + test + '" ' + (defaultConfig.subtests[test] ? "" : "un") + "checked>"
+                  + test + "</input>"
+                  + '<span style="color:grey">&nbsp;&nbsp;&nbsp;' + testsInfo[test] + "</span>"
+                  + "<br/>");
   }
   $("subtest-simple3open3closeDpiCurrent").checked = false; // Disabled by default for talos
 </script>
   <br/>
   Repeat: <input id="repeat" type="text" size=2 value="1" onchange="updateConfig()"/> times<br/>
   Delay before starting a measured animation: <input id="rest" type="text" size=4 value="500"/> ms<br/>
   <input id="controlProfiler" type="checkbox" checked>Pause the profiler during animations which are <b>not</b> measured.</input><br/>
   <input id="tickle" type="checkbox" checked>Accurate first recorded frame (tickle the Back button before measurements)</iinput><br/>
--- a/testing/talos/talos/tests/tart/addon/content/tart.js
+++ b/testing/talos/talos/tests/tart/addon/content/tart.js
@@ -34,176 +34,176 @@ function Tart() {
 }
 
 Tart.prototype = {
   // Detector methods expect 'this' to be the detector object.
   // Detectors must support measureNow(e) which indicates to collect the intervals and stop the recording.
   // Detectors may support keepListening(e) to indicate to keep waiting before continuing to the next animation.
 
   tabDetector: {
-    arm: function(handler, win) {
+    arm(handler, win) {
       win.gBrowser.tabContainer.addEventListener("transitionend", handler);
     },
 
-    measureNow: function(e) {
+    measureNow(e) {
       return (e.type == "transitionend" && e.propertyName == "max-width");
     },
 
-    cleanup: function (handler, win) {
+    cleanup(handler, win) {
       win.gBrowser.tabContainer.removeEventListener("transitionend", handler);
     }
   },
 
   customizeEnterDetector: {
-    arm: function(handler, win) {
+    arm(handler, win) {
       win.gNavToolbox.addEventListener("customizationready", handler);
     },
 
-    measureNow: function(e) {
+    measureNow(e) {
       return (e.type == "customizationready");
     },
 
-    cleanup: function (handler, win) {
+    cleanup(handler, win) {
       win.gNavToolbox.removeEventListener("customizationready", handler);
     }
   },
 
-  makeNewTabURLChangePromise: function(url) {
+  makeNewTabURLChangePromise(url) {
     let promise = new Promise(resolve => {
       Services.obs.addObserver(function observer(subject, topic, data) {
         Services.obs.removeObserver(observer, topic);
         if (data == url) {
           resolve();
         }
-      }, "newtab-url-changed", false);
+      }, "newtab-url-changed");
     });
     if (url === "about:newtab") {
       aboutNewTabService.resetNewTabURL();
     } else {
       aboutNewTabService.newTabURL = url;
     }
     return promise;
   },
 
   // Same as customizeEnterDetector, but stops recording when the CSS animation ends
   // The detector then waits until customizationready
   customizeEnterCssDetector: {
-    arm: function(handler, win) {
+    arm(handler, win) {
       win.gNavToolbox.addEventListener("customizationready", handler);
       win.gNavToolbox.addEventListener("customization-transitionend", handler);
     },
 
-    measureNow: function(e) {
+    measureNow(e) {
       return (e.type == "customization-transitionend");
     },
 
-    keepListening: function (e) {
+    keepListening(e) {
       return (e.type != "customizationready");
     },
 
-    cleanup: function (handler, win) {
+    cleanup(handler, win) {
       win.gNavToolbox.removeEventListener("customization-transitionend", handler);
       win.gNavToolbox.removeEventListener("customizationready", handler);
     }
   },
 
   customizeExitDetector: {
-    arm: function(handler, win) {
+    arm(handler, win) {
       win.gNavToolbox.addEventListener("aftercustomization", handler);
     },
 
-    measureNow: function(e) {
+    measureNow(e) {
       return (e.type == "aftercustomization");
     },
 
-    cleanup: function (handler, win) {
+    cleanup(handler, win) {
       win.gNavToolbox.removeEventListener("aftercustomization", handler);
     }
   },
 
-  clickNewTab: function() {
+  clickNewTab() {
     this._endDetection = this.tabDetector;
     this._win.BrowserOpenTab();
     // Modifying the style for each tab right after opening seems like it could regress performance,
     // However, overlaying a global style over browser.xul actually ends up having greater ovrehead,
     // especially while closing the last of many tabs (a noticeable ~250ms delay before expanding the rest).
     // To overlay the style globally, add at tart/chrome.manifest:
     // style chrome://browser/content/browser.xul chrome://tart/content/tab-min-width-1px.css
     // where the file tab-min-width-1px.css is:
     // .tabbrowser-tab[fadein]:not([pinned]) { min-width: 1px !important; }
     // Additionally, the global style overlay apparently messes with intervals recording when layout.frame_rate=10000:
     // Using the startFrameTimeRecording API, the first interval appears extra long (~1000ms) even with much widget tickling,
     // Per-tab min-width on open it is then.
 
     // --> many-tabs case which requires modified max-width will not go into v1. No need for now.
-    //this._win.gBrowser.selectedTab.style.minWidth = "1px"; // Prevent overflow regrdless of DPI scale.
+    // this._win.gBrowser.selectedTab.style.minWidth = "1px"; // Prevent overflow regrdless of DPI scale.
 
     return this._win.gBrowser.selectedTab;
   },
 
 
-  clickCloseCurrentTab: function() {
+  clickCloseCurrentTab() {
     this._endDetection = this.tabDetector;
     this._win.BrowserCloseTabOrWindow();
     return this._win.gBrowser.selectedTab;
   },
 
-  fadeOutCurrentTab: function() {
+  fadeOutCurrentTab() {
     this._endDetection = this.tabDetector;
     this._win.gBrowser.selectedTab.removeAttribute("fadein");
   },
 
-  fadeInCurrentTab: function() {
+  fadeInCurrentTab() {
     this._endDetection = this.tabDetector;
     this._win.gBrowser.selectedTab.setAttribute("fadein", "true");
   },
 
 
-  addSomeChromeUriTab: function() {
+  addSomeChromeUriTab() {
     this._endDetection = this.tabDetector;
     this._win.gBrowser.selectedTab = this._win.gBrowser.addTab("chrome://tart/content/blank.icon.html");
   },
 
-  triggerCustomizeEnter: function() {
+  triggerCustomizeEnter() {
     this._endDetection = this.customizeEnterDetector;
     this._win.gCustomizeMode.enter();
   },
 
-  triggerCustomizeEnterCss: function() {
+  triggerCustomizeEnterCss() {
     this._endDetection = this.customizeEnterCssDetector;
     this._win.gCustomizeMode.enter();
   },
 
-  triggerCustomizeExit: function() {
+  triggerCustomizeExit() {
     this._endDetection = this.customizeExitDetector;
     this._win.gCustomizeMode.exit();
   },
 
 
-  pinTart: function() {
+  pinTart() {
     return this._win.gBrowser.pinTab(this._tartTab);
   },
 
-  unpinTart: function() {
+  unpinTart() {
     return this._win.gBrowser.unpinTab(this._tartTab);
   },
 
   USE_RECORDING_API: true, // true for Start[/Stop]FrameTimeRecording, otherwise record using rAF - which will also work with OMTC
                            // but (currently) also records iterations without paint invalidations
 
   _win: undefined,
   _tartTab: undefined,
   _results: [],
   _config: {subtests: [], repeat: 1, rest: 500, tickle: true, controlProfiler: true},
 
-  _animate: function(preWaitMs, triggerFunc, onDoneCallback, isReportResult, name, referenceDuration) {
+  _animate(preWaitMs, triggerFunc, onDoneCallback, isReportResult, name, referenceDuration) {
     var self = this;
     var recordingHandle;
     var timeoutId = 0;
-    var detector; //will be assigned after calling trigger.
+    var detector; // will be assigned after calling trigger.
     var rAF = window.requestAnimationFrame || window.mozRequestAnimationFrame;
     const Ci = Components.interfaces;
     const Cc = Components.classes;
 
     var _recording = [];
     var _abortRecording = false;
     var startRecordTimestamp;
     function startRecord() {
@@ -220,17 +220,17 @@ Tart.prototype = {
                      .startFrameTimeRecording();
       }
 
       _recording = [];
       _abortRecording = false;
 
       var last = performance.now();
       function rec() {
-        //self._win.getComputedStyle(self._win.gBrowser.selectedTab).width; // force draw - not good - too much regression
+        // self._win.getComputedStyle(self._win.gBrowser.selectedTab).width; // force draw - not good - too much regression
         if (_abortRecording) return;
 
         var now = performance.now();
         _recording.push(now - last);
         last = now;
         rAF(rec);
       }
 
@@ -306,17 +306,17 @@ Tart.prototype = {
           // Get the recorded frame intervals and append result if required
           let intervals = stopRecord();
           if (isReportResult) {
             addResult(intervals);
           }
         }
 
         // If detector supports keepListening, use it, otherwise - measurement indicates the end.
-        if (detector.keepListening ? detector.keepListening(e) : !isMeasureNow){
+        if (detector.keepListening ? detector.keepListening(e) : !isMeasureNow) {
           return;
         }
       } else {
         // No event == timeout
         dump("TART: TIMEOUT\n");
       }
 
       // Cleanup
@@ -336,17 +336,17 @@ Tart.prototype = {
       // However, on some systems, modifying the widget once isn't always enough, hence the tickle loop.
       //
       var id = "back-button";
       var orig = self._win.document.getElementById(id).style.opacity;
       var i = 0;
 
       function tickleLoop() {
         if (i++ < ((isReportResult && self._config.tickle) ? 17 : 0)) {
-          self._win.document.getElementById(id).style.opacity = i%10 /10 + .05; // just some style modification which will force redraw
+          self._win.document.getElementById(id).style.opacity = i % 10 / 10 + .05; // just some style modification which will force redraw
           return rAF(tickleLoop);
         }
 
         self._win.document.getElementById(id).style.opacity = orig;
         return rAF(f);
       }
 
       tickleLoop();
@@ -364,81 +364,81 @@ Tart.prototype = {
     }, preWaitMs);
 
   },
 
 
   _nextCommandIx: 0,
   _commands: [],
   _onSequenceComplete: 0,
-  _nextCommand: function() {
+  _nextCommand() {
     if (this._nextCommandIx >= this._commands.length) {
       this._onSequenceComplete();
       return;
     }
     this._commands[this._nextCommandIx++]();
   },
   // Each command at the array a function which must call nextCommand once it's done
-  _doSequence: function(commands, onComplete) {
+  _doSequence(commands, onComplete) {
     this._commands = commands;
     this._onSequenceComplete = onComplete;
     this._results = [];
     this._nextCommandIx = 0;
 
     this._nextCommand();
   },
 
-  _log: function(str) {
+  _log(str) {
     if (window.MozillaFileLogger && window.MozillaFileLogger.log)
       window.MozillaFileLogger.log(str);
 
     window.dump(str);
   },
 
-  _logLine: function(str) {
+  _logLine(str) {
     return this._log(str + "\n");
   },
 
-  _reportAllResults: function() {
+  _reportAllResults() {
     var testNames = [];
     var testResults = [];
 
     var out = "";
     for (var i in this._results) {
       res = this._results[i];
-      var disp = [].concat(res.value).map(function(a){return (isNaN(a) ? -1 : a.toFixed(1));}).join(" ");
+      var disp = [].concat(res.value).map(function(a) { return (isNaN(a) ? -1 : a.toFixed(1)); }).join(" ");
       out += res.name + ": " + disp + "\n";
 
       if (!Array.isArray(res.value)) { // Waw intervals array is not reported to talos
         testNames.push(res.name);
         testResults.push(res.value);
       }
     }
     this._log("\n" + out);
 
     if (content && content.tpRecordTime) {
-      content.tpRecordTime(testResults.join(','), 0, testNames.join(','));
+      content.tpRecordTime(testResults.join(","), 0, testNames.join(","));
     } else {
-      //alert(out);
+      // alert(out);
     }
   },
 
   _onTestComplete: null,
 
-  _doneInternal: function() {
+  _doneInternal() {
     this._logLine("TART_RESULTS_JSON=" + JSON.stringify(this._results));
     this._reportAllResults();
     this._win.gBrowser.selectedTab = this._tartTab;
 
     if (this._onTestComplete) {
       this._onTestComplete(JSON.parse(JSON.stringify(this._results))); // Clone results
     }
   },
 
-  _startTest: function() {
+  _startTest() {
 
     // Save prefs and states which will change during the test, to get restored when done.
     var origNewtabEnabled = Services.prefs.getBoolPref("browser.newtabpage.enabled");
     var origPreload =       Services.prefs.getBoolPref("browser.newtab.preload");
     var origDpi =           Services.prefs.getCharPref("layout.css.devPixelsPerPx");
     var origPinned =        this._tartTab.pinned;
 
     var self = this;
@@ -449,17 +449,17 @@ Tart.prototype = {
     var fadeout = this.fadeOutCurrentTab.bind(this);
 
     var addSomeTab = this.addSomeChromeUriTab.bind(this);
     var customizeEnter = this.triggerCustomizeEnter.bind(this);
     var customizeEnterCss = this.triggerCustomizeEnterCss.bind(this);
     var customizeExit = this.triggerCustomizeExit.bind(this);
 
     var next = this._nextCommand.bind(this);
-    var rest = 500; //500ms default rest before measuring an animation
+    var rest = 500; // 500ms default rest before measuring an animation
     if (this._config.rest) {
       rest = this._config.rest;
     }
 
     // NOTE: causes a (slow) reflow, don't use right before measurements.
     function getMaxTabTransitionTimeMs(aTab) {
       let cstyle = window.getComputedStyle(aTab);
       try {
@@ -486,184 +486,186 @@ Tart.prototype = {
       // Hardcoded fallback in case the value doesn't make sense as tab animation duration.
       tabRefDuration = 250;
     }
 
     var custRefDuration = getReferenceCustomizationDuration();
 
     var subtests = {
       init: [ // This is called before each subtest, so it's safe to assume the following prefs:
-        function(){
+        function() {
           Services.prefs.setBoolPref("browser.newtabpage.enabled", true);
           Services.prefs.setBoolPref("browser.newtab.preload", false);
           self.pinTart();
           self.makeNewTabURLChangePromise("about:blank").then(next);
         },
       ],
 
       restore: [
         // Restore prefs which were modified during the test
-        function(){
+        function() {
           Services.prefs.setBoolPref("browser.newtabpage.enabled", origNewtabEnabled);
           Services.prefs.setBoolPref("browser.newtab.preload", origPreload);
           Services.prefs.setCharPref("layout.css.devPixelsPerPx", origDpi);
           if (origPinned) self.pinTart(); else self.unpinTart();
           self.makeNewTabURLChangePromise("about:newtab").then(next);
         },
       ],
 
       simple: [
-        function(){Services.prefs.setCharPref("layout.css.devPixelsPerPx", "1"); next();},
-        function(){animate(0, addTab, next);},
-        function(){animate(0, closeCurrentTab, next);},
+        function() { Services.prefs.setCharPref("layout.css.devPixelsPerPx", "1"); next(); },
+        function() { animate(0, addTab, next); },
+        function() { animate(0, closeCurrentTab, next); },
 
-        function(){animate(rest, addTab, next, true, "simple-open-DPI1", tabRefDuration);},
-        function(){animate(rest, closeCurrentTab, next, true, "simple-close-DPI1", tabRefDuration);}
+        function() { animate(rest, addTab, next, true, "simple-open-DPI1", tabRefDuration); },
+        function() { animate(rest, closeCurrentTab, next, true, "simple-close-DPI1", tabRefDuration); }
       ],
 
       iconDpi1: [
-        function(){
+        function() {
           Services.prefs.setCharPref("layout.css.devPixelsPerPx", "1");
           self.makeNewTabURLChangePromise("chrome://tart/content/blank.icon.html").then(next);
         },
-        function(){animate(0, addTab, next);},
-        function(){animate(0, closeCurrentTab, next);},
+        function() { animate(0, addTab, next); },
+        function() { animate(0, closeCurrentTab, next); },
 
-        function(){animate(rest, addTab, next, true, "icon-open-DPI1", tabRefDuration);},
-        function(){animate(rest, closeCurrentTab, next, true, "icon-close-DPI1", tabRefDuration);}
+        function() { animate(rest, addTab, next, true, "icon-open-DPI1", tabRefDuration); },
+        function() { animate(rest, closeCurrentTab, next, true, "icon-close-DPI1", tabRefDuration); }
       ],
 
       iconDpi2: [
-        function(){
+        function() {
           Services.prefs.setCharPref("layout.css.devPixelsPerPx", "2");
           self.makeNewTabURLChangePromise("chrome://tart/content/blank.icon.html").then(next);
         },
-        function(){animate(0, addTab, next);},
-        function(){animate(0, closeCurrentTab, next);},
+        function() { animate(0, addTab, next); },
+        function() { animate(0, closeCurrentTab, next); },
 
-        function(){animate(rest, addTab, next, true, "icon-open-DPI2", tabRefDuration);},
-        function(){animate(rest, closeCurrentTab, next, true, "icon-close-DPI2", tabRefDuration);}
+        function() { animate(rest, addTab, next, true, "icon-open-DPI2", tabRefDuration); },
+        function() { animate(rest, closeCurrentTab, next, true, "icon-close-DPI2", tabRefDuration); }
       ],
 
       newtabNoPreload: [
-        function(){
+        function() {
           Services.prefs.setCharPref("layout.css.devPixelsPerPx", "-1");
           Services.prefs.setBoolPref("browser.newtab.preload", false);
           self.makeNewTabURLChangePromise("about:newtab").then(next);
         },
-        function(){animate(rest, addTab, next, true, "newtab-open-preload-no", tabRefDuration);},
-        function(){animate(0, closeCurrentTab, next);}
+        function() { animate(rest, addTab, next, true, "newtab-open-preload-no", tabRefDuration); },
+        function() { animate(0, closeCurrentTab, next); }
       ],
 
       newtabYesPreload: [
-        function(){
+        function() {
           Services.prefs.setCharPref("layout.css.devPixelsPerPx", "-1");
           Services.prefs.setBoolPref("browser.newtab.preload", true);
           self.makeNewTabURLChangePromise("about:newtab").then(next);
         },
-        function(){animate(0, addTab, next);},
-        function(){animate(0, closeCurrentTab, next);},
+        function() { animate(0, addTab, next); },
+        function() { animate(0, closeCurrentTab, next); },
 
-        function(){animate(1000, addTab, next, true, "newtab-open-preload-yes", tabRefDuration);},
-        function(){animate(0, closeCurrentTab, next);}
+        function() { animate(1000, addTab, next, true, "newtab-open-preload-yes", tabRefDuration); },
+        function() { animate(0, closeCurrentTab, next); }
       ],
 
       simple3open3closeDpiCurrent: [
-        function(){animate(rest, addTab, next, true, "simple3-1-open-DPIcurrent", tabRefDuration);},
-        function(){animate(rest, addTab, next, true, "simple3-2-open-DPIcurrent", tabRefDuration);},
-        function(){animate(rest, addTab, next, true, "simple3-3-open-DPIcurrent", tabRefDuration);},
+        function() { animate(rest, addTab, next, true, "simple3-1-open-DPIcurrent", tabRefDuration); },
+        function() { animate(rest, addTab, next, true, "simple3-2-open-DPIcurrent", tabRefDuration); },
+        function() { animate(rest, addTab, next, true, "simple3-3-open-DPIcurrent", tabRefDuration); },
 
-        function(){animate(rest, closeCurrentTab, next, true, "simple3-3-close-DPIcurrent", tabRefDuration);},
-        function(){animate(rest, closeCurrentTab, next, true, "simple3-2-close-DPIcurrent", tabRefDuration);},
-        function(){animate(rest, closeCurrentTab, next, true, "simple3-1-close-DPIcurrent", tabRefDuration);}
+        function() { animate(rest, closeCurrentTab, next, true, "simple3-3-close-DPIcurrent", tabRefDuration); },
+        function() { animate(rest, closeCurrentTab, next, true, "simple3-2-close-DPIcurrent", tabRefDuration); },
+        function() { animate(rest, closeCurrentTab, next, true, "simple3-1-close-DPIcurrent", tabRefDuration); }
       ],
 
       multi: [
-        function(){
+        function() {
           Services.prefs.setCharPref("layout.css.devPixelsPerPx", "1.0");
           self.makeNewTabURLChangePromise("chrome://tart/content/blank.icon.html").then(next);
         },
 
-        function(){animate(0, addTab, next);},
-        function(){animate(0, addTab, next);},
-        function(){animate(0, addTab, next);},
-        function(){animate(0, addTab, next);},
-        function(){animate(0, addTab, next);},
-        function(){animate(0, addTab, next);},
+        function() { animate(0, addTab, next); },
+        function() { animate(0, addTab, next); },
+        function() { animate(0, addTab, next); },
+        function() { animate(0, addTab, next); },
+        function() { animate(0, addTab, next); },
+        function() { animate(0, addTab, next); },
 
-        function(){animate(rest*2, addTab, next, true, "multi-open-DPI1", tabRefDuration);},
-        function(){animate(rest*2, closeCurrentTab, next, true, "multi-close-DPI1", tabRefDuration);},
+        function() { animate(rest * 2, addTab, next, true, "multi-open-DPI1", tabRefDuration); },
+        function() { animate(rest * 2, closeCurrentTab, next, true, "multi-close-DPI1", tabRefDuration); },
 
-        function(){Services.prefs.setCharPref("layout.css.devPixelsPerPx", "2"); next();},
-        function(){animate(0, addTab, next);},
-        function(){animate(0, closeCurrentTab, next);},
-        function(){animate(rest*2, addTab, next, true, "multi-open-DPI2", tabRefDuration);},
-        function(){animate(rest*2, closeCurrentTab, next, true, "multi-close-DPI2", tabRefDuration);},
+        function() { Services.prefs.setCharPref("layout.css.devPixelsPerPx", "2"); next(); },
+        function() { animate(0, addTab, next); },
+        function() { animate(0, closeCurrentTab, next); },
+        function() { animate(rest * 2, addTab, next, true, "multi-open-DPI2", tabRefDuration); },
+        function() { animate(rest * 2, closeCurrentTab, next, true, "multi-close-DPI2", tabRefDuration); },
 
-        function(){Services.prefs.setCharPref("layout.css.devPixelsPerPx", "-1"); next();},
+        function() { Services.prefs.setCharPref("layout.css.devPixelsPerPx", "-1"); next(); },
 
-        function(){animate(0, closeCurrentTab, next);},
-        function(){animate(0, closeCurrentTab, next);},
-        function(){animate(0, closeCurrentTab, next);},
-        function(){animate(0, closeCurrentTab, next);},
-        function(){animate(0, closeCurrentTab, next);},
-        function(){animate(0, closeCurrentTab, next);},
+        function() { animate(0, closeCurrentTab, next); },
+        function() { animate(0, closeCurrentTab, next); },
+        function() { animate(0, closeCurrentTab, next); },
+        function() { animate(0, closeCurrentTab, next); },
+        function() { animate(0, closeCurrentTab, next); },
+        function() { animate(0, closeCurrentTab, next); },
       ],
 
       simpleFadeDpiCurrent: [
-        function(){self.makeNewTabURLChangePromise("about:blank").then(next);},
+        function() { self.makeNewTabURLChangePromise("about:blank").then(next); },
 
-        function(){animate(0, addTab, next);},
-        function(){animate(rest, fadeout, next, true, "simpleFade-close-DPIcurrent", tabRefDuration);},
-        function(){animate(rest, fadein, next, true, "simpleFade-open-DPIcurrent", tabRefDuration);},
-        function(){animate(0, closeCurrentTab, next);},
+        function() { animate(0, addTab, next); },
+        function() { animate(rest, fadeout, next, true, "simpleFade-close-DPIcurrent", tabRefDuration); },
+        function() { animate(rest, fadein, next, true, "simpleFade-open-DPIcurrent", tabRefDuration); },
+        function() { animate(0, closeCurrentTab, next); },
       ],
 
       iconFadeDpiCurrent: [
-        function(){self.makeNewTabURLChangePromise("chrome://tart/content/blank.icon.html").then(next);},
+        function() { self.makeNewTabURLChangePromise("chrome://tart/content/blank.icon.html").then(next); },
 
-        function(){animate(0, addTab, next);},
-        function(){animate(rest, fadeout, next, true, "iconFade-close-DPIcurrent", tabRefDuration);},
-        function(){animate(rest, fadein, next, true, "iconFade-open-DPIcurrent", tabRefDuration);},
-        function(){animate(0, closeCurrentTab, next);},
+        function() { animate(0, addTab, next); },
+        function() { animate(rest, fadeout, next, true, "iconFade-close-DPIcurrent", tabRefDuration); },
+        function() { animate(rest, fadein, next, true, "iconFade-open-DPIcurrent", tabRefDuration); },
+        function() { animate(0, closeCurrentTab, next); },
       ],
 
       iconFadeDpi2: [
-        function(){
+        function() {
           Services.prefs.setCharPref("layout.css.devPixelsPerPx", "2");
           self.makeNewTabURLChangePromise("chrome://tart/content/blank.icon.html").then(next);
         },
-        function(){animate(0, addTab, next);},
-        function(){animate(rest, fadeout, next, true, "iconFade-close-DPI2", tabRefDuration);},
-        function(){animate(rest, fadein, next, true, "iconFade-open-DPI2", tabRefDuration);},
-        function(){animate(0, closeCurrentTab, next);},
+        function() { animate(0, addTab, next); },
+        function() { animate(rest, fadeout, next, true, "iconFade-close-DPI2", tabRefDuration); },
+        function() { animate(rest, fadein, next, true, "iconFade-open-DPI2", tabRefDuration); },
+        function() { animate(0, closeCurrentTab, next); },
       ],
 
       lastTabFadeDpiCurrent: [
-        function(){self._win.gBrowser.selectedTab = self._win.gBrowser.tabs[gBrowser.tabs.length - 1];
-                   next();},
-        function(){animate(rest, fadeout, next, true, "lastTabFade-close-DPIcurrent", tabRefDuration);},
-        function(){animate(rest, fadein, next, true, "lastTabFade-open-DPIcurrent", tabRefDuration);},
+        function() {
+ self._win.gBrowser.selectedTab = self._win.gBrowser.tabs[gBrowser.tabs.length - 1];
+                   next();
+},
+        function() { animate(rest, fadeout, next, true, "lastTabFade-close-DPIcurrent", tabRefDuration); },
+        function() { animate(rest, fadein, next, true, "lastTabFade-open-DPIcurrent", tabRefDuration); },
       ],
 
       customize: [
         // Test australis customize mode animation with default DPI.
-        function(){Services.prefs.setCharPref("layout.css.devPixelsPerPx", "-1"); next();},
+        function() { Services.prefs.setCharPref("layout.css.devPixelsPerPx", "-1"); next(); },
         // Adding a non-newtab since the behavior of exiting customize mode which was entered on newtab may change. See bug 957202.
-        function(){animate(0, addSomeTab, next);},
+        function() { animate(0, addSomeTab, next); },
 
         // The prefixes 1- and 2- were added because talos cuts common prefixes on all "pages", which ends up as "customize-e" prefix.
-        function(){animate(rest, customizeEnter, next, true, "1-customize-enter", custRefDuration);},
-        function(){animate(rest, customizeExit, next, true, "2-customize-exit", custRefDuration);},
+        function() { animate(rest, customizeEnter, next, true, "1-customize-enter", custRefDuration); },
+        function() { animate(rest, customizeExit, next, true, "2-customize-exit", custRefDuration); },
 
         // Measures the CSS-animation-only part of entering into customize mode
-        function(){animate(rest, customizeEnterCss, next, true, "3-customize-enter-css", custRefDuration);},
-        function(){animate(0, customizeExit, next);},
+        function() { animate(rest, customizeEnterCss, next, true, "3-customize-enter-css", custRefDuration); },
+        function() { animate(0, customizeExit, next); },
 
-        function(){animate(0, closeCurrentTab, next);}
+        function() { animate(0, closeCurrentTab, next); }
       ]
     };
 
     // Construct the sequence array: config.repeat times config.subtests,
     // where each subtest implicitly starts with init.
     sequenceArray = [];
     for (var i in this._config.subtests) {
       for (var r = 0; r < this._config.repeat; r++) {
@@ -671,18 +673,18 @@ Tart.prototype = {
         sequenceArray = sequenceArray.concat(subtests[this._config.subtests[i]]);
       }
     }
     sequenceArray = sequenceArray.concat(subtests["restore"]);
 
     this._doSequence(sequenceArray, this._doneInternal);
   },
 
-  startTest: function(doneCallback, config) {
-    this._onTestComplete = function (results) {
+  startTest(doneCallback, config) {
+    this._onTestComplete = function(results) {
       Profiler.mark("TART - end", true);
       doneCallback(results);
     };
     this._config = config;
 
     const Ci = Components.interfaces;
     var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Ci.nsIWindowMediator);
     this._win = wm.getMostRecentWindow("navigator:browser");
--- a/testing/talos/talos/tests/video/video_playback.html
+++ b/testing/talos/talos/tests/video/video_playback.html
@@ -10,69 +10,69 @@ const MEASUREMENT2_MS = 2000;
 const PLAYBACK_RATE = 5;
 var vdo;
 var start1 = 0;
 var paintedFramesStart1 = 0;
 var start2 = 0;
 var paintedFramesStart2 = 0;
 var testIndex = 0;
 var test = [
-  'testsrc.240p.120fps.mp4',
-  'testsrc.480p.60fps.webm',
-  'testsrc.1080p.60fps.mp4',
+  "testsrc.240p.120fps.mp4",
+  "testsrc.480p.60fps.webm",
+  "testsrc.1080p.60fps.mp4",
 ];
 var viewModeIndex = 0;
 // Remove fullscreen mode since it causes intermittent failures on try server. See bug 1192317.
 var viewMode = [1, 1.1, 2];
 var testResult = {names: [], values: []};
 
 function init() {
   TalosPowersContent.focus(content_focused)
 }
 
 function content_focused() {
-  vdo = document.getElementById('vdo');
-  vdo.addEventListener('loadeddata', prepare, false);
-  document.addEventListener('fullscreenchange', fullscreen);
-  document.addEventListener('mozfullscreenchange', fullscreen);
+  vdo = document.getElementById("vdo");
+  vdo.addEventListener("loadeddata", prepare);
+  document.addEventListener("fullscreenchange", fullscreen);
+  document.addEventListener("mozfullscreenchange", fullscreen);
   runTest();
 }
 
 function fullscreen(event) {
   if ((document.fullscreenElement && document.fullscreenElement !== null) ||
       document.mozFullScreen) {
     startTest();
   } else {
     nextTest();
   }
 }
 
 function runTest() {
   // Windows XP cannot play mp4 clip due to the lack of gmp-eme-plugin, so skip it.
-  if (window.navigator.oscpu == 'Windows NT 5.1' && test[testIndex].indexOf('mp4') >= 0) {
+  if (window.navigator.oscpu == "Windows NT 5.1" && test[testIndex].indexOf("mp4") >= 0) {
     nextTest();
   }
-  vdo.setAttribute('src', 'clips/' + test[testIndex]);
+  vdo.setAttribute("src", "clips/" + test[testIndex]);
   vdo.load();
 }
 
 function prepare() {
-  if (viewMode[viewModeIndex] == 'fullscreen') {
+  if (viewMode[viewModeIndex] == "fullscreen") {
     // Fullscreen mode
-    vdo.setAttribute('width', '100%');
-    vdo.setAttribute('height', '100%');
+    vdo.setAttribute("width", "100%");
+    vdo.setAttribute("height", "100%");
     if (document.body.requestFullscreen) {
       document.body.requestFullscreen();
     } else if (document.body.mozRequestFullScreen) {
       document.body.mozRequestFullScreen();
     }
   } else {
     readyToStart = true;
-    vdo.setAttribute('width', vdo.videoWidth * viewMode[viewModeIndex]);
-    vdo.setAttribute('height', vdo.videoHeight * viewMode[viewModeIndex]);
+    vdo.setAttribute("width", vdo.videoWidth * viewMode[viewModeIndex]);
+    vdo.setAttribute("height", vdo.videoHeight * viewMode[viewModeIndex]);
     startTest();
   }
 }
 
 function startTest() {
   vdo.playbackRate = PLAYBACK_RATE;
   start1 = performance.now();
   paintedFramesStart1 = vdo.mozPaintedFrames;
@@ -85,22 +85,22 @@ function startTest() {
 }
 
 function measurementEnded() {
   vdo.pause();
   var end = performance.now();
   var paintedFramesEnd = vdo.mozPaintedFrames;
   var timePerFrame1 = (start2 - start1) / (paintedFramesStart2 - paintedFramesStart1);
   var timePerFrame2 = (end - start2) / (paintedFramesEnd - paintedFramesStart2);
-  testResult.names.push(test[testIndex] + '_scale_' + viewMode[viewModeIndex] + '_startup');
+  testResult.names.push(test[testIndex] + "_scale_" + viewMode[viewModeIndex] + "_startup");
   testResult.values.push(timePerFrame1);
-  testResult.names.push(test[testIndex] + '_scale_' + viewMode[viewModeIndex] + '_inclip');
+  testResult.names.push(test[testIndex] + "_scale_" + viewMode[viewModeIndex] + "_inclip");
   testResult.values.push(timePerFrame2);
 
-  if (viewMode[viewModeIndex] == 'fullscreen') {
+  if (viewMode[viewModeIndex] == "fullscreen") {
     // Exit fullscreen mode
     if (document.exitFullscreen) {
       document.exitFullscreen();
     } else if (document.mozCancelFullScreen) {
       document.mozCancelFullScreen();
     }
   } else {
     nextTest();
@@ -117,30 +117,30 @@ function nextTest() {
     // End the test
     reportResult();
   } else {
     runTest();
   }
 }
 
 function reportResult() {
-  var msg = '';
+  var msg = "";
   for (var i = 0; i < testResult.names.length; i++) {
-    msg += testResult.names[i] + ' = ' + testResult.values[i] + ' ms/frame\n\n';
+    msg += testResult.names[i] + " = " + testResult.values[i] + " ms/frame\n\n";
   }
 
   dump(msg); // Put the readable report at talos run-log
 
   if (window.tpRecordTime) {
     // Within talos - report the results
-    return tpRecordTime(testResult.values.join(','), 0, testResult.names.join(','));
-  } else {
+    return tpRecordTime(testResult.values.join(","), 0, testResult.names.join(","));
+  }
     // Local run in a plain browser, display the formatted report
     alert(msg);
-  }
+
 }
 </script>
 
 </head>
 <body id="body" onload="init();">
 <video id="vdo" width="100%" height="100%">
 </video>
 </body>
--- a/testing/talos/talos/tests/webgl/benchmarks/video/video_upload.html
+++ b/testing/talos/talos/tests/webgl/benchmarks/video/video_upload.html
@@ -2,35 +2,34 @@
    - License, v. 2.0. If a copy of the MPL was not distributed with this file,
    - You can obtain one at http://mozilla.org/MPL/2.0/.  -->
 <html>
 <head>
 <script src="chrome://talos-powers-content/content/TalosPowersContent.js"></script>
 <script language="javascript" type="text/javascript">
 const kTotalTicks = 100;
 var start;
-var gl = document.createElement('canvas').getContext('webgl');
+var gl = document.createElement("canvas").getContext("webgl");
 gl.bindTexture(gl.TEXTURE_2D, gl.createTexture());
 var video;
-video = document.createElement('video');
+video = document.createElement("video");
 video.src = "../../../video/clips/testsrc.1080p.60fps.mp4";
-video.addEventListener('playing', playingListener, true); // loadstart?
+video.addEventListener("playing", playingListener, true); // loadstart?
 video.loop = true;
 
 function init() {
   TalosPowersContent.focus(content_focused);
 }
 
 function content_focused() {
   video.play();
 }
 
-function playingListener()
-{
-  video.removeEventListener('playing', playingListener, true);
+function playingListener() {
+  video.removeEventListener("playing", playingListener, true);
   start = performance.now();
   tick();
 }
 
 var tickCount = 0;
 function tick() {
   if (tickCount >= kTotalTicks) {
     var elapsed = performance.now() - start;
@@ -41,27 +40,27 @@ function tick() {
   gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, video);
   ++tickCount;
 
   window.setTimeout(tick, 0);
 }
 
 function reportResult(totalTime, totalTicks) {
   var meanTickTime = totalTime / totalTicks;
-  var desc = 'Mean tick time across ' + totalTicks + ' ticks: ';
-  var text = desc + meanTickTime + ' ms\n';
+  var desc = "Mean tick time across " + totalTicks + " ticks: ";
+  var text = desc + meanTickTime + " ms\n";
 
-  dump('[talos glvideo result] ' + text);
+  dump("[talos glvideo result] " + text);
 
   if (window.tpRecordTime) {
     // Within talos - report the results
     return tpRecordTime(meanTickTime, 0, desc);
-  } else {
+  }
     // Local run in a plain browser, display the formatted report
-    alert('[talos glvideo result] ' + text);
-  }
+    alert("[talos glvideo result] " + text);
+
 }
 </script>
 
 </head>
 <body id="body" onload="init();">
 </body>
 </html>
--- a/testing/talos/talos/webextensions/dummy/background.js
+++ b/testing/talos/talos/webextensions/dummy/background.js
@@ -1,3 +1,3 @@
-"use strict";
-
+"use strict";
+
 // Empty background script
--- a/testing/talos/talos/webextensions/dummy/content.js
+++ b/testing/talos/talos/webextensions/dummy/content.js
@@ -1,3 +1,3 @@
-"use strict";
-
+"use strict";
+
 // Empty content script
--- a/tools/rewriting/ThirdPartyPaths.txt
+++ b/tools/rewriting/ThirdPartyPaths.txt
@@ -60,17 +60,20 @@ netwerk/sctp/src/
 netwerk/srtp/src/
 nsprpub/
 other-licenses/
 parser/expat/
 security/nss/
 security/sandbox/chromium/
 testing/gtest/gmock/
 testing/gtest/gtest/
+testing/talos/talos/tests/canvasmark/
 testing/talos/talos/tests/dromaeo/
+testing/talos/talos/tests/kraken/
+testing/talos/talos/tests/v8_7/
 third_party/aom/
 third_party/python/blessings/
 third_party/python/configobj/
 third_party/python/futures/
 third_party/python/jsmin/
 third_party/python/mock-*/
 third_party/python/psutil/
 third_party/python/py/