Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test has a WPT meta file that expects 1 subtest issues.
- This WPT test may be referenced by the following Test IDs:
- /client-hints/clear-site-data/clear-site-data-client-hints-third-party.https.sub.html - WPT Dashboard Interop Dashboard
<!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 a third-party with an iframe.
// Step 5 (second window) Attempt to reset client hints in that iframe.
// Step 6 (second window) Navigate top frame to a page that can check client hints still sent.
// Step 7 (second window) Alert first window of client hints present.
// Step 8 (first window) Asserts client hints was present.
async_test(t => {
var new_window;
// Step 3
window.addEventListener("message", t.step_func(e => {
assert_equals(e.data, "HadDeviceMemory");
// Step 8
window.addEventListener("message", t.step_func(e => {
assert_equals(e.data, "HadDeviceMemory");
t.done();
}), {once: true});
// Step 4
new_window.location.href = "https://{{hosts[alt][]}}:{{ports[https][0]}}/client-hints/clear-site-data/resources/clear-site-data-iframe.sub.py?target=clientHints";
}), {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 clientHints in third-party context should not remove all client hints.");
</script>
</body>
</html>