Merge mozilla-central to autoland. a=merge CLOSED TREE
authorCiure Andrei <aciure@mozilla.com>
Mon, 04 Mar 2019 23:52:28 +0200
changeset 520162 33a6f98be59c81ef5ebf53c3853a76b340ede88c
parent 520161 faa8822a034d76e920b9c4670795fd6b100836f4 (current diff)
parent 520136 8602628e7edaecadea855a64179b329da6ff1f20 (diff)
child 520163 34d5cbb640e33ad6b06af239788470118156764b
push id10862
push userffxbld-merge
push dateMon, 11 Mar 2019 13:01:11 +0000
treeherdermozilla-beta@a2e7f5c935da [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmerge
milestone67.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
Merge mozilla-central to autoland. a=merge CLOSED TREE
--- a/browser/base/content/test/trackingUI/browser_trackingUI_cryptominers.js
+++ b/browser/base/content/test/trackingUI/browser_trackingUI_cryptominers.js
@@ -16,39 +16,57 @@ add_task(async function setup() {
     [ "privacy.trackingprotection.fingerprinting.enabled", false ],
   ]});
 });
 
 async function testIdentityState(hasException) {
   let promise = BrowserTestUtils.openNewForegroundTab({url: TRACKING_PAGE, gBrowser});
   let [tab] = await Promise.all([promise, waitForContentBlockingEvent()]);
 
+  if (hasException) {
+    let loaded = BrowserTestUtils.browserLoaded(tab.linkedBrowser, false, TRACKING_PAGE);
+    ContentBlocking.disableForCurrentPage();
+    await loaded;
+  }
+
   ok(!ContentBlocking.content.hasAttribute("detected"), "cryptominers are not detected");
   ok(BrowserTestUtils.is_hidden(ContentBlocking.iconBox), "icon box is not visible");
 
   promise = waitForContentBlockingEvent();
 
   await ContentTask.spawn(tab.linkedBrowser, {}, function() {
     content.postMessage("cryptomining", "*");
   });
 
   await promise;
 
   ok(ContentBlocking.content.hasAttribute("detected"), "trackers are detected");
   ok(BrowserTestUtils.is_visible(ContentBlocking.iconBox), "icon box is visible");
   is(ContentBlocking.iconBox.hasAttribute("hasException"), hasException,
     "Shows an exception when appropriate");
 
+  if (hasException) {
+    let loaded = BrowserTestUtils.browserLoaded(tab.linkedBrowser, false, TRACKING_PAGE);
+    ContentBlocking.enableForCurrentPage();
+    await loaded;
+  }
+
   BrowserTestUtils.removeTab(tab);
 }
 
 async function testSubview(hasException) {
   let promise = BrowserTestUtils.openNewForegroundTab({url: TRACKING_PAGE, gBrowser});
   let [tab] = await Promise.all([promise, waitForContentBlockingEvent()]);
 
+  if (hasException) {
+    let loaded = BrowserTestUtils.browserLoaded(tab.linkedBrowser, false, TRACKING_PAGE);
+    ContentBlocking.disableForCurrentPage();
+    await loaded;
+  }
+
   promise = waitForContentBlockingEvent();
   await ContentTask.spawn(tab.linkedBrowser, {}, function() {
     content.postMessage("cryptomining", "*");
   });
   await promise;
 
   await openIdentityPopup();
 
@@ -71,31 +89,29 @@ async function testSubview(hasException)
   let mainView = document.getElementById("identity-popup-mainView");
   viewShown = BrowserTestUtils.waitForEvent(mainView, "ViewShown");
   let backButton = subview.querySelector(".subviewbutton-back");
   backButton.click();
   await viewShown;
 
   ok(true, "Main view was shown");
 
+  if (hasException) {
+    let loaded = BrowserTestUtils.browserLoaded(tab.linkedBrowser, false, TRACKING_PAGE);
+    ContentBlocking.enableForCurrentPage();
+    await loaded;
+  }
+
   BrowserTestUtils.removeTab(tab);
 }
 
 add_task(async function test() {
-  let uri = Services.io.newURI("https://example.org");
-
   Services.prefs.setBoolPref(CM_PREF, true);
 
   await testIdentityState(false);
-  Services.perms.add(uri, "trackingprotection", Services.perms.ALLOW_ACTION);
-  // TODO: This currently fails because of bug 1525458, fixing should allow us to re-enable it.
-  // await testIdentityState(true);
-  Services.perms.remove(uri, "trackingprotection");
+  await testIdentityState(true);
 
   await testSubview(false);
-  Services.perms.add(uri, "trackingprotection", Services.perms.ALLOW_ACTION);
-  // TODO: This currently fails because of bug 1525458, fixing should allow us to re-enable it.
-  // await testSubview(true);
-  Services.perms.remove(uri, "trackingprotection");
+  await testSubview(true);
 
   Services.prefs.clearUserPref(CM_PREF);
 });
 
