Update web-platform-tests to revision be5419e845d39089ba6dc338c1bd0fa279108317

This commit is contained in:
Josh Matthews 2018-01-04 13:44:24 -05:00
parent aa199307c8
commit 2b6f573eb5
3440 changed files with 109438 additions and 41750 deletions

View file

@ -9,88 +9,163 @@ function openWindow(url) {
});
}
// Run a referrer policy test with the given settings.
//
// Example:
// settings = {
// workletType: 'paint',
// fetchType: 'top-level' or 'descendant',
// referrerPolicy: 'no-referrer',
// scriptsOrigins: { topLevel: 'same', descendant: 'remote' }
// };
function runReferrerTest(settings) {
const kWindowURL =
'resources/referrer-window.html' +
`?pipe=header(Referrer-Policy, ${settings.referrerPolicy})`;
return openWindow(kWindowURL).then(win => {
const promise = new Promise(resolve => window.onmessage = resolve);
win.postMessage(settings, '*');
return promise;
}).then(msg_event => assert_equals(msg_event.data, 'RESOLVED'));
}
// Runs a series of tests related to the referrer policy on a worklet.
//
// Usage:
// runReferrerTests("paint");
function runReferrerTests(worklet_type) {
const worklet = get_worklet(worklet_type);
function runReferrerTests(workletType) {
const worklet = get_worklet(workletType);
// Tests for top-level script fetch -----------------------------------------
promise_test(() => {
const kWindowURL = "resources/referrer-window.html" +
"?pipe=header(Referrer-Policy,no-referrer)";
return openWindow(kWindowURL).then(win => {
const promise = new Promise(resolve => window.onmessage = resolve);
win.postMessage({ type: worklet_type,
referrer_policy: 'no-referrer',
is_cross_origin: false }, '*');
return promise;
}).then(msg_event => assert_equals(msg_event.data, 'RESOLVED'));
return runReferrerTest({ workletType: workletType,
fetchType: 'top-level',
referrerPolicy: 'no-referrer',
scriptOrigins: { topLevel: 'same' } });
}, 'Importing a same-origin script from a page that has "no-referrer" ' +
'referrer policy should not send referrer.');
promise_test(() => {
const kWindowURL = "resources/referrer-window.html" +
"?pipe=header(Referrer-Policy,no-referrer)";
return openWindow(kWindowURL).then(win => {
const promise = new Promise(resolve => window.onmessage = resolve);
win.postMessage({ type: worklet_type,
referrer_policy: 'no-referrer',
is_cross_origin: true }, '*');
return promise;
}).then(msg_event => assert_equals(msg_event.data, 'RESOLVED'));
return runReferrerTest({ workletType: workletType,
fetchType: 'top-level',
referrerPolicy: 'no-referrer',
scriptOrigins: { topLevel: 'remote' } });
}, 'Importing a remote-origin script from a page that has "no-referrer" ' +
'referrer policy should not send referrer.');
promise_test(() => {
const kWindowURL = 'resources/referrer-window.html' +
'?pipe=header(Referrer-Policy,origin)';
return openWindow(kWindowURL).then(win => {
const promise = new Promise(resolve => window.onmessage = resolve);
win.postMessage({ type: worklet_type,
referrer_policy: 'origin',
is_cross_origin: false }, '*');
return promise;
}).then(msg_event => assert_equals(msg_event.data, 'RESOLVED'));
return runReferrerTest({ workletType: workletType,
fetchType: 'top-level',
referrerPolicy: 'origin',
scriptOrigins: { topLevel: 'same' } });
}, 'Importing a same-origin script from a page that has "origin" ' +
'referrer policy should send only an origin as referrer.');
promise_test(() => {
const kWindowURL = 'resources/referrer-window.html' +
'?pipe=header(Referrer-Policy,origin)';
return openWindow(kWindowURL).then(win => {
const promise = new Promise(resolve => window.onmessage = resolve);
win.postMessage({ type: worklet_type,
referrer_policy: 'origin',
is_cross_origin: true }, '*');
return promise;
}).then(msg_event => assert_equals(msg_event.data, 'RESOLVED'));
return runReferrerTest({ workletType: workletType,
fetchType: 'top-level',
referrerPolicy: 'origin',
scriptOrigins: { topLevel: 'remote' } });
}, 'Importing a remote-origin script from a page that has "origin" ' +
'referrer policy should send only an origin as referrer.');
promise_test(() => {
const kWindowURL = 'resources/referrer-window.html' +
'?pipe=header(Referrer-Policy,same-origin)';
return openWindow(kWindowURL).then(win => {
const promise = new Promise(resolve => window.onmessage = resolve);
win.postMessage({ type: worklet_type,
referrer_policy: 'same-origin',
is_cross_origin: false }, '*');
return promise;
}).then(msg_event => assert_equals(msg_event.data, 'RESOLVED'));
return runReferrerTest({ workletType: workletType,
fetchType: 'top-level',
referrerPolicy: 'same-origin',
scriptOrigins: { topLevel: 'same' } });
}, 'Importing a same-origin script from a page that has "same-origin" ' +
'referrer policy should send referrer.');
promise_test(() => {
const kWindowURL = 'resources/referrer-window.html' +
'?pipe=header(Referrer-Policy,same-origin)';
return openWindow(kWindowURL).then(win => {
const promise = new Promise(resolve => window.onmessage = resolve);
win.postMessage({ type: worklet_type,
referrer_policy: 'same-origin',
is_cross_origin: true }, '*');
return promise;
}).then(msg_event => assert_equals(msg_event.data, 'RESOLVED'));
return runReferrerTest({ workletType: workletType,
fetchType: 'top-level',
referrerPolicy: 'same-origin',
scriptOrigins: { topLevel: 'remote' } });
}, 'Importing a remote-origin script from a page that has "same-origin" ' +
'referrer policy should not send referrer.');
// Tests for descendant script fetch -----------------------------------------
promise_test(() => {
return runReferrerTest({ workletType: workletType,
fetchType: 'descendant',
referrerPolicy: 'no-referrer',
scriptOrigins: { topLevel: 'same',
descendant: 'same' } });
}, 'Importing a same-origin script from a same-origin worklet script that ' +
'has "no-referrer" referrer policy should not send referrer.');
promise_test(() => {
return runReferrerTest({ workletType: workletType,
fetchType: 'descendant',
referrerPolicy: 'no-referrer',
scriptOrigins: { topLevel: 'same',
descendant: 'remote' } });
}, 'Importing a remote-origin script from a same-origin worklet script ' +
'that has "no-referrer" referrer policy should not send referrer.');
promise_test(() => {
return runReferrerTest({ workletType: workletType,
fetchType: 'descendant',
referrerPolicy: 'no-referrer',
scriptOrigins: { topLevel: 'remote',
descendant: 'remote' } });
}, 'Importing a remote-origin script from a remote-origin worklet script ' +
'that has "no-referrer" referrer policy should not send referrer.');
promise_test(() => {
return runReferrerTest({ workletType: workletType,
fetchType: 'descendant',
referrerPolicy: 'origin',
scriptOrigins: { topLevel: 'same',
descendant: 'same' } });
}, 'Importing a same-origin script from a same-origin worklet script that ' +
'has "origin" referrer policy should send referrer.');
promise_test(() => {
return runReferrerTest({ workletType: workletType,
fetchType: 'descendant',
referrerPolicy: 'origin',
scriptOrigins: { topLevel: 'same',
descendant: 'remote' } });
}, 'Importing a remote-origin script from a same-origin worklet script ' +
'that has "origin" referrer policy should send referrer.');
promise_test(() => {
return runReferrerTest({ workletType: workletType,
fetchType: 'descendant',
referrerPolicy: 'origin',
scriptOrigins: { topLevel: 'remote',
descendant: 'remote' } });
}, 'Importing a remote-origin script from a remote-origin worklet script ' +
'that has "origin" referrer policy should send referrer.');
promise_test(() => {
return runReferrerTest({ workletType: workletType,
fetchType: 'descendant',
referrerPolicy: 'same-origin',
scriptOrigins: { topLevel: 'same',
descendant: 'same' } });
}, 'Importing a same-origin script from a same-origin worklet script that ' +
'has "same-origin" referrer policy should send referrer.');
promise_test(() => {
return runReferrerTest({ workletType: workletType,
fetchType: 'descendant',
referrerPolicy: 'same-origin',
scriptOrigins: { topLevel: 'same',
descendant: 'remote' } });
}, 'Importing a remote-origin script from a same-origin worklet script ' +
'that has "same-origin" referrer policy should not send referrer.');
promise_test(() => {
return runReferrerTest({ workletType: workletType,
fetchType: 'descendant',
referrerPolicy: 'same-origin',
scriptOrigins: { topLevel: 'remote',
descendant: 'remote' } });
}, 'Importing a remote-origin script from a remote-origin worklet script ' +
'that has "same-origin" referrer policy should not send referrer.');
}