PlzWorker: Make ServiceWorkerProviderHost execution-ready when browser-side shared worker script fetch is done |
||
Issue descriptionServiceWorkerProviderHost::CompleteSharedWorkerPreparation() is never called when PlzWorker for shared workers is enabled because script loading is handed over from the browser process to the render process before it's called from SharedWorkerScriptLoader::OnComplete(). Looks like this prevents from updating Service Worker controller and use counters. See ServiceWorkerProviderHost::UpdateController() for example.
,
Oct 31
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9996ac8918c962212f2bac8dadfb3b250cb50c61 commit 9996ac8918c962212f2bac8dadfb3b250cb50c61 Author: Hiroki Nakagawa <nhiroki@chromium.org> Date: Wed Oct 31 05:41:12 2018 ServiceWorker: Modernize http/tests/serviceworker/usecounter.html using async/await etc This is a mechanical cleanup CL for making it easier to add new use counter tests. Bug: 900444 Change-Id: Ib8d3c708c0f6ed1fd00b00bbcc9e873097cccd64 Reviewed-on: https://chromium-review.googlesource.com/c/1308240 Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org> Reviewed-by: Matt Falkenhagen <falken@chromium.org> Cr-Commit-Position: refs/heads/master@{#604166} [modify] https://crrev.com/9996ac8918c962212f2bac8dadfb3b250cb50c61/third_party/WebKit/LayoutTests/http/tests/serviceworker/usecounter.html
,
Nov 3
Reg c#2, looks like use counter propagation from service workers to controlled dedicated workers and shared workers hasn't been working regardless of PlzWorker. See issue 901609 for details.
,
Nov 6
Hmmm... seemingly I misunderstood the behavior. > ServiceWorkerProviderHost::CompleteSharedWorkerPreparation() is never called when PlzWorker for shared workers is enabled because script loading is handed over from the browser process to the render process before it's called from SharedWorkerScriptLoader::OnComplete(). SharedWorkerScriptLoader::OnComplete() is called even after script loading is handed over, while SharedWorkerScriptFetcher::OnComplete() is never called. Therefore, the provider host for a shared worker correctly gets execution-ready. I confirmed this by adding CHECKs in ServiceWorkerProviderHost::CompleteSharedWorkerPreparation().
,
Nov 6
Based on the observation (c#4), let me close this issue... |
||
►
Sign in to add a comment |
||
Comment 1 by nhiroki@google.com
, Oct 31