File: clear-cache-partitioning.tentative.https.html

package info (click to toggle)
thunderbird 1%3A140.4.0esr-1~deb13u1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 4,609,412 kB
  • sloc: cpp: 7,672,442; javascript: 5,901,613; ansic: 3,898,954; python: 1,413,343; xml: 653,997; asm: 462,286; java: 180,927; sh: 113,489; makefile: 20,460; perl: 14,288; objc: 13,059; yacc: 4,583; pascal: 3,352; lex: 1,720; ruby: 1,222; exp: 762; sql: 715; awk: 580; php: 436; lisp: 430; sed: 70; csh: 10
file content (149 lines) | stat: -rw-r--r-- 4,102 bytes parent folder | download | duplicates (10)
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
<!DOCTYPE html>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script src="support/clear-cache-helper.sub.js"></script>
<script>
"use strict";

const CLEAR_ORIGIN_CACHE = {
    clear: "cache",
}

promise_test(test => {
    const TEST_SITE = {
        iframe: {
            cache: true,
        }
    }
    return testCacheClear(test, [TEST_SITE, CLEAR_ORIGIN_CACHE, TEST_SITE], assert_not_equals);
}, "same site data also gets cleared in iframe");

promise_test(test => {
    const TEST_SITE = {
        iframe: {
            cache: true,
            secondOrigin: true,
        }
    }
    return testCacheClear(test, [TEST_SITE, CLEAR_ORIGIN_CACHE, TEST_SITE], assert_equals);
}, "cross origin iframe data doesn't get cleared");

promise_test(test => {
    const TEST_SITE = {
        cache: true,
    }
    const CLEAR_ORIGIN_CACHE = {
        iframe: {
            clear: "cache",
            secondOrigin: true,
        }
    }
    return testCacheClear(test, [TEST_SITE, CLEAR_ORIGIN_CACHE, TEST_SITE], assert_equals);
}, "clear in cross origin iframe doesn't affect embedder");

promise_test(test => {
    const TEST_SITE = {
        cache: true,
        subdomain: true,
    }
    return testCacheClear(test, [TEST_SITE, CLEAR_ORIGIN_CACHE, TEST_SITE], assert_equals);
}, "clearing cache doesn't affect subdomain");

promise_test(test => {
    const TEST_SITE = {
        iframe: {
            secondOrigin: true,
            cache: true,
        }
    }
    const TEST_SITE_CLEAR_IFRAME = {
        iframe: {
            secondOrigin: true,
            clear: "all",
        }
    }
    return testCacheClear(test, [TEST_SITE, TEST_SITE_CLEAR_IFRAME, TEST_SITE], assert_not_equals);
}, "clear in cross origin iframe clears data from that iframe");

promise_test(test => {
    const TEST_SITE = {
        cache: true
    };
    const TEST_SITE_CLEAR_IFRAME = {
        secondOrigin: true,
        iframe: {
            clear: "cache",
        }
    }
    return testCacheClear(test, [TEST_SITE, TEST_SITE_CLEAR_IFRAME, TEST_SITE], assert_equals);
}, "clear in cross origin iframe doesn't clear unpartitioned data from that cross origin");

promise_test(test => {
    const TEST_SITE = {
        secondOrigin: true,
        iframe: {
            cache: true,
        }
    }

    const TEST_SITE_CLEAR_IFRAME = {
        clear: "cache"
    };
    return testCacheClear(test, [TEST_SITE, TEST_SITE_CLEAR_IFRAME, TEST_SITE], assert_equals);
}, "clear in unpartitioned context doesn't clear partitioned data");

promise_test(test => {
    const TEST_SITE = {
        iframe: {
            secondOrigin: true,
            iframe: {
                cache: true,
            }
        }
    }
    return testCacheClear(test, [TEST_SITE, CLEAR_ORIGIN_CACHE, TEST_SITE], assert_equals);
}, "clear in unpartitioned context doesn't clear double partitioned data with intermediate cross origin");

promise_test(test => {
    const TEST_SITE = {
        cache: true,
    };

    const TEST_CLEAR_IFRAME_IFRAME = {
        iframe: {
            secondOrigin: true,
            iframe: {
                clear: "cache",
            }
        }
    }
    return testCacheClear(test, [TEST_SITE, TEST_CLEAR_IFRAME_IFRAME, TEST_SITE], assert_equals);
}, "clear in double partitioned with intermediate cross origin context doesn't clear unpartitioned data");

promise_test(test => {
    const TEST_SITE = {
        iframe: {
            secondOrigin: true,
            iframe: {
                cache: true,
            }
        }
    }

    const TEST_CLEAR_IFRAME_IFRAME = {
        iframe: {
            secondOrigin: true,
            iframe: {
                clear: "cache",
            }
        }
    }
    return testCacheClear(test, [TEST_SITE, TEST_CLEAR_IFRAME_IFRAME, TEST_SITE], assert_not_equals);
}, "clear double partitioned context with intermediate cross origin clears that partitioned data");

</script>
</body>
</html>