New issue
Advanced search Search tips

Issue 796819 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug
Proj-Servicification

Blocking:
issue 715640



Sign in to add a comment

S13nServiceWorker: Support SharedWorker

Project Member Reported by kinuko@chromium.org, Dec 21 2017

Issue description

Currently all fetch requests on SW controlled shared workers directly go to network.

(The corresponding bug for dedicated workers was:  issue 776277 )
 

Comment 1 by kinuko@chromium.org, Dec 21 2017

Components: Blink>ServiceWorker Internals>Services>Network

Comment 2 by horo@chromium.org, Jan 17 2018

Now we have ControllerServiceWorkerInfo (crrev.com/c/742961). So I think we can implement S13nServiceWorker for SharedWorker like this:

  1. Add the logic of finding matching Service Worker registration in SharedWorkerServiceImpl::CreateWorker()
  2. Create ControllerServiceWorkerInfo and send it via SharedWorkerFactory::CreateSharedWorker() Mojo IPC from in SharedWorkerHost::Start().
  3. Change ServiceWorkerNetworkProvider::CreateForSharedWorker():
    - Use the ControllerServiceWorkerInfo which was passed from the browser process via the Mojo IPC.
    - Call RendererBlinkPlatformImpl::CreateDefaultURLLoaderFactoryGetter() to get the default_loader_factory_getter.

Comment 3 by falken@chromium.org, Mar 14 2018

Cc: -falken@chromium.org
Owner: falken@chromium.org
Status: Started (was: Available)
I'm interested in this esp as most failing tests seem to do with shared workers.

Comment 4 by falken@chromium.org, Mar 19 2018

I think a couple things might require more work here to be complete:

- Redirects. If we decide the controller in SharedWorkerServiceImpl::CreateWorker, we'd only use the initial request URL. But the current non-S13nSW code lookups the matching service worker at each redirect URL.

- Races between the controller service worker and newly registered service workers. Ignoring redirects, if we decide the controller in SharedWorkerServiceImpl::CreateWorker, it's possible a new worker becomes active in that time and kicks out the worker that's handling this request. We basically need this worker to be set as having a controllee before the provider host for the shared worker is created. So I think we'll need to precreate a provider host similar to what PlzNavigate does on navigations.

I also don't know how to handle both service worker and AppCache.

I have a basic test site about redirects at https://sw-shared-worker.glitch.me/

Looking into requirements and implementation convenience.

Comment 5 by falken@chromium.org, Mar 19 2018

Raised a spec issue: https://github.com/w3c/ServiceWorker/issues/1289

Comment 6 by falken@chromium.org, Mar 20 2018

Is it possible to make the URLLoaderClient passed to URLLoaderFactory::CreateLoaderAndStart() be associated with another interface?

Rough design I'm playing with now:
1. (Browser IO thread) SharedWorkerHost precreates a ServiceWorkerProviderHost and creates a SharedWorkerScriptURLLoaderFactory hooked up to the host. Passes the provider id and url loader factory to the renderer.
2. (Renderer main thread) Creates the ServiceWorkerNetworkProvider which connects the renderer to the browser ServiceWorkerProviderHost.
3. (Renderer main thread) Makes the URL request via the url loader factory.
4. (Browser IO thread) SharedWorkerScriptURLLoaderFactory creates a URLLoader for fetching the script. On each request it looks up if there's a service worker and if so calls ServiceWorkerProviderHost::AssociateRegistration to set the controller before returning the response. Redirects are reported to Blink so it can decide whether to follow or not since it's doing some security checks there currently (however, it's probably not needed due to same-origin restriction of workers). Any redirects are expected to be followed, and the URLLoader looks up the service worker registration again.

On the renderer-side, I need to somehow make URLLoaderClient for the script load and ServiceWorkerContainer/ServiceWorkerProviderContext for the shared worker be associated to ensure the SetController messages get received before the script response arrives. I'm not sure that's possible.
Project Member

Comment 7 by bugdroid1@chromium.org, Apr 6 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f3236937899dee4fa84a0d86fce51d26109303e9

commit f3236937899dee4fa84a0d86fce51d26109303e9
Author: Matt Falkenhagen <falken@chromium.org>
Date: Fri Apr 06 11:25:36 2018

S13nServiceWorker: Support shared worker.

This adds support for:
* Service worker intercepting the main script request for a shared
worker.
* Service worker intercepting subresource requests from a shared
worker (i.e., importScripts, fetch/xhr).

These tests now pass:
external/wpt/service-workers/service-worker/claim-shared-worker-fetch.https.html
external/wpt/service-workers/service-worker/shared-worker-controlled.https.html

Here is the basic flow:

1) Renderer (Main): calls new SharedWorker()

