32 lines
1.1 KiB
JavaScript
32 lines
1.1 KiB
JavaScript
// META: script=/resources/testdriver.js
|
|
// META: script=/resources/testdriver-vendor.js
|
|
|
|
'use strict';
|
|
|
|
// Spec: https://explainers-by-googlers.github.io/partitioned-popins/
|
|
// Step 1 (window) Set up listener to resolve messages as they come in.
|
|
// Step 2 (window) Open popin.
|
|
// Step 3 (popin) Record header and do HTTP redirect.
|
|
// Step 4 (popin) Record header and do JS redirect.
|
|
// Step 5 (popin) Record header.
|
|
// Step 6 (popin) Do fetch.
|
|
// Step 7 (popin-fetch) Record header.
|
|
// Step 8 (popin) Open iframe.
|
|
// Step 9 (popin-iframe) Record header and send message.
|
|
// Step 10 (window) Cleanup.
|
|
|
|
async_test(t => {
|
|
// Step 1
|
|
window.addEventListener("message", t.step_func(e => {
|
|
switch (e.data.type) {
|
|
case 'popin':
|
|
// Step 10
|
|
assert_equals(e.data.message, "Initial(partitioned)-HTTP(partitioned)-JS(partitioned)-fetch(missing)-iframe(missing)-");
|
|
t.done();
|
|
break;
|
|
}
|
|
}));
|
|
|
|
// Step 2
|
|
window.open("/partitioned-popins/resources/partitioned-popins.request-header.initial.py", '_blank', 'popin');
|
|
}, "Verify Request Header seen on all popin navigations/redirects");
|