--- a/browser/base/content/test/trackingUI/browser_trackingUI_fingerprinters.js
+++ b/browser/base/content/test/trackingUI/browser_trackingUI_fingerprinters.js
@@ -16,39 +16,57 @@ add_task(async function setup() {
     [ "privacy.trackingprotection.cryptomining.enabled", false ],
   ]});
 });
 
 async function testIdentityState(hasException) {
   let promise = BrowserTestUtils.openNewForegroundTab({url: TRACKING_PAGE, gBrowser});
   let [tab] = await Promise.all([promise, waitForContentBlockingEvent()]);
 
+  if (hasException) {
+    let loaded = BrowserTestUtils.browserLoaded(tab.linkedBrowser, false, TRACKING_PAGE);
+    ContentBlocking.disableForCurrentPage();
+    await loaded;
+  }
+
   ok(!ContentBlocking.content.hasAttribute("detected"), "fingerprinters are not detected");
   ok(BrowserTestUtils.is_hidden(ContentBlocking.iconBox), "icon box is not visible");
 
   promise = waitForContentBlockingEvent();
 
   await ContentTask.spawn(tab.linkedBrowser, {}, function() {
     content.postMessage("fingerprinting", "*");
   });
 
   await promise;
 
   ok(ContentBlocking.content.hasAttribute("detected"), "trackers are detected");
   ok(BrowserTestUtils.is_visible(ContentBlocking.iconBox), "icon box is visible");
   is(ContentBlocking.iconBox.hasAttribute("hasException"), hasException,
     "Shows an exception when appropriate");
 
+  if (hasException) {
+    let loaded = BrowserTestUtils.browserLoaded(tab.linkedBrowser, false, TRACKING_PAGE);
+    ContentBlocking.enableForCurrentPage();
+    await loaded;
+  }
+
   BrowserTestUtils.removeTab(tab);
 }
 
 async function testSubview(hasException) {
   let promise = BrowserTestUtils.openNewForegroundTab({url: TRACKING_PAGE, gBrowser});
   let [tab] = await Promise.all([promise, waitForContentBlockingEvent()]);
 
+  if (hasException) {
+    let loaded = BrowserTestUtils.browserLoaded(tab.linkedBrowser, false, TRACKING_PAGE);
+    ContentBlocking.disableForCurrentPage();
+    await loaded;
+  }
+
   promise = waitForContentBlockingEvent();
   await ContentTask.spawn(tab.linkedBrowser, {}, function() {
     content.postMessage("fingerprinting", "*");
   });
   await promise;
 
   await openIdentityPopup();
 
@@ -71,31 +89,29 @@ async function testSubview(hasException)
   let mainView = document.getElementById("identity-popup-mainView");
   viewShown = BrowserTestUtils.waitForEvent(mainView, "ViewShown");
   let backButton = subview.querySelector(".subviewbutton-back");
   backButton.click();
   await viewShown;
 
   ok(true, "Main view was shown");
 
+  if (hasException) {
+    let loaded = BrowserTestUtils.browserLoaded(tab.linkedBrowser, false, TRACKING_PAGE);
+    ContentBlocking.enableForCurrentPage();
+    await loaded;
+  }
+
   BrowserTestUtils.removeTab(tab);
 }
 
 add_task(async function test() {
-  let uri = Services.io.newURI("https://example.org");
-
   Services.prefs.setBoolPref(FP_PREF, true);
 
   await testIdentityState(false);
-  Services.perms.add(uri, "trackingprotection", Services.perms.ALLOW_ACTION);
-  // TODO: This currently fails because of bug 1525458, fixing should allow us to re-enable it.
-  // await testIdentityState(true);
-  Services.perms.remove(uri, "trackingprotection");
+  await testIdentityState(true);
 
   await testSubview(false);
-  Services.perms.add(uri, "trackingprotection", Services.perms.ALLOW_ACTION);
-  // TODO: This currently fails because of bug 1525458, fixing should allow us to re-enable it.
-  // await testSubview(true);
-  Services.perms.remove(uri, "trackingprotection");
+  await testSubview(true);
 
   Services.prefs.clearUserPref(FP_PREF);
 });