Merge inbound to mozilla-central. a=merge
authorCiure Andrei <aciure@mozilla.com>
Mon, 04 Mar 2019 23:50:12 +0200
changeset 520136 8602628e7eda
parent 520134 a9bb4a23d407 (current diff)
parent 520135 846b0c8b048e (diff)
child 520162 33a6f98be59c
child 520197 901d4a94863c
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
8602628e7eda / 67.0a1 / 20190304215035 / files
nightly linux64
8602628e7eda / 67.0a1 / 20190304215035 / files
nightly mac
8602628e7eda / 67.0a1 / 20190304215035 / files
nightly win32
8602628e7eda / 67.0a1 / 20190304215035 / files
nightly win64
8602628e7eda / 67.0a1 / 20190304215035 / files
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
releases
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Merge inbound to mozilla-central. a=merge
--- 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);
 });