Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better integration of Service Worker and Subresource Web Bundle loading #676

Closed
horo-t opened this issue Sep 8, 2021 · 2 comments · Fixed by #743
Closed

Better integration of Service Worker and Subresource Web Bundle loading #676

horo-t opened this issue Sep 8, 2021 · 2 comments · Fixed by #743

Comments

@horo-t
Copy link
Collaborator

horo-t commented Sep 8, 2021

The explainer of "Subresource loading with Web Bundles" doesn't address the expected behavior of the service worker fetch interception.
And in the current Chromium implementation, if the service worker of the page intercepts the web bundle request, the subsequent subresource requests can’t be served from the web bundle.

As a short term solution, this CL https://crrev.com/c/3145076 sets the SkipServiceWorker flag of the both requests. So the inner subresource can be served from the web bundle.

As a long term solution, we need to figure out the ideal design of the service worker integration. And we need to introduce an option argument {skip_service_worker: false (default is true)}.

Chromium side issue: https://crbug.com/1240424

chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Sep 8, 2021
The explainer of "Subresource loading with Web Bundles" [*] doesn't
address the expected behavior of the service worker fetch interception.
And in the current implementation, if the service worker of the page
intercepts the web bundle request, the subsequent subresource requests
can’t be served from the web bundle.

As a short term solution, this CL sets the SkipServiceWorker flag of
the both requests. So the inner subresource can be served from the web
bundle.

As a long term solution, we need to figure out the ideal design of the
service worker integration. And we need to introduce an option argument
{skip_service_worker: false (default is true)} in future.

But as of now, we don’t have any good use case of the service worker
integration. So I think it is OK to land this short term solution.

[*] https://github.com/WICG/webpackage/blob/main/explainers/subresource-loading.md

Bug: 1240424, WICG/webpackage#676
Change-Id: I230daf58da72ecfa83b1756616a8a0697144acac
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Sep 8, 2021
The explainer of "Subresource loading with Web Bundles" [*] doesn't
address the expected behavior of the service worker fetch interception.
And in the current implementation, if the service worker of the page
intercepts the web bundle request, the subsequent subresource requests
can’t be served from the web bundle.

As a short term solution, this CL sets the SkipServiceWorker flag of
the both requests. So the inner subresource can be served from the web
bundle.

As a long term solution, we need to figure out the ideal design of the
service worker integration. And we need to introduce an option argument
{skip_service_worker: false (default is true)} in future.

But as of now, we don’t have any good use case of the service worker
integration. So I think it is OK to land this short term solution.

[*] https://github.com/WICG/webpackage/blob/main/explainers/subresource-loading.md

