summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/client-hints/clear-site-data/clear-site-data-cache.https.html
blob: 1be71bf8b03471ba954cc4b5242bf091a3480c13 (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
<!DOCTYPE html>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
// Here's the set-up for this test:
// Step 1 (first window) Open new window to verify that hints were set.
// Step 2 (second window) Alert first window of client hints present.
// Step 3 (first window) Asserts client hints were present.
// Step 4 (first window) Navigate other window to page that clears cache data.
// Step 5 (second window) Navigate to a page that can check client hints still sent.
// Step 6 (second window) Alert first window of client hints present.
// Step 7 (first window) Asserts client hints were not present.
async_test(t => {
    var new_window;

    // Step 3
    window.addEventListener("message", t.step_func(e => {
        assert_equals(e.data, "HadDeviceMemory");

        // Step 7
        window.addEventListener("message", t.step_func(e => {
            assert_equals(e.data, "MissingDeviceMemory");
            t.done();
        }), {once: true});

        // Step 4
        new_window.location.href = "/client-hints/clear-site-data/resources/clear-site-data.py?target=cache";
    }), {once: true});

    // Step 1
    new_window = window.open("/client-hints/clear-site-data/resources/check-client-hints.py");
    t.add_cleanup(() => new_window.close());
}, "Clear-Site-Data for cache should remove all client hints.");
</script>
</body>
</html>