Bug 1272381 - ensure useragent-update-complete listener is added before updating prefs. r?valentin draft
authorShih-Chiang Chien <schien@mozilla.com>
Mon, 19 Jun 2017 10:13:18 +0800
changeset 596246 c272dbec994de7683adc40990677564bb615878a
parent 593717 b266a8d8fd595b84a7d6218d7b8c6b7af0b5027c
child 633890 fb8ab8f141c35817683359239b00c790f5d55547
push id64553
push userbmo:schien@mozilla.com
push dateMon, 19 Jun 2017 02:15:10 +0000
reviewersvalentin
bugs1272381
milestone56.0a1
Bug 1272381 - ensure useragent-update-complete listener is added before updating prefs. r?valentin MozReview-Commit-ID: 4JNz1catGGK
netwerk/test/mochitests/test_user_agent_updates.html
--- a/netwerk/test/mochitests/test_user_agent_updates.html
+++ b/netwerk/test/mochitests/test_user_agent_updates.html
@@ -128,26 +128,16 @@ function getUpdateURL() {
 }
 
 function testDownload(callback) {
   var startTime = Date.now();
   var url = getUpdateURL();
   isnot(navigator.userAgent, UA_OVERRIDE, 'UA already overridden');
   info('Waiting for UA update: ' + url);
 
-  chromeScript.sendAsyncMessage("notify-on-update");
-  SpecialPowers.pushPrefEnv({
-    set: [
-      [PREF_UPDATES_ENABLED, true],
-      [PREF_UPDATES_URL, url],
-      [PREF_UPDATES_TIMEOUT, 10000],
-      [PREF_UPDATES_INTERVAL, 1] // 1 second interval
-    ]
-  });
-
   function waitForUpdate() {
     info("Update Happened");
     testUAIFrameNoNav(location.origin, UA_OVERRIDE, true, 'Header UA not overridden', function() {
       var updateTime = parseInt(getUA('http://example.org'));
       todo(startTime <= updateTime, 'Update was before start time');
       todo(updateTime <= Date.now(), 'Update was after present time');
 
       let overs = OVERRIDES;
@@ -160,16 +150,26 @@ function testDownload(callback) {
         } else {
           nextOverride();
         }
       })();
     });
   }
 
   chromeScript.addMessageListener("useragent-update-complete", waitForUpdate);
+
+  chromeScript.sendAsyncMessage("notify-on-update");
+  SpecialPowers.pushPrefEnv({
+    set: [
+      [PREF_UPDATES_ENABLED, true],
+      [PREF_UPDATES_URL, url],
+      [PREF_UPDATES_TIMEOUT, 10000],
+      [PREF_UPDATES_INTERVAL, 1] // 1 second interval
+    ]
+  });
 }
 
 function testBadUpdate(callback) {
   var url = getServerURL() + 'invalid-json';
   var prevOverride = navigator.userAgent;
   SpecialPowers.pushPrefEnv({
     set: [
       [PREF_UPDATES_URL, url],