Bug: 1240424, WICG/webpackage#676
Change-Id: I230daf58da72ecfa83b1756616a8a0697144acac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3145076
Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
Cr-Commit-Position: refs/heads/main@{#919201}
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Sep 8, 2021
The explainer of "Subresource loading with Web Bundles" [*] doesn't
address the expected behavior of the service worker fetch interception.
And in the current implementation, if the service worker of the page
intercepts the web bundle request, the subsequent subresource requests
can’t be served from the web bundle.

As a short term solution, this CL sets the SkipServiceWorker flag of
the both requests. So the inner subresource can be served from the web
bundle.

As a long term solution, we need to figure out the ideal design of the
service worker integration. And we need to introduce an option argument
{skip_service_worker: false (default is true)} in future.

But as of now, we don’t have any good use case of the service worker
integration. So I think it is OK to land this short term solution.

[*] https://github.com/WICG/webpackage/blob/main/explainers/subresource-loading.md

Bug: 1240424, WICG/webpackage#676
Change-Id: I230daf58da72ecfa83b1756616a8a0697144acac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3145076
Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
Cr-Commit-Position: refs/heads/main@{#919201}
blueboxd pushed a commit to blueboxd/chromium-legacy that referenced this issue Sep 8, 2021
The explainer of "Subresource loading with Web Bundles" [*] doesn't
address the expected behavior of the service worker fetch interception.
And in the current implementation, if the service worker of the page
intercepts the web bundle request, the subsequent subresource requests
can’t be served from the web bundle.

As a short term solution, this CL sets the SkipServiceWorker flag of
the both requests. So the inner subresource can be served from the web
bundle.

As a long term solution, we need to figure out the ideal design of the
service worker integration. And we need to introduce an option argument
{skip_service_worker: false (default is true)} in future.

But as of now, we don’t have any good use case of the service worker
integration. So I think it is OK to land this short term solution.


[*] https://github.com/WICG/webpackage/blob/main/explainers/subresource-loading.md

Bug: 1240424, WICG/webpackage#676
Change-Id: I230daf58da72ecfa83b1756616a8a0697144acac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3145076
Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
Cr-Commit-Position: refs/heads/main@{#919201}
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this issue Sep 22, 2021
…e requests skip Service Worker, a=testonly

Automatic update from web-platform-tests
Make web bundle and the inner subresource requests skip Service Worker

The explainer of "Subresource loading with Web Bundles" [*] doesn't
address the expected behavior of the service worker fetch interception.
And in the current implementation, if the service worker of the page
intercepts the web bundle request, the subsequent subresource requests
can’t be served from the web bundle.

As a short term solution, this CL sets the SkipServiceWorker flag of
the both requests. So the inner subresource can be served from the web
bundle.

As a long term solution, we need to figure out the ideal design of the
service worker integration. And we need to introduce an option argument
{skip_service_worker: false (default is true)} in future.

But as of now, we don’t have any good use case of the service worker
integration. So I think it is OK to land this short term solution.

[*] https://github.com/WICG/webpackage/blob/main/explainers/subresource-loading.md

Bug: 1240424, WICG/webpackage#676
Change-Id: I230daf58da72ecfa83b1756616a8a0697144acac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3145076
Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
Cr-Commit-Position: refs/heads/main@{#919201}

--

wpt-commits: 5f858a5d7855733bd9b91cd80cb21728c3fcb6e0
wpt-pr: 30390
aosmond pushed a commit to aosmond/gecko that referenced this issue Sep 24, 2021
…e requests skip Service Worker, a=testonly

Automatic update from web-platform-tests
Make web bundle and the inner subresource requests skip Service Worker

The explainer of "Subresource loading with Web Bundles" [*] doesn't
address the expected behavior of the service worker fetch interception.
And in the current implementation, if the service worker of the page
intercepts the web bundle request, the subsequent subresource requests
can’t be served from the web bundle.

As a short term solution, this CL sets the SkipServiceWorker flag of
the both requests. So the inner subresource can be served from the web
bundle.

As a long term solution, we need to figure out the ideal design of the
service worker integration. And we need to introduce an option argument
{skip_service_worker: false (default is true)} in future.

But as of now, we don’t have any good use case of the service worker
integration. So I think it is OK to land this short term solution.

[*] https://github.com/WICG/webpackage/blob/main/explainers/subresource-loading.md

Bug: 1240424, WICG/webpackage#676
Change-Id: I230daf58da72ecfa83b1756616a8a0697144acac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3145076
Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
Cr-Commit-Position: refs/heads/main@{#919201}

--

wpt-commits: 5f858a5d7855733bd9b91cd80cb21728c3fcb6e0
wpt-pr: 30390
Gabisampaio pushed a commit to Gabisampaio/wpt that referenced this issue Nov 18, 2021
The explainer of "Subresource loading with Web Bundles" [*] doesn't
address the expected behavior of the service worker fetch interception.
And in the current implementation, if the service worker of the page
intercepts the web bundle request, the subsequent subresource requests
can’t be served from the web bundle.

As a short term solution, this CL sets the SkipServiceWorker flag of
the both requests. So the inner subresource can be served from the web
bundle.

As a long term solution, we need to figure out the ideal design of the
service worker integration. And we need to introduce an option argument
{skip_service_worker: false (default is true)} in future.

But as of now, we don’t have any good use case of the service worker
integration. So I think it is OK to land this short term solution.

[*] https://github.com/WICG/webpackage/blob/main/explainers/subresource-loading.md

Bug: 1240424, WICG/webpackage#676
Change-Id: I230daf58da72ecfa83b1756616a8a0697144acac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3145076
Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
Cr-Commit-Position: refs/heads/main@{#919201}
@hayatoito
Copy link
Collaborator

Tagging a meta issue #708 here.
We have to specify {skip_service_worker: false (default is true)} in the spec.

hayatoito added a commit to hayatoito/webpackage that referenced this issue May 16, 2022
hayatoito added a commit that referenced this issue May 16, 2022
github-actions bot added a commit that referenced this issue May 16, 2022
SHA: e8506a5
Reason: push, by @hayatoito

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@hayatoito
Copy link
Collaborator

Note: We are closing this issue with PR #743, however, it's worth mentioning that it is a short term solution.

We can re-open this issue anytime when we need to revisit this issue. Please feel free to re-open this!

github-actions bot added a commit that referenced this issue Jun 13, 2022
SHA: e8506a5
Reason: push, by @hayatoito

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
mjfroman pushed a commit to mjfroman/moz-libwebrtc-third-party that referenced this issue Oct 14, 2022
The explainer of "Subresource loading with Web Bundles" [*] doesn't
address the expected behavior of the service worker fetch interception.
And in the current implementation, if the service worker of the page
intercepts the web bundle request, the subsequent subresource requests
can’t be served from the web bundle.

As a short term solution, this CL sets the SkipServiceWorker flag of
the both requests. So the inner subresource can be served from the web
bundle.

As a long term solution, we need to figure out the ideal design of the
service worker integration. And we need to introduce an option argument
{skip_service_worker: false (default is true)} in future.

But as of now, we don’t have any good use case of the service worker
integration. So I think it is OK to land this short term solution.

[*] https://github.com/WICG/webpackage/blob/main/explainers/subresource-loading.md

Bug: 1240424, WICG/webpackage#676
Change-Id: I230daf58da72ecfa83b1756616a8a0697144acac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3145076
Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
Cr-Commit-Position: refs/heads/main@{#919201}
NOKEYCHECK=True
GitOrigin-RevId: 0c6d4f9607924d0e6891627e72c73173fb679615
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
2 participants