summaryrefslogtreecommitdiffstats
path: root/toolkit/components/url-classifier/tests/mochitest/test_allowlisted_annotations.html
blob: bb512e7cdc715acf2dc0a73a17d35ecd2d27eb64 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<!DOCTYPE HTML>
<html>
<head>
  <title>Test the URI Classifier</title>
  <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
  <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css">
</head>

<body>
<p id="display"></p>
<div id="content" style="display: none">
</div>
<pre id="test">

<script class="testbody" type="text/javascript">

var Cc = SpecialPowers.Cc;
var Ci = SpecialPowers.Ci;

const {UrlClassifierTestUtils} = ChromeUtils.importESModule(
  "resource://testing-common/UrlClassifierTestUtils.sys.mjs"
);

// Add https://allowlisted.example.com to the permissions manager
SpecialPowers.addPermission("trackingprotection",
                            Ci.nsIPermissionManager.ALLOW_ACTION,
                            { url: "https://allowlisted.example.com" });

async function clearPermissions() {
  await SpecialPowers.removePermission("trackingprotection",
                                       { url: "https://allowlisted.example.com" });
  ok(!await SpecialPowers.testPermission("trackingprotection",
                                         Ci.nsIPermissionManager.ALLOW_ACTION,
                                         { url: "https://allowlisted.example.com" }));
}

SpecialPowers.pushPrefEnv(
  {"set": [["urlclassifier.trackingTable", "moztest-track-simple"],
           ["privacy.trackingprotection.enabled", true],
           ["privacy.trackingprotection.testing.report_blocked_node", true],
           ["channelclassifier.allowlist_example", true],
           ["dom.security.skip_remote_script_assertion_in_system_priv_context", true]]},
  test);

function test() {
  SimpleTest.registerCleanupFunction(UrlClassifierTestUtils.cleanupTestTrackers);
  UrlClassifierTestUtils.addTestTrackers().then(() => {
    document.getElementById("testFrame").src = "allowlistAnnotatedFrame.html";
  });
}

// Expected finish() call is in "allowlistedAnnotatedFrame.html".
SimpleTest.waitForExplicitFinish();

</script>

</pre>
<iframe id="testFrame" width="100%" height="100%" onload=""></iframe>
</body>
</html>