2) Browser (UI): SharedWorkerServiceImpl starts preparing the shared worker.

3) Browser (IO): With this patch, here we create the
ServiceWorkerProviderHost for the shared worker, and
SharedWorkerScriptLoaderFactory (a URLLoaderFactory subclass) for
loading the main script.

4) Renderer (Main): SharedWorkerFactory::Start is called by the
browser. The URLLoaderFactory and provider host info are passed into it.
It starts the shared worker, creating the shadow page and
ServiceWorkerNetworkProvider. The network provider
uses the browser-assigned provider_id. The shared worker uses
the URLLoaderFactory to load the main script, via
WebServiceWorkerNetworkProviderForSharedWorker::CreateURLLoader.

5) Browser (IO): SharedWorkerScriptLoaderFactory creates a
SharedWorkerScriptLoader for the request. This loader behaves like
NavigationURLLoaderNetworkService: it allows
ServiceWorkerControlleeRequestHandler to interept the request (setting
the controller and dispatching a fetch event), or goes to network.  On
redirects, it repeats for the new URL.

6) Renderer (Worker): After the worker starts up, it can make requests
using importScripts() or fetch/xhr. importScripts() go to the main
thread's WebServiceWorkerNetworkProviderForSharedWorker::CreateURLLoader
like before, which forwards the request to the controller. fetch/xhr go
through off-main-thread fetch, which also forwards the request to the
controller.

Unlike navigations, this doesn't pass SubresourceLoaderParams along with
the response. This means the controller info (sent via the SetController
IPC) can be received after the script response. To guarantee the
controller info is received before starting the worker, a ping/pong to
the ServiceWorkerContainerHost interface is performed after the script
is received. Once the pong is
received, we know the SetController IPC must have been received, so we
can continue starting the worker.

Design doc:
https://docs.google.com/document/d/1KuzxwHMSgj4w-QH6f_Ks1QFcGjM36mEomGp6X-T3tqc/edit?usp=sharing

Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
Change-Id: Ia064cd694a41491cf4023202e44e96dba759e969
Bug:  796819 
Reviewed-on: https://chromium-review.googlesource.com/981845
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548739}
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/browser/BUILD.gn
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/browser/service_worker/service_worker_context_core.cc
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/browser/service_worker/service_worker_context_core.h
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/browser/service_worker/service_worker_context_wrapper.cc
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/browser/service_worker/service_worker_context_wrapper.h
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/browser/service_worker/service_worker_navigation_loader.cc
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/browser/service_worker/service_worker_navigation_loader.h
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/browser/service_worker/service_worker_provider_host.cc
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/browser/service_worker/service_worker_provider_host.h
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/browser/service_worker/service_worker_provider_host_unittest.cc
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/browser/service_worker/service_worker_register_job.cc
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/browser/service_worker/service_worker_registration.cc
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/browser/service_worker/service_worker_request_handler.cc
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/browser/service_worker/service_worker_request_handler.h
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/browser/shared_worker/shared_worker_host.cc
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/browser/shared_worker/shared_worker_host.h
[add] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/browser/shared_worker/shared_worker_script_loader.cc
[add] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/browser/shared_worker/shared_worker_script_loader.h
[add] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/browser/shared_worker/shared_worker_script_loader_factory.cc
[add] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/browser/shared_worker/shared_worker_script_loader_factory.h
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/browser/shared_worker/shared_worker_service_impl.cc
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/browser/shared_worker/shared_worker_service_impl.h
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/browser/shared_worker/shared_worker_service_impl_unittest.cc
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/browser/storage_partition_impl.cc
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/common/service_worker/service_worker_container.mojom
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/common/service_worker/service_worker_provider.mojom
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/common/shared_worker/shared_worker_factory.mojom
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/renderer/service_worker/service_worker_network_provider.cc
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/renderer/service_worker/service_worker_network_provider.h
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/renderer/service_worker/service_worker_provider_context.cc
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/renderer/service_worker/service_worker_provider_context.h
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/renderer/service_worker/service_worker_subresource_loader_unittest.cc
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/renderer/shared_worker/embedded_shared_worker_stub.cc
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/renderer/shared_worker/embedded_shared_worker_stub.h
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/renderer/shared_worker/shared_worker_factory_impl.cc
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/content/renderer/shared_worker/shared_worker_factory_impl.h
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/third_party/WebKit/LayoutTests/FlagExpectations/enable-features=NetworkService
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/third_party/WebKit/Source/core/exported/WebSharedWorkerImpl.cpp
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/third_party/WebKit/Source/core/exported/WebSharedWorkerImpl.h
[modify] https://crrev.com/f3236937899dee4fa84a0d86fce51d26109303e9/third_party/WebKit/public/web/WebSharedWorkerClient.h

