Bug 1393965 - Fix intermittent browser_default_image_filename.js. r=mconley, a=test-only
authorPaolo Amadini <paolo.mozmail@amadzone.org>
Mon, 20 Aug 2018 13:42:19 +0100
changeset 450018 d4e3a88eef06a4b712b0619c50538fb6973435d0
parent 450017 5797501ab49c3d78b00601efc0a1747609ecd08d
child 450019 1973f8b39e0cfa9e277400f4b36332d77c5b4d0f
push id147
push userryanvm@gmail.com
push dateTue, 21 Aug 2018 22:02:22 +0000
treeherdermozilla-esr60@5c3ef4992a63 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmconley, test-only
bugs1393965
milestone60.1.1
Bug 1393965 - Fix intermittent browser_default_image_filename.js. r=mconley, a=test-only Differential Revision: https://phabricator.services.mozilla.com/D3775
toolkit/content/tests/browser/browser_default_image_filename.js
--- a/toolkit/content/tests/browser/browser_default_image_filename.js
+++ b/toolkit/content/tests/browser/browser_default_image_filename.js
@@ -4,42 +4,44 @@
 var MockFilePicker = SpecialPowers.MockFilePicker;
 MockFilePicker.init(window);
 
 /**
  * TestCase for bug 564387
  * <https://bugzilla.mozilla.org/show_bug.cgi?id=564387>
  */
 add_task(async function() {
-  let loadPromise = BrowserTestUtils.browserLoaded(gBrowser.selectedBrowser);
-  gBrowser.loadURI("data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub//ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcppV0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7");
-  await loadPromise;
-
-  let popupShownPromise = BrowserTestUtils.waitForEvent(document, "popupshown");
+  await BrowserTestUtils.withNewTab({
+    gBrowser,
+    url: "data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub//ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcppV0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7",
+  }, async function(browser) {
+    let popupShownPromise = BrowserTestUtils.waitForEvent(document, "popupshown");
 
-  await BrowserTestUtils.synthesizeMouseAtCenter("img",
-                                                 { type: "contextmenu", button: 2 },
-                                                 gBrowser.selectedBrowser);
+    await BrowserTestUtils.synthesizeMouseAtCenter("img", {
+      type: "contextmenu",
+      button: 2,
+    }, browser);
 
-  await popupShownPromise;
+    await popupShownPromise;
 
-  let showFilePickerPromise = new Promise(resolve => {
-    MockFilePicker.showCallback = function(fp) {
-      is(fp.defaultString, "index.gif");
-      resolve();
-    };
-  });
+    let showFilePickerPromise = new Promise(resolve => {
+      MockFilePicker.showCallback = function(fp) {
+        is(fp.defaultString, "index.gif");
+        resolve();
+      };
+    });
 
-  registerCleanupFunction(function() {
-    MockFilePicker.cleanup();
-  });
+    registerCleanupFunction(function() {
+      MockFilePicker.cleanup();
+    });
 
-  // Select "Save Image As" option from context menu
-  var saveImageAsCommand = document.getElementById("context-saveimage");
-  saveImageAsCommand.doCommand();
+    // Select "Save Image As" option from context menu
+    var saveImageAsCommand = document.getElementById("context-saveimage");
+    saveImageAsCommand.doCommand();
 
-  await showFilePickerPromise;
+    await showFilePickerPromise;
 
-  let contextMenu = document.getElementById("contentAreaContextMenu");
-  let popupHiddenPromise = BrowserTestUtils.waitForEvent(contextMenu, "popuphidden");
-  contextMenu.hidePopup();
-  await popupHiddenPromise;
+    let contextMenu = document.getElementById("contentAreaContextMenu");
+    let popupHiddenPromise = BrowserTestUtils.waitForEvent(contextMenu, "popuphidden");
+    contextMenu.hidePopup();
+    await popupHiddenPromise;
+  });
 });