From af915520cc0da850f5031cdfb5172657ab7091a4 Mon Sep 17 00:00:00 2001 From: Yoshisato Yanagisawa Date: Thu, 7 Nov 2024 17:18:04 -0800 Subject: [PATCH] Move Chromium implementation specific WPT. The specification does not define the maximum depth/width. However, the current WPT limit them. Let me move such WPTs to Chromium specific locations. In the coming CL, I will also write the WPT to ask the minimum depth/width as a response to: https://github.com/w3c/ServiceWorker/pull/1714 Change-Id: I722667fbdc69aed32d8fa66d3e17050bf33c480a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5999015 Reviewed-by: Keita Suzuki Reviewed-by: Shunya Shishido Commit-Queue: Yoshisato Yanagisawa Cr-Commit-Position: refs/heads/main@{#1380071} --- .../service-worker/resources/router-rules.js | 31 ------------------- .../static-router-invalid-rules.https.html | 27 ---------------- 2 files changed, 58 deletions(-) diff --git a/service-workers/service-worker/resources/router-rules.js b/service-workers/service-worker/resources/router-rules.js index fdc1c9e0637870..71c09e7079cce0 100644 --- a/service-workers/service-worker/resources/router-rules.js +++ b/service-workers/service-worker/resources/router-rules.js @@ -1,7 +1,4 @@ const TEST_CACHE_NAME = 'v1'; -// The value is coming from: -// https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/public/common/service_worker/service_worker_router_rule.h;l=28;drc=6f3f85b321146cfc0f9eb81a74c7c2257821461e -const CONDITION_MAX_RECURSION_DEPTH = 10; const routerRules = { 'condition-urlpattern-constructed-source-network': [{ @@ -60,34 +57,6 @@ const routerRules = { condition: {requestMethod: String.fromCodePoint(0x3042)}, source: 'network' }], - 'condition-invalid-or-condition-depth': (() => { - const addOrCondition = (depth) => { - if (depth > CONDITION_MAX_RECURSION_DEPTH) { - return {urlPattern: '/foo'}; - } - return { - or: [addOrCondition(depth + 1)] - }; - }; - return {condition: addOrCondition(1), source: 'network'}; - })(), - 'condition-invalid-not-condition-depth': (() => { - const generateNotCondition = (depth) => { - if (depth > CONDITION_MAX_RECURSION_DEPTH) { - return { - urlPattern: '/**/example.txt', - }; - } - return {not: generateNotCondition(depth + 1)}; - }; - return {condition: generateNotCondition(1), source: 'network'}; - })(), - 'condition-invalid-router-size': [...Array(512)].map((val, i) => { - return { - condition: {urlPattern: `/foo-${i}`}, - source: 'network' - }; - }), 'condition-request-destination-script-network': [{condition: {requestDestination: 'script'}, source: 'network'}], 'condition-or-source-network': [{ diff --git a/service-workers/service-worker/static-router-invalid-rules.https.html b/service-workers/service-worker/static-router-invalid-rules.https.html index 15b8ef5742d7d9..05f39f2c9dce40 100644 --- a/service-workers/service-worker/static-router-invalid-rules.https.html +++ b/service-workers/service-worker/static-router-invalid-rules.https.html @@ -15,12 +15,6 @@ const ROUTER_RULE_KEY_INVALID_REQUEST_METHOD = 'condition-invalid-request-method'; -const ROUTER_RULE_KEY_INVALID_OR_CONDITION_DEPTH = - 'condition-invalid-or-condition-depth'; -const ROUTER_RULE_KEY_INVALID_NOT_CONDITION_DEPTH = - 'condition-invalid-not-condition-depth'; -const ROUTER_RULE_KEY_INVALID_ROUTER_SIZE = - 'condition-invalid-router-size'; const ROUTER_RULE_KEY_LACK_OF_CONDITION = 'condition-lack-of-condition'; const ROUTER_RULE_KEY_LACK_OF_SOURCE = @@ -33,27 +27,6 @@ assert_equals(errors.length, 1); }, 'addRoutes should raise for invalid request method.'); -promise_test(async t => { - const worker = await registerAndActivate(t, ROUTER_RULE_KEY_INVALID_OR_CONDITION_DEPTH); - t.add_cleanup(() => {reset_info_in_worker(worker)}); - const {errors} = await get_info_from_worker(worker); - assert_equals(errors.length, 1); -}, 'addRoutes should raise if or condition exceeds the depth limit'); - -promise_test(async t => { - const worker = await registerAndActivate(t, ROUTER_RULE_KEY_INVALID_NOT_CONDITION_DEPTH); - t.add_cleanup(() => {reset_info_in_worker(worker)}); - const {errors} = await get_info_from_worker(worker); - assert_equals(errors.length, 1); -}, 'addRoutes should raise if not condition exceeds the depth limit'); - -promise_test(async t => { - const worker = await registerAndActivate(t, ROUTER_RULE_KEY_INVALID_ROUTER_SIZE); - t.add_cleanup(() => {reset_info_in_worker(worker)}); - const {errors} = await get_info_from_worker(worker); - assert_equals(errors.length, 1); -}, 'addRoutes should raise if the number of router rules exceeds the length limit'); - promise_test(async t => { const worker = await registerAndActivate(t, ROUTER_RULE_KEY_LACK_OF_CONDITION); t.add_cleanup(() => {reset_info_in_worker(worker)});