Labels: M-67
Status: Fixed (was: Started)
Project Member

Comment 9 by bugdroid1@chromium.org, Apr 11 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/19ac07e50344cdf4089e5d1b696958867736fc03

commit 19ac07e50344cdf4089e5d1b696958867736fc03
Author: Matt Falkenhagen <falken@chromium.org>
Date: Wed Apr 11 11:48:01 2018

Revert "S13nServiceWorker: Support shared worker."

This reverts commit f3236937899dee4fa84a0d86fce51d26109303e9.

Revert "service worker: Remove GetProviderHostIterator()."

This reverts commit 8aba3ccddb29795acac4faec5c932328067a587b.

Reverting the shared worker patch as a suspected culprit of
bug 831255. The other patch landed on top of it so has to
be reverted too.

Original code review:
https://chromium-review.googlesource.com/981845

Bug: 831255,  796819 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
Change-Id: I106ad40605e6347ec5c2b797142881bace491545
TBR: kinuko
Reviewed-on: https://chromium-review.googlesource.com/1006237
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#549859}
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/browser/BUILD.gn
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/browser/service_worker/service_worker_context_core.cc
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/browser/service_worker/service_worker_context_core.h
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/browser/service_worker/service_worker_context_unittest.cc
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/browser/service_worker/service_worker_context_wrapper.cc
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/browser/service_worker/service_worker_context_wrapper.h
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/browser/service_worker/service_worker_navigation_loader.cc
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/browser/service_worker/service_worker_navigation_loader.h
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/browser/service_worker/service_worker_provider_host.cc
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/browser/service_worker/service_worker_provider_host.h
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/browser/service_worker/service_worker_provider_host_unittest.cc
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/browser/service_worker/service_worker_register_job.cc
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/browser/service_worker/service_worker_registration.cc
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/browser/service_worker/service_worker_request_handler.cc
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/browser/service_worker/service_worker_request_handler.h
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/browser/shared_worker/shared_worker_host.cc
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/browser/shared_worker/shared_worker_host.h
[delete] https://crrev.com/d06d1b93820292e5ff41e4367f37d1d296a2244a/content/browser/shared_worker/shared_worker_script_loader.cc
[delete] https://crrev.com/d06d1b93820292e5ff41e4367f37d1d296a2244a/content/browser/shared_worker/shared_worker_script_loader.h
[delete] https://crrev.com/d06d1b93820292e5ff41e4367f37d1d296a2244a/content/browser/shared_worker/shared_worker_script_loader_factory.cc
[delete] https://crrev.com/d06d1b93820292e5ff41e4367f37d1d296a2244a/content/browser/shared_worker/shared_worker_script_loader_factory.h
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/browser/shared_worker/shared_worker_service_impl.cc
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/browser/shared_worker/shared_worker_service_impl.h
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/browser/shared_worker/shared_worker_service_impl_unittest.cc
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/browser/storage_partition_impl.cc
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/common/service_worker/service_worker_container.mojom
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/common/service_worker/service_worker_provider.mojom
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/common/shared_worker/shared_worker_factory.mojom
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/renderer/service_worker/service_worker_network_provider.cc
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/renderer/service_worker/service_worker_network_provider.h
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/renderer/service_worker/service_worker_provider_context.cc
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/renderer/service_worker/service_worker_provider_context.h
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/renderer/service_worker/service_worker_subresource_loader_unittest.cc
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/renderer/shared_worker/embedded_shared_worker_stub.cc
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/renderer/shared_worker/embedded_shared_worker_stub.h
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/renderer/shared_worker/shared_worker_factory_impl.cc
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/content/renderer/shared_worker/shared_worker_factory_impl.h
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/third_party/WebKit/LayoutTests/FlagExpectations/enable-features=NetworkService
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/third_party/blink/public/web/web_shared_worker_client.h
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/third_party/blink/renderer/core/exported/web_shared_worker_impl.cc
[modify] https://crrev.com/19ac07e50344cdf4089e5d1b696958867736fc03/third_party/blink/renderer/core/exported/web_shared_worker_impl.h

Project Member

Comment 10 by bugdroid1@chromium.org, Apr 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9823f09b055b43f758311988e8e1da1d9d54a6ec

commit 9823f09b055b43f758311988e8e1da1d9d54a6ec
Author: Matt Falkenhagen <falken@chromium.org>
Date: Thu Apr 12 12:33:06 2018

Reland "S13nServiceWorker: Support shared worker."

This CL was speculatively reverted in r549859 to try to fix issue
831255. But the issue already disappeared in the Chrome release
prior to the revert. Therefore, this CL didn't cause the issue.

Original code review:
https://chromium-review.googlesource.com/981845

Bug: 831255,  796819 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
Change-Id: Id76ea08d7ac158ed1958bcf9561aaf1e2c05c8ae
TBR: kinuko
Reviewed-on: https://chromium-review.googlesource.com/1009447
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550158}
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/BUILD.gn
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/service_worker/embedded_worker_instance_unittest.cc
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/service_worker/service_worker_context_core.cc
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/service_worker/service_worker_context_core.h
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/service_worker/service_worker_context_unittest.cc
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/service_worker/service_worker_context_wrapper.cc
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/service_worker/service_worker_context_wrapper.h
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/service_worker/service_worker_navigation_loader.cc
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/service_worker/service_worker_navigation_loader.h
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/service_worker/service_worker_provider_host.cc
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/service_worker/service_worker_provider_host.h
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/service_worker/service_worker_provider_host_unittest.cc
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/service_worker/service_worker_register_job.cc
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/service_worker/service_worker_registration.cc
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/service_worker/service_worker_request_handler.cc
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/service_worker/service_worker_request_handler.h
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/shared_worker/shared_worker_host.cc
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/shared_worker/shared_worker_host.h
[add] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/shared_worker/shared_worker_script_loader.cc
[add] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/shared_worker/shared_worker_script_loader.h
[add] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/shared_worker/shared_worker_script_loader_factory.cc
[add] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/shared_worker/shared_worker_script_loader_factory.h
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/shared_worker/shared_worker_service_impl.cc
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/shared_worker/shared_worker_service_impl.h
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/shared_worker/shared_worker_service_impl_unittest.cc
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/browser/storage_partition_impl.cc
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/common/service_worker/service_worker_container.mojom
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/common/service_worker/service_worker_provider.mojom
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/common/shared_worker/shared_worker_factory.mojom
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/renderer/service_worker/service_worker_network_provider.cc
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/renderer/service_worker/service_worker_network_provider.h
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/renderer/service_worker/service_worker_provider_context.cc
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/renderer/service_worker/service_worker_provider_context.h
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/renderer/service_worker/service_worker_subresource_loader_unittest.cc
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/renderer/shared_worker/embedded_shared_worker_stub.cc
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/renderer/shared_worker/embedded_shared_worker_stub.h
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/renderer/shared_worker/shared_worker_factory_impl.cc
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/content/renderer/shared_worker/shared_worker_factory_impl.h
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/third_party/WebKit/LayoutTests/FlagExpectations/enable-features=NetworkService
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/third_party/blink/public/web/web_shared_worker_client.h
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/third_party/blink/renderer/core/exported/web_shared_worker_impl.cc
[modify] https://crrev.com/9823f09b055b43f758311988e8e1da1d9d54a6ec/third_party/blink/renderer/core/exported/web_shared_worker_impl.h

Sign in to add a comment