summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/general/browser_trackingUI_6.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/base/content/test/general/browser_trackingUI_6.js')
-rw-r--r--browser/base/content/test/general/browser_trackingUI_6.js46
1 files changed, 46 insertions, 0 deletions
diff --git a/browser/base/content/test/general/browser_trackingUI_6.js b/browser/base/content/test/general/browser_trackingUI_6.js
new file mode 100644
index 000000000..be91bc4a0
--- /dev/null
+++ b/browser/base/content/test/general/browser_trackingUI_6.js
@@ -0,0 +1,46 @@
+const URL = "http://mochi.test:8888/browser/browser/base/content/test/general/file_trackingUI_6.html";
+
+function waitForSecurityChange(numChanges = 1) {
+ return new Promise(resolve => {
+ let n = 0;
+ let listener = {
+ onSecurityChange: function() {
+ n = n + 1;
+ info ("Received onSecurityChange event " + n + " of " + numChanges);
+ if (n >= numChanges) {
+ gBrowser.removeProgressListener(listener);
+ resolve();
+ }
+ }
+ };
+ gBrowser.addProgressListener(listener);
+ });
+}
+
+add_task(function* test_fetch() {
+ yield new Promise(resolve => {
+ SpecialPowers.pushPrefEnv({ set: [['privacy.trackingprotection.enabled', true]] },
+ resolve);
+ });
+
+ yield BrowserTestUtils.withNewTab({ gBrowser, url: URL }, function* (newTabBrowser) {
+ let securityChange = waitForSecurityChange();
+ yield ContentTask.spawn(newTabBrowser, null, function* () {
+ yield content.wrappedJSObject.test_fetch()
+ .then(response => Assert.ok(false, "should have denied the request"))
+ .catch(e => Assert.ok(true, `Caught exception: ${e}`));
+ });
+ yield securityChange;
+
+ var TrackingProtection = newTabBrowser.ownerGlobal.TrackingProtection;
+ ok(TrackingProtection, "got TP object");
+ ok(TrackingProtection.enabled, "TP is enabled");
+
+ is(TrackingProtection.content.getAttribute("state"), "blocked-tracking-content",
+ 'content: state="blocked-tracking-content"');
+ is(TrackingProtection.icon.getAttribute("state"), "blocked-tracking-content",
+ 'icon: state="blocked-tracking-content"');
+ is(TrackingProtection.icon.getAttribute("tooltiptext"),
+ gNavigatorBundle.getString("trackingProtection.icon.activeTooltip"), "correct tooltip");
+ });
+});