Commit bfd6ddf8 authored by Hiroshige Hayashizaki's avatar Hiroshige Hayashizaki Committed by Commit Bot

[WPT/common/security-features] Update subresource and redirection type names

This CL removes `redirectionTypeConversion` and
`subresourceTypeConversion`, and uses the new names directly in
`common.sub.js`.

Bug: 906850
Change-Id: I634d29ffca00180b05af38fb312c0fdeebf25776
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1788544
Commit-Queue: Hiroshige Hayashizaki <hiroshige@chromium.org>
Reviewed-by: default avatarKenichi Ishibashi <bashi@chromium.org>
Reviewed-by: default avatarHiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#694153}
parent 285aef5c
...@@ -857,11 +857,11 @@ const subresourceMap = { ...@@ -857,11 +857,11 @@ const subresourceMap = {
path: "/common/security-features/subresource/audio.py", path: "/common/security-features/subresource/audio.py",
invoker: requestViaAudio, invoker: requestViaAudio,
}, },
"beacon-request": { "beacon": {
path: "/common/security-features/subresource/empty.py", path: "/common/security-features/subresource/empty.py",
invoker: requestViaSendBeacon, invoker: requestViaSendBeacon,
}, },
"fetch-request": { "fetch": {
path: "/common/security-features/subresource/xhr.py", path: "/common/security-features/subresource/xhr.py",
invoker: requestViaFetch, invoker: requestViaFetch,
}, },
...@@ -901,45 +901,40 @@ const subresourceMap = { ...@@ -901,45 +901,40 @@ const subresourceMap = {
path: "/common/security-features/subresource/video.py", path: "/common/security-features/subresource/video.py",
invoker: requestViaVideo, invoker: requestViaVideo,
}, },
"xhr-request": { "xhr": {
path: "/common/security-features/subresource/xhr.py", path: "/common/security-features/subresource/xhr.py",
invoker: requestViaXhr, invoker: requestViaXhr,
}, },
"worker-request": { "worker-classic": {
path: "/common/security-features/subresource/worker.py", path: "/common/security-features/subresource/worker.py",
invoker: url => requestViaDedicatedWorker(url), invoker: url => requestViaDedicatedWorker(url),
}, },
// TODO: Merge "module-worker" and "module-worker-top-level". "worker-module": {
"module-worker": {
path: "/common/security-features/subresource/worker.py", path: "/common/security-features/subresource/worker.py",
invoker: url => requestViaDedicatedWorker(url, {type: "module"}), invoker: url => requestViaDedicatedWorker(url, {type: "module"}),
}, },
"module-worker-top-level": { "worker-import-data": {
path: "/common/security-features/subresource/worker.py",
invoker: url => requestViaDedicatedWorker(url, {type: "module"}),
},
"module-data-worker-import": {
path: "/common/security-features/subresource/worker.py", path: "/common/security-features/subresource/worker.py",
invoker: url => invoker: url =>
requestViaDedicatedWorker(workerUrlThatImports(url), {type: "module"}), requestViaDedicatedWorker(workerUrlThatImports(url), {type: "module"}),
}, },
"shared-worker": { "sharedworker-classic": {
path: "/common/security-features/subresource/shared-worker.py", path: "/common/security-features/subresource/shared-worker.py",
invoker: requestViaSharedWorker, invoker: requestViaSharedWorker,
}, },
"websocket-request": { "websocket": {
path: "/stash_responder", path: "/stash_responder",
invoker: requestViaWebSocket, invoker: requestViaWebSocket,
}, },
}; };
for (const workletType of ['animation', 'audio', 'layout', 'paint']) { for (const workletType of ['animation', 'audio', 'layout', 'paint']) {
subresourceMap[`worklet-${workletType}-top-level`] = { subresourceMap[`worklet-${workletType}`] = {
path: "/common/security-features/subresource/worker.py", path: "/common/security-features/subresource/worker.py",
invoker: url => requestViaWorklet(workletType, url) invoker: url => requestViaWorklet(workletType, url)
}; };
subresourceMap[`worklet-${workletType}-data-import`] = { subresourceMap[`worklet-${workletType}-import-data`] = {
path: "/common/security-features/subresource/worker.py", path: "/common/security-features/subresource/worker.py",
invoker: url => invoker: url =>
requestViaWorklet(workletType, workerUrlThatImports(url)) requestViaWorklet(workletType, workerUrlThatImports(url))
......
...@@ -71,13 +71,13 @@ def preprocess_redirection(request, response): ...@@ -71,13 +71,13 @@ def preprocess_redirection(request, response):
if redirection == "no-redirect": if redirection == "no-redirect":
return False return False
elif redirection == "keep-scheme-redirect": elif redirection == "keep-scheme":
redirect_url = create_url(request, swap_scheme=False) redirect_url = create_url(request, swap_scheme=False)
elif redirection == "swap-scheme-redirect": elif redirection == "swap-scheme":
redirect_url = create_url(request, swap_scheme=True) redirect_url = create_url(request, swap_scheme=True)
elif redirection == "keep-origin-redirect": elif redirection == "keep-origin":
redirect_url = create_url(request, swap_origin=False) redirect_url = create_url(request, swap_origin=False)
elif redirection == "swap-origin-redirect": elif redirection == "swap-origin":
redirect_url = create_url(request, swap_origin=True) redirect_url = create_url(request, swap_origin=True)
else: else:
raise ValueError("Invalid redirection type '%s'" % redirection) raise ValueError("Invalid redirection type '%s'" % redirection)
......
...@@ -18,37 +18,9 @@ ...@@ -18,37 +18,9 @@
function TestCase(scenario, description, sanityChecker) { function TestCase(scenario, description, sanityChecker) {
sanityChecker.checkScenario(scenario, subresourceMap); sanityChecker.checkScenario(scenario, subresourceMap);
const redirectionTypeConversion = { const urls = getRequestURLs(scenario.subresource,
"no-redirect": "no-redirect",
"keep-scheme": "keep-scheme-redirect",
"swap-scheme": "swap-scheme-redirect",
"keep-origin": "keep-origin-redirect",
"swap-origin": "swap-origin-redirect"
};
const subresourceTypeConversion = {
"beacon": "beacon-request",
"fetch": "fetch-request",
"xhr": "xhr-request",
"websocket": "websocket-request",
"worker-classic": "worker-request",
"worker-module": "module-worker",
"worker-import-data": "module-data-worker-import",
"sharedworker-classic": "shared-worker",
"worklet-animation": "worklet-animation-top-level",
"worklet-audio": "worklet-audio-top-level",
"worklet-layout": "worklet-layout-top-level",
"worklet-paint": "worklet-paint-top-level",
"worklet-animation-import-data": "worklet-animation-data-import",
"worklet-audio-import-data": "worklet-audio-data-import",
"worklet-layout-import-data": "worklet-layout-data-import",
"worklet-paint-import-data": "worklet-paint-data-import"
};
const subresourceType =
subresourceTypeConversion[scenario.subresource] || scenario.subresource;
const urls = getRequestURLs(subresourceType,
scenario.origin, scenario.origin,
redirectionTypeConversion[scenario.redirection]); scenario.redirection);
const checkResult = _ => { const checkResult = _ => {
// Send request to check if the key has been torn down. // Send request to check if the key has been torn down.
return xhrRequest(urls.assertUrl) return xhrRequest(urls.assertUrl)
...@@ -63,7 +35,7 @@ function TestCase(scenario, description, sanityChecker) { ...@@ -63,7 +35,7 @@ function TestCase(scenario, description, sanityChecker) {
function runTest() { function runTest() {
/** @type {Subresource} */ /** @type {Subresource} */
const subresource = { const subresource = {
subresourceType: subresourceType, subresourceType: scenario.subresource,
url: urls.testUrl, url: urls.testUrl,
policyDeliveries: scenario.subresource_policy_deliveries, policyDeliveries: scenario.subresource_policy_deliveries,
}; };
......
...@@ -8,40 +8,13 @@ function stripUrlForUseAsReferrer(url) { ...@@ -8,40 +8,13 @@ function stripUrlForUseAsReferrer(url) {
} }
function invokeScenario(scenario) { function invokeScenario(scenario) {
const redirectionTypeConversion = {
"no-redirect": "no-redirect",
"keep-scheme": "keep-scheme-redirect",
"swap-scheme": "swap-scheme-redirect",
"keep-origin": "keep-origin-redirect",
"swap-origin": "swap-origin-redirect"
};
const subresourceTypeConversion = {
"beacon": "beacon-request",
"fetch": "fetch-request",
"xhr": "xhr-request",
"websocket": "websocket-request",
"worker-classic": "worker-request",
"worker-module": "module-worker",
"worker-import-data": "module-data-worker-import",
"sharedworker-classic": "shared-worker",
"worklet-animation": "worklet-animation-top-level",
"worklet-audio": "worklet-audio-top-level",
"worklet-layout": "worklet-layout-top-level",
"worklet-paint": "worklet-paint-top-level",
"worklet-animation-import-data": "worklet-animation-data-import",
"worklet-audio-import-data": "worklet-audio-data-import",
"worklet-layout-import-data": "worklet-layout-data-import",
"worklet-paint-import-data": "worklet-paint-data-import"
};
const subresourceType =
subresourceTypeConversion[scenario.subresource] || scenario.subresource;
const urls = getRequestURLs( const urls = getRequestURLs(
subresourceType, scenario.subresource,
scenario.origin, scenario.origin,
redirectionTypeConversion[scenario.redirection]); scenario.redirection);
/** @type {Subresource} */ /** @type {Subresource} */
const subresource = { const subresource = {
subresourceType: subresourceType, subresourceType: scenario.subresource,
url: urls.testUrl, url: urls.testUrl,
policyDeliveries: scenario.subresource_policy_deliveries, policyDeliveries: scenario.subresource_policy_deliveries,
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment