New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 612308 link

Starred by 6 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Task

Blocking:
issue 598069



Sign in to add a comment

Content Modularization Project: Shared Worker

Project Member Reported by jam@chromium.org, May 16 2016

Issue description

Tracking bug for the shared worker part of the Content Modularization Project.

Some task items:
-convert existing IPCs to mojo
-separate from rest of browser code so that it can eventually move to blink/browser

 

Comment 1 by jam@chromium.org, May 17 2016

btw above is for the content/browser code. The code in content/renderer should move to blink per onion soup project.
Cc: nhiroki@chromium.org shimazu@chromium.org
 Issue 642593  has been merged into this issue.
Components: Blink>Workers
Project Member

Comment 4 by bugdroid1@chromium.org, Dec 27 2016

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

commit bf678987c37ca0fb32515321216bb6b6c7ae76ad
Author: nhiroki <nhiroki@chromium.org>
Date: Tue Dec 27 05:36:24 2016

SharedWorker: Clarify that SharedWorkerRepository is owned by RenderFrameImpl

Before this CL, SharedWorkerRepository is implicitly owned by RenderFrameImpl.
It's created when RenderFrameImpl is initialized and destructed on
RenderFrameObserver::OnDestruct called from the dtor of RenderFrameImpl. This
looks confusing.

After this CL, RenderFrameImpl explicitly owns SharedWorkerRepository as its
member field. This should not change behavior.

BUG= 612308 

Review-Url: https://codereview.chromium.org/2600163002
Cr-Commit-Position: refs/heads/master@{#440734}

[modify] https://crrev.com/bf678987c37ca0fb32515321216bb6b6c7ae76ad/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/bf678987c37ca0fb32515321216bb6b6c7ae76ad/content/renderer/render_frame_impl.h
[modify] https://crrev.com/bf678987c37ca0fb32515321216bb6b6c7ae76ad/content/renderer/shared_worker_repository.cc
[modify] https://crrev.com/bf678987c37ca0fb32515321216bb6b6c7ae76ad/content/renderer/shared_worker_repository.h

Cc: -nhiroki@chromium.org
Owner: nhiroki@chromium.org
Status: Started (was: Available)
I'm now trying to mojofy Renderer(Document)->Browser communication.
Project Member

Comment 6 by bugdroid1@chromium.org, Jan 5 2017

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

commit d8b82c0b2a4db7b524f3272b64fea16e2594a6fb
Author: nhiroki <nhiroki@chromium.org>
Date: Thu Jan 05 05:40:25 2017

SharedWorker: Make sure route_id is always valid in WebSharedWorkerProxy

|route_id| passed to the ctor of WebSharedWorkerProxy is always valid because
it's assigned by synchronous IPC ("ViewHostMsg_CreateWorker") in
SharedWorkerRepository::createSharedWorkerConnector before creating the proxy.

BUG= 612308 

Review-Url: https://codereview.chromium.org/2607753002
Cr-Commit-Position: refs/heads/master@{#441590}

[modify] https://crrev.com/d8b82c0b2a4db7b524f3272b64fea16e2594a6fb/content/renderer/websharedworker_proxy.cc
[modify] https://crrev.com/d8b82c0b2a4db7b524f3272b64fea16e2594a6fb/content/renderer/websharedworker_proxy.h

Project Member

Comment 7 by bugdroid1@chromium.org, Jan 6 2017

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

commit b46ff78092b42dfe9f3d816a4c16972217f9947a
Author: nhiroki <nhiroki@chromium.org>
Date: Fri Jan 06 01:22:54 2017

SharedWorker: Remove message forwarding mechanism

SharedWorker service has a mechanism to forward a message sent from a document
to a worker. With this mechanism, a sender creates a nested IPC message and
sends it to the SharedWorker service in the browser process. The service
interprets the nested message and forwards it to an appropriate receiver.

This mechanism is available for any IPC messages but it has been used only for
worker connection message. If we use it only for one message type, we don't have
to manage such a complex mechanism. Therefore, this CL removes the mechanism and
uses a plain IPC message for connecting to a worker.

This simplification also makes it easier to mojofy SharedWorker.

BUG= 612308 

Review-Url: https://codereview.chromium.org/2601893002
Cr-Commit-Position: refs/heads/master@{#441785}

[modify] https://crrev.com/b46ff78092b42dfe9f3d816a4c16972217f9947a/content/browser/shared_worker/shared_worker_host.cc
[modify] https://crrev.com/b46ff78092b42dfe9f3d816a4c16972217f9947a/content/browser/shared_worker/shared_worker_host.h
[modify] https://crrev.com/b46ff78092b42dfe9f3d816a4c16972217f9947a/content/browser/shared_worker/shared_worker_message_filter.cc
[modify] https://crrev.com/b46ff78092b42dfe9f3d816a4c16972217f9947a/content/browser/shared_worker/shared_worker_message_filter.h
[modify] https://crrev.com/b46ff78092b42dfe9f3d816a4c16972217f9947a/content/browser/shared_worker/shared_worker_service_impl.cc
[modify] https://crrev.com/b46ff78092b42dfe9f3d816a4c16972217f9947a/content/browser/shared_worker/shared_worker_service_impl.h
[modify] https://crrev.com/b46ff78092b42dfe9f3d816a4c16972217f9947a/content/browser/shared_worker/shared_worker_service_impl_unittest.cc
[modify] https://crrev.com/b46ff78092b42dfe9f3d816a4c16972217f9947a/content/common/view_messages.h
[modify] https://crrev.com/b46ff78092b42dfe9f3d816a4c16972217f9947a/content/renderer/websharedworker_proxy.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Jan 6 2017

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

commit 3898922f0e5f70f0cbd8a7edbc6d7001b0d60ec5
Author: nhiroki <nhiroki@chromium.org>
Date: Fri Jan 06 07:06:30 2017

SharedWorker: Document lifetime of SharedWorkerHost

This is a followup CL for [1] and does following things:

- documents lifetime of SharedWorkerHost.
- removes SharedWorkerHost::WorkerContextDestroyed that clears member fields.
  This is not meaningful because the host is destructed immediately after this
  function.
- removes |instance_| checks because it's always valid.

[1] https://codereview.chromium.org/2601893002/#msg39

BUG= 612308 

Review-Url: https://codereview.chromium.org/2614013004
Cr-Commit-Position: refs/heads/master@{#441895}

[modify] https://crrev.com/3898922f0e5f70f0cbd8a7edbc6d7001b0d60ec5/content/browser/shared_worker/shared_worker_host.cc
[modify] https://crrev.com/3898922f0e5f70f0cbd8a7edbc6d7001b0d60ec5/content/browser/shared_worker/shared_worker_host.h
[modify] https://crrev.com/3898922f0e5f70f0cbd8a7edbc6d7001b0d60ec5/content/browser/shared_worker/shared_worker_service_impl.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Jan 10 2017

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

commit e1333fa774f8efbe7833ee19618a120c1135bc99
Author: nhiroki <nhiroki@chromium.org>
Date: Tue Jan 10 07:54:44 2017

SharedWorker: Simplify message queueing mechanism in WebSharedWorkerProxy

This is just a cleanup and should not change behavior.

WebSharedWorkerProxy has a message queueing mechanism to delay sending messages
until a shared worker is created. This mechanism can handle any message types
and any number of messages, but this would be an overkill. This is because (1)
a connection request is the only message type that uses this mechanism, and (2)
the connection request is issued only one time.

In addition, the current implementation checks |created_| flag on Send() but
this is always false when it's initially called from connect() because a worker
creation request is sent immediately before connect() call.

This CL makes WebSharedWorkerProxy hold only one pending request and removes the
unnecessary |created_| check for cleanup.

BUG= 612308 

Review-Url: https://codereview.chromium.org/2612043004
Cr-Commit-Position: refs/heads/master@{#442527}

[modify] https://crrev.com/e1333fa774f8efbe7833ee19618a120c1135bc99/content/renderer/websharedworker_proxy.cc
[modify] https://crrev.com/e1333fa774f8efbe7833ee19618a120c1135bc99/content/renderer/websharedworker_proxy.h

Project Member

Comment 11 by bugdroid1@chromium.org, Jan 19 2017

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

commit b28a77ff0b6d09ba31cafb8029eda163accae3c8
Author: nhiroki <nhiroki@chromium.org>
Date: Thu Jan 19 00:12:15 2017

SharedWorker: Simplify connection sequence

This is a cleanup CL and should not change behavior.

Before this CL, shared worker connection sequence consists of two pathes:

  1) SharedWorkerRepositoryClientImpl::conenct (in blink)
     - SharedWorkerRepository::createSharedWorkerConnector (in chromium)
       * sends a worker creation message to the browser
       * returns an instance of WebSharedWorkerProxy
  2) SharedWorkerRepositoryClientImpl::connect (in blink)
     - SharedWorkerConnector::connect (in blink)
       - WebSharedWorkerProxy::connect (in chromium)
         * sends a connection request to the browser

After this CL, they are merged into one path like this:

  1) SharedWorkerRepositoryClientImpl::connect (in blink)
     - SharedWorkerRepository::connect (in chromium)
       * creates an instance of WebSharedWorkerProxy
       - WebSharedWorkerProxy::connect (in chromium)
         * sends a worker creation message to the browser
         * sends a connection request to the browser

BUG= 612308 

Review-Url: https://codereview.chromium.org/2627123003
Cr-Commit-Position: refs/heads/master@{#444557}

[modify] https://crrev.com/b28a77ff0b6d09ba31cafb8029eda163accae3c8/content/renderer/shared_worker/shared_worker_repository.cc
[modify] https://crrev.com/b28a77ff0b6d09ba31cafb8029eda163accae3c8/content/renderer/shared_worker/shared_worker_repository.h
[modify] https://crrev.com/b28a77ff0b6d09ba31cafb8029eda163accae3c8/content/renderer/shared_worker/websharedworker_proxy.cc
[modify] https://crrev.com/b28a77ff0b6d09ba31cafb8029eda163accae3c8/content/renderer/shared_worker/websharedworker_proxy.h
[modify] https://crrev.com/b28a77ff0b6d09ba31cafb8029eda163accae3c8/third_party/WebKit/Source/core/workers/SharedWorker.h
[modify] https://crrev.com/b28a77ff0b6d09ba31cafb8029eda163accae3c8/third_party/WebKit/Source/web/SharedWorkerRepositoryClientImpl.cpp
[modify] https://crrev.com/b28a77ff0b6d09ba31cafb8029eda163accae3c8/third_party/WebKit/public/BUILD.gn
[rename] https://crrev.com/b28a77ff0b6d09ba31cafb8029eda163accae3c8/third_party/WebKit/public/web/WebSharedWorkerConnectListener.h
[modify] https://crrev.com/b28a77ff0b6d09ba31cafb8029eda163accae3c8/third_party/WebKit/public/web/WebSharedWorkerRepositoryClient.h

Comment 13 by jam@chromium.org, Aug 21 2017

Description: Show this description

Comment 14 by darin@google.com, Aug 23 2017

I have started looking into this as a side project. @nhiroki, I see you have it assigned to you, but it looks like it might be on your back burner. Let me know if it is OK if I contribute some CLs toward this bug. Thanks!
Cc: nhiroki@chromium.org
Owner: darin@chromium.org
Status: Assigned (was: Started)
Thank you for your offer! That would be great. I'm now focusing on ServiceWorker servicification and ES6 modules support for Worklets, so I think I cannot resume this for a while.
Project Member

Comment 16 by bugdroid1@chromium.org, Sep 9 2017

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

commit 7d01ede14b4669ab50cdf57a3625410d21bc15ca
Author: Darin Fisher <darin@chromium.org>
Date: Sat Sep 09 00:48:39 2017

Use Mojo IPC to connect to shared workers

This updates the client side of shared worker IPC infrastructure to
use Mojo. In a subsequent patch, it could make sense to move the
client side code entirely into Blink.

As a minor change, the "OnConnected" event takes the creation context
type so that the creation error can be computed on the client side.
This avoids having to define the enum type for the creation error.

Various enums are introduced as corresponding mojom types w/ typemaps.
In a subsequent patch, it may make sense to eliminate the native types
in favor of the mojom defined types.

WorkerDocumentSet is no longer needed and the notion of DocumentID on
the browser-side is eliminated in favor of the browser-side monitoring
the lifetime of the clients (via mojo connection error).

SharedWorkerMessageFilter is now only used for IPC to the shared worker
instance rather than being dual purpose for both the shared worker
instance and the clients. This simplifies some of the logic in the
browser-side, but also adds some complexity as the shared worker
service now needs SharedWorkerMessageFilters, which are created for
each renderer process, to be registered on the service.

For now, browser-side infrastructure all remains on the IO thread, but
once the IPC to the shared worker instance is moved to Mojo, it'll be
straightforward to move all of the browser-side infrastructure off the
IO thread. That will simplify the browser-side code as it will no
longer need the thread hops.

Bug:  612308 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_site_isolation
Change-Id: I8f065cec16673061104817b1c4b41d55e2d12203
Reviewed-on: https://chromium-review.googlesource.com/642112
Commit-Queue: Darin Fisher <darin@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#500765}
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/browser/BUILD.gn
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/browser/devtools/shared_worker_devtools_manager_unittest.cc
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/browser/shared_worker/DEPS
[add] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/browser/shared_worker/shared_worker_connector_impl.cc
[add] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/browser/shared_worker/shared_worker_connector_impl.h
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/browser/shared_worker/shared_worker_host.cc
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/browser/shared_worker/shared_worker_host.h
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/browser/shared_worker/shared_worker_instance.cc
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/browser/shared_worker/shared_worker_instance.h
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/browser/shared_worker/shared_worker_instance_unittest.cc
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/browser/shared_worker/shared_worker_message_filter.cc
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/browser/shared_worker/shared_worker_message_filter.h
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/browser/shared_worker/shared_worker_service_impl.cc
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/browser/shared_worker/shared_worker_service_impl.h
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/browser/shared_worker/shared_worker_service_impl_unittest.cc
[delete] https://crrev.com/678f4c450404a7c11f74156fb41b4b701acffa86/content/browser/shared_worker/worker_document_set.cc
[delete] https://crrev.com/678f4c450404a7c11f74156fb41b4b701acffa86/content/browser/shared_worker/worker_document_set.h
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/common/BUILD.gn
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/common/content_param_traits_macros.h
[add] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/common/shared_worker/OWNERS
[add] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/common/shared_worker/shared_worker_client.mojom
[add] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/common/shared_worker/shared_worker_connector.mojom
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/common/swapped_out_messages.cc
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/common/view_messages.h
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/common/worker_messages.h
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/renderer/BUILD.gn
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/renderer/render_view_impl.cc
[add] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/renderer/shared_worker/shared_worker_client_impl.cc
[add] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/renderer/shared_worker/shared_worker_client_impl.h
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/renderer/shared_worker/shared_worker_repository.cc
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/content/renderer/shared_worker/shared_worker_repository.h
[delete] https://crrev.com/678f4c450404a7c11f74156fb41b4b701acffa86/content/renderer/shared_worker/websharedworker_proxy.cc
[delete] https://crrev.com/678f4c450404a7c11f74156fb41b4b701acffa86/content/renderer/shared_worker/websharedworker_proxy.h
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/third_party/WebKit/Source/core/exported/SharedWorkerRepositoryClientImpl.cpp
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/third_party/WebKit/public/BUILD.gn
[add] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/third_party/WebKit/public/platform/AddressSpaceStructTraits.h
[add] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/third_party/WebKit/public/platform/ContentSecurityPolicyStructTraits.h
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/third_party/WebKit/public/platform/WebAddressSpace.h
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/third_party/WebKit/public/platform/WebURLRequest.h
[add] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/third_party/WebKit/public/platform/address_space.mojom
[add] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/third_party/WebKit/public/platform/address_space.typemap
[add] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/third_party/WebKit/public/platform/content_security_policy.mojom
[add] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/third_party/WebKit/public/platform/content_security_policy.typemap
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/third_party/WebKit/public/public_typemaps.gni
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/third_party/WebKit/public/web/WebSharedWorkerConnectListener.h
[delete] https://crrev.com/678f4c450404a7c11f74156fb41b4b701acffa86/third_party/WebKit/public/web/WebSharedWorkerCreationContextType.h
[delete] https://crrev.com/678f4c450404a7c11f74156fb41b4b701acffa86/third_party/WebKit/public/web/WebSharedWorkerCreationErrors.h
[modify] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/third_party/WebKit/public/web/WebSharedWorkerRepositoryClient.h
[add] https://crrev.com/7d01ede14b4669ab50cdf57a3625410d21bc15ca/third_party/WebKit/public/web/shared_worker_creation_context_type.mojom

Project Member

Comment 17 by bugdroid1@chromium.org, Sep 19 2017

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

commit 58895766ac772f2e3fff113dc18b64a68e140356
Author: Darin Fisher <darin@chromium.org>
Date: Tue Sep 19 19:15:56 2017

Use mojo IPC for communicating w/ the shared worker instance

This change introduces a new service (SharedWorkerFactory) exported
from renderer processes to support the instantiation of shared worker
instances.

The SharedWorkerFactory is instantiated from within the
SharedWorkerServiceImpl::TryReserve function, which runs on the UI
thread. This way we defer connecting to that service until we want
to create a shared worker. It also allows the unit tests to swap in
a mock implementation of SharedWorkerFactory.

In a future CL, it'll be possible to remove the
SharedWorkerMessageFilter. Even though that class now no longer
filters any Chrome IPC messages, its other functionality is still
needed. Similarly, we still need to allocate a routing ID for the
shared worker even though that is not needed by the shared worker
infrastructure. Dev Tools uses the routing ID to help lookup the
shared worker, so that'll need to change before we clean this up.

Also, in a future CL, it'll be possible to move the shared worker
service code to run entirely on the UI thread. This will allow a lot
of code simplification as we'll no longer have to deal w/ the race
conditions during process reservation. A bunch of complexity will
disappear. To try to keep this CL manageable, I chose to postpone
the threading changes to a follow-up CL.

The lifetime of the SharedWorker instance in the renderer process is
a bit squirrely thanks to how WebSharedWorker manages its lifetime.
This CL does not attempt any changes there.

Bug:  612308 
Change-Id: Ifc355d42d0c869519acee853c953342a2bcf691a
Reviewed-on: https://chromium-review.googlesource.com/659139
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Kinuko Yasuda (slow) <kinuko@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Commit-Queue: Darin Fisher <darin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#502910}
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/browser/devtools/shared_worker_devtools_agent_host.cc
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/browser/devtools/shared_worker_devtools_manager_unittest.cc
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/browser/shared_worker/shared_worker_connector_impl.cc
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/browser/shared_worker/shared_worker_connector_impl.h
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/browser/shared_worker/shared_worker_host.cc
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/browser/shared_worker/shared_worker_host.h
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/browser/shared_worker/shared_worker_instance.cc
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/browser/shared_worker/shared_worker_instance.h
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/browser/shared_worker/shared_worker_instance_unittest.cc
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/browser/shared_worker/shared_worker_message_filter.cc
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/browser/shared_worker/shared_worker_message_filter.h
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/browser/shared_worker/shared_worker_service_impl.cc
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/browser/shared_worker/shared_worker_service_impl.h
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/browser/shared_worker/shared_worker_service_impl_unittest.cc
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/common/BUILD.gn
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/common/content_message_generator.h
[add] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/common/shared_worker/shared_worker.mojom
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/common/shared_worker/shared_worker_connector.mojom
[add] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/common/shared_worker/shared_worker_factory.mojom
[add] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/common/shared_worker/shared_worker_host.mojom
[add] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/common/shared_worker/shared_worker_info.mojom
[delete] https://crrev.com/497d5a9140b2df6c1572a5bc1e63a4262d22f411/content/common/worker_messages.h
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/public/app/mojo/content_renderer_manifest.json
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/renderer/BUILD.gn
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/renderer/render_thread_impl.h
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/renderer/shared_worker/embedded_shared_worker_stub.cc
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/renderer/shared_worker/embedded_shared_worker_stub.h
[add] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/renderer/shared_worker/shared_worker_factory_impl.cc
[add] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/renderer/shared_worker/shared_worker_factory_impl.h
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/content/renderer/shared_worker/shared_worker_repository.cc
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/third_party/WebKit/Source/core/exported/WebSharedWorkerImpl.cpp
[modify] https://crrev.com/58895766ac772f2e3fff113dc18b64a68e140356/third_party/WebKit/public/web/WebSharedWorkerClient.h

Project Member

Comment 18 by bugdroid1@chromium.org, Sep 20 2017

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

commit ea7a3a056c27b2103595940649a374927750b82b
Author: calamity <calamity@chromium.org>
Date: Wed Sep 20 03:35:39 2017

Revert "Use mojo IPC for communicating w/ the shared worker instance"

This reverts commit 58895766ac772f2e3fff113dc18b64a68e140356.

Reason for revert: Seems to cause failures on WebKit Linux Trusty Leak
https://uberchromegw.corp.google.com/i/chromium.webkit/builders/WebKit%20Linux%20Trusty%20Leak/builds/9809
https://uberchromegw.corp.google.com/i/chromium.webkit/builders/WebKit%20Linux%20Trusty%20Leak

Original change's description:
> Use mojo IPC for communicating w/ the shared worker instance
> 
> This change introduces a new service (SharedWorkerFactory) exported
> from renderer processes to support the instantiation of shared worker
> instances.
> 
> The SharedWorkerFactory is instantiated from within the
> SharedWorkerServiceImpl::TryReserve function, which runs on the UI
> thread. This way we defer connecting to that service until we want
> to create a shared worker. It also allows the unit tests to swap in
> a mock implementation of SharedWorkerFactory.
> 
> In a future CL, it'll be possible to remove the
> SharedWorkerMessageFilter. Even though that class now no longer
> filters any Chrome IPC messages, its other functionality is still
> needed. Similarly, we still need to allocate a routing ID for the
> shared worker even though that is not needed by the shared worker
> infrastructure. Dev Tools uses the routing ID to help lookup the
> shared worker, so that'll need to change before we clean this up.
> 
> Also, in a future CL, it'll be possible to move the shared worker
> service code to run entirely on the UI thread. This will allow a lot
> of code simplification as we'll no longer have to deal w/ the race
> conditions during process reservation. A bunch of complexity will
> disappear. To try to keep this CL manageable, I chose to postpone
> the threading changes to a follow-up CL.
> 
> The lifetime of the SharedWorker instance in the renderer process is
> a bit squirrely thanks to how WebSharedWorker manages its lifetime.
> This CL does not attempt any changes there.
> 
> Bug:  612308 
> Change-Id: Ifc355d42d0c869519acee853c953342a2bcf691a
> Reviewed-on: https://chromium-review.googlesource.com/659139
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Kinuko Yasuda (slow) <kinuko@chromium.org>
> Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
> Commit-Queue: Darin Fisher <darin@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#502910}

TBR=dcheng@chromium.org,kinuko@chromium.org,darin@chromium.org,nhiroki@chromium.org

Change-Id: Ib3e52e60372ee44ae9bfbfc64da27a09308f1da0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  612308 
Reviewed-on: https://chromium-review.googlesource.com/674563
Reviewed-by: calamity <calamity@chromium.org>
Commit-Queue: calamity <calamity@chromium.org>
Cr-Commit-Position: refs/heads/master@{#503033}
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/content/browser/devtools/shared_worker_devtools_agent_host.cc
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/content/browser/devtools/shared_worker_devtools_manager_unittest.cc
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/content/browser/shared_worker/shared_worker_connector_impl.cc
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/content/browser/shared_worker/shared_worker_connector_impl.h
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/content/browser/shared_worker/shared_worker_host.cc
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/content/browser/shared_worker/shared_worker_host.h
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/content/browser/shared_worker/shared_worker_instance.cc
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/content/browser/shared_worker/shared_worker_instance.h
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/content/browser/shared_worker/shared_worker_instance_unittest.cc
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/content/browser/shared_worker/shared_worker_message_filter.cc
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/content/browser/shared_worker/shared_worker_message_filter.h
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/content/browser/shared_worker/shared_worker_service_impl.cc
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/content/browser/shared_worker/shared_worker_service_impl.h
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/content/browser/shared_worker/shared_worker_service_impl_unittest.cc
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/content/common/BUILD.gn
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/content/common/content_message_generator.h
[delete] https://crrev.com/7f0a6c20cc1f6b206239db09f890e8106c7daa1f/content/common/shared_worker/shared_worker.mojom
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/content/common/shared_worker/shared_worker_connector.mojom
[delete] https://crrev.com/7f0a6c20cc1f6b206239db09f890e8106c7daa1f/content/common/shared_worker/shared_worker_factory.mojom
[delete] https://crrev.com/7f0a6c20cc1f6b206239db09f890e8106c7daa1f/content/common/shared_worker/shared_worker_host.mojom
[delete] https://crrev.com/7f0a6c20cc1f6b206239db09f890e8106c7daa1f/content/common/shared_worker/shared_worker_info.mojom
[add] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/content/common/worker_messages.h
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/content/public/app/mojo/content_renderer_manifest.json
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/content/renderer/BUILD.gn
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/content/renderer/render_thread_impl.h
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/content/renderer/shared_worker/embedded_shared_worker_stub.cc
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/content/renderer/shared_worker/embedded_shared_worker_stub.h
[delete] https://crrev.com/7f0a6c20cc1f6b206239db09f890e8106c7daa1f/content/renderer/shared_worker/shared_worker_factory_impl.cc
[delete] https://crrev.com/7f0a6c20cc1f6b206239db09f890e8106c7daa1f/content/renderer/shared_worker/shared_worker_factory_impl.h
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/content/renderer/shared_worker/shared_worker_repository.cc
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/third_party/WebKit/Source/core/exported/WebSharedWorkerImpl.cpp
[modify] https://crrev.com/ea7a3a056c27b2103595940649a374927750b82b/third_party/WebKit/public/web/WebSharedWorkerClient.h

Project Member

Comment 19 by bugdroid1@chromium.org, Sep 26 2017

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

commit bcc33636c374d9ccd6cd5be2549f9449fe674db4
Author: Darin Fisher <darin@chromium.org>
Date: Tue Sep 26 00:57:16 2017

Use mojo IPC for communicating w/ the shared worker instance

This change introduces a new service (SharedWorkerFactory) exported
from renderer processes to support the instantiation of shared worker
instances.

The SharedWorkerFactory is instantiated from within the
SharedWorkerServiceImpl::TryReserve function, which runs on the UI
thread. This way we defer connecting to that service until we want
to create a shared worker. It also allows the unit tests to swap in
a mock implementation of SharedWorkerFactory.

In a future CL, it'll be possible to remove the
SharedWorkerMessageFilter. Even though that class now no longer
filters any Chrome IPC messages, its other functionality is still
needed. Similarly, we still need to allocate a routing ID for the
shared worker even though that is not needed by the shared worker
infrastructure. Dev Tools uses the routing ID to help lookup the
shared worker, so that'll need to change before we clean this up.

Also, in a future CL, it'll be possible to move the shared worker
service code to run entirely on the UI thread. This will allow a lot
of code simplification as we'll no longer have to deal w/ the race
conditions during process reservation. A bunch of complexity will
disappear. To try to keep this CL manageable, I chose to postpone
the threading changes to a follow-up CL.

The lifetime of the SharedWorker instance in the renderer process is
a bit squirrely thanks to how WebSharedWorker manages its lifetime.
This CL does not attempt any changes there.

Bug:  612308 
Change-Id: Ic59dc1074b479e018d515d7ec715a38c4dd22791
Reviewed-on: https://chromium-review.googlesource.com/659139
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Kinuko Yasuda (slow) <kinuko@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Commit-Queue: Darin Fisher <darin@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#502910}
Reviewed-on: https://chromium-review.googlesource.com/680254
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#504246}
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/browser/devtools/shared_worker_devtools_agent_host.cc
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/browser/devtools/shared_worker_devtools_manager_unittest.cc
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/browser/shared_worker/shared_worker_connector_impl.cc
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/browser/shared_worker/shared_worker_connector_impl.h
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/browser/shared_worker/shared_worker_host.cc
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/browser/shared_worker/shared_worker_host.h
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/browser/shared_worker/shared_worker_instance.cc
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/browser/shared_worker/shared_worker_instance.h
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/browser/shared_worker/shared_worker_instance_unittest.cc
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/browser/shared_worker/shared_worker_message_filter.cc
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/browser/shared_worker/shared_worker_message_filter.h
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/browser/shared_worker/shared_worker_service_impl.cc
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/browser/shared_worker/shared_worker_service_impl.h
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/browser/shared_worker/shared_worker_service_impl_unittest.cc
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/common/BUILD.gn
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/common/content_message_generator.h
[add] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/common/shared_worker/shared_worker.mojom
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/common/shared_worker/shared_worker_connector.mojom
[add] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/common/shared_worker/shared_worker_factory.mojom
[add] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/common/shared_worker/shared_worker_host.mojom
[add] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/common/shared_worker/shared_worker_info.mojom
[delete] https://crrev.com/35f2a525f6d6a917ad3a617c421ebff056567a4c/content/common/worker_messages.h
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/public/app/mojo/content_renderer_manifest.json
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/public/browser/worker_service.h
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/renderer/BUILD.gn
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/renderer/render_thread_impl.h
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/renderer/shared_worker/embedded_shared_worker_stub.cc
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/renderer/shared_worker/embedded_shared_worker_stub.h
[add] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/renderer/shared_worker/shared_worker_factory_impl.cc
[add] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/renderer/shared_worker/shared_worker_factory_impl.h
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/renderer/shared_worker/shared_worker_repository.cc
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/shell/browser/layout_test/blink_test_controller.cc
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/content/shell/browser/layout_test/blink_test_controller.h
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/third_party/WebKit/Source/core/exported/WebSharedWorkerImpl.cpp
[modify] https://crrev.com/bcc33636c374d9ccd6cd5be2549f9449fe674db4/third_party/WebKit/public/web/WebSharedWorkerClient.h

Project Member

Comment 20 by bugdroid1@chromium.org, Oct 7 2017

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

commit d3768b2f69745fcbf6f05ee451dfac26ede0cc33
Author: Darin Fisher <darin@chromium.org>
Date: Sat Oct 07 01:00:16 2017

Move shared worker browser-side infrastructure to the UI thread

SharedWorkerServiceImpl is no longer allocated using base::Singleton.
That was never necessary given that the instance is used exclusively
on a single thread. The change to put it on the main thread revealed
a shutdown crash related to the order of shutdown of singletons.
Rather than try to make sense of that, it seems better to just let
the instance leak. It serves no purpose to try to clean it up.
Note, in the future, it probably makes sense to hang an instance of
the service off of each StoragePartition instead.

Switched unit test over to using MockRenderProcessHost, which allows
for simplification of SharedWorkerServiceImpl. It no longer needs
extra layers of indirection to support unit testing.

Bug:  612308 
Change-Id: Iac67e9d22e7942769bf29ce76b199ac9da3295ac
Reviewed-on: https://chromium-review.googlesource.com/674744
Reviewed-by: Brett Wilson <brettw@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Darin Fisher <darin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#507251}
[modify] https://crrev.com/d3768b2f69745fcbf6f05ee451dfac26ede0cc33/chrome/browser/devtools/devtools_sanity_browsertest.cc
[modify] https://crrev.com/d3768b2f69745fcbf6f05ee451dfac26ede0cc33/chrome/browser/devtools/devtools_targets_ui.cc
[modify] https://crrev.com/d3768b2f69745fcbf6f05ee451dfac26ede0cc33/chrome/browser/profiles/profile_destroyer.cc
[modify] https://crrev.com/d3768b2f69745fcbf6f05ee451dfac26ede0cc33/content/browser/BUILD.gn
[modify] https://crrev.com/d3768b2f69745fcbf6f05ee451dfac26ede0cc33/content/browser/browser_context.cc
[modify] https://crrev.com/d3768b2f69745fcbf6f05ee451dfac26ede0cc33/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/d3768b2f69745fcbf6f05ee451dfac26ede0cc33/content/browser/shared_worker/shared_worker_connector_impl.cc
[modify] https://crrev.com/d3768b2f69745fcbf6f05ee451dfac26ede0cc33/content/browser/shared_worker/shared_worker_connector_impl.h
[modify] https://crrev.com/d3768b2f69745fcbf6f05ee451dfac26ede0cc33/content/browser/shared_worker/shared_worker_content_settings_proxy_impl.cc
[modify] https://crrev.com/d3768b2f69745fcbf6f05ee451dfac26ede0cc33/content/browser/shared_worker/shared_worker_host.cc
[modify] https://crrev.com/d3768b2f69745fcbf6f05ee451dfac26ede0cc33/content/browser/shared_worker/shared_worker_host.h
[delete] https://crrev.com/44be13b1e1367b4f4d815e716b1de92ef54b7aa2/content/browser/shared_worker/shared_worker_message_filter.cc
[delete] https://crrev.com/44be13b1e1367b4f4d815e716b1de92ef54b7aa2/content/browser/shared_worker/shared_worker_message_filter.h
[modify] https://crrev.com/d3768b2f69745fcbf6f05ee451dfac26ede0cc33/content/browser/shared_worker/shared_worker_service_impl.cc
[modify] https://crrev.com/d3768b2f69745fcbf6f05ee451dfac26ede0cc33/content/browser/shared_worker/shared_worker_service_impl.h
[modify] https://crrev.com/d3768b2f69745fcbf6f05ee451dfac26ede0cc33/content/browser/shared_worker/shared_worker_service_impl_unittest.cc
[modify] https://crrev.com/d3768b2f69745fcbf6f05ee451dfac26ede0cc33/content/browser/shared_worker/worker_storage_partition.h
[modify] https://crrev.com/d3768b2f69745fcbf6f05ee451dfac26ede0cc33/content/public/browser/worker_service.h
[modify] https://crrev.com/d3768b2f69745fcbf6f05ee451dfac26ede0cc33/content/public/browser/worker_service_observer.h
[modify] https://crrev.com/d3768b2f69745fcbf6f05ee451dfac26ede0cc33/content/shell/browser/layout_test/blink_test_controller.cc

Components: Internals>Services
Labels: Type-Task
Appending component Internals>Services to S13N projects and changing the Type (for tracking sake) to Type=Task.
Project Member

Comment 22 by bugdroid1@chromium.org, Jan 4 2018

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

commit 0197ba7a7be59cea9fba31d940ac5f8f9d3bbddc
Author: Darin Fisher <darin@chromium.org>
Date: Thu Jan 04 09:57:17 2018

Eliminate WorkerStoragePartition

Changes SharedWorkerService to live as a member of StoragePartition.

Bug:  612308 
Change-Id: Ib7a115b031e806954f3dc1a17eda2c305b47c3a6
Reviewed-on: https://chromium-review.googlesource.com/847026
Commit-Queue: Darin Fisher <darin@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526949}
[modify] https://crrev.com/0197ba7a7be59cea9fba31d940ac5f8f9d3bbddc/chrome/browser/browsing_data/browsing_data_shared_worker_helper.cc
[modify] https://crrev.com/0197ba7a7be59cea9fba31d940ac5f8f9d3bbddc/content/browser/BUILD.gn
[modify] https://crrev.com/0197ba7a7be59cea9fba31d940ac5f8f9d3bbddc/content/browser/devtools/devtools_manager_unittest.cc
[modify] https://crrev.com/0197ba7a7be59cea9fba31d940ac5f8f9d3bbddc/content/browser/shared_worker/shared_worker_connector_impl.cc
[modify] https://crrev.com/0197ba7a7be59cea9fba31d940ac5f8f9d3bbddc/content/browser/shared_worker/shared_worker_connector_impl.h
[modify] https://crrev.com/0197ba7a7be59cea9fba31d940ac5f8f9d3bbddc/content/browser/shared_worker/shared_worker_host.cc
[modify] https://crrev.com/0197ba7a7be59cea9fba31d940ac5f8f9d3bbddc/content/browser/shared_worker/shared_worker_host.h
[modify] https://crrev.com/0197ba7a7be59cea9fba31d940ac5f8f9d3bbddc/content/browser/shared_worker/shared_worker_instance.cc
[modify] https://crrev.com/0197ba7a7be59cea9fba31d940ac5f8f9d3bbddc/content/browser/shared_worker/shared_worker_instance.h
[modify] https://crrev.com/0197ba7a7be59cea9fba31d940ac5f8f9d3bbddc/content/browser/shared_worker/shared_worker_instance_unittest.cc
[modify] https://crrev.com/0197ba7a7be59cea9fba31d940ac5f8f9d3bbddc/content/browser/shared_worker/shared_worker_service_impl.cc
[modify] https://crrev.com/0197ba7a7be59cea9fba31d940ac5f8f9d3bbddc/content/browser/shared_worker/shared_worker_service_impl.h
[modify] https://crrev.com/0197ba7a7be59cea9fba31d940ac5f8f9d3bbddc/content/browser/shared_worker/shared_worker_service_impl_unittest.cc
[delete] https://crrev.com/2653dd04a130fef897a04721c7dbcbf74786e1b1/content/browser/shared_worker/worker_storage_partition.cc
[delete] https://crrev.com/2653dd04a130fef897a04721c7dbcbf74786e1b1/content/browser/shared_worker/worker_storage_partition.h
[modify] https://crrev.com/0197ba7a7be59cea9fba31d940ac5f8f9d3bbddc/content/browser/storage_partition_impl.cc
[modify] https://crrev.com/0197ba7a7be59cea9fba31d940ac5f8f9d3bbddc/content/browser/storage_partition_impl.h
[modify] https://crrev.com/0197ba7a7be59cea9fba31d940ac5f8f9d3bbddc/content/public/browser/shared_worker_service.h
[modify] https://crrev.com/0197ba7a7be59cea9fba31d940ac5f8f9d3bbddc/content/public/browser/storage_partition.h
[modify] https://crrev.com/0197ba7a7be59cea9fba31d940ac5f8f9d3bbddc/content/public/test/layouttest_support.h
[modify] https://crrev.com/0197ba7a7be59cea9fba31d940ac5f8f9d3bbddc/content/public/test/test_storage_partition.cc
[modify] https://crrev.com/0197ba7a7be59cea9fba31d940ac5f8f9d3bbddc/content/public/test/test_storage_partition.h
[modify] https://crrev.com/0197ba7a7be59cea9fba31d940ac5f8f9d3bbddc/content/shell/browser/layout_test/blink_test_controller.cc
[modify] https://crrev.com/0197ba7a7be59cea9fba31d940ac5f8f9d3bbddc/content/test/layouttest_support.cc

Project Member

Comment 23 by bugdroid1@chromium.org, Jan 27 2018

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

commit b29e2321bf54561212746abd81963e6a0c900d5e
Author: Matt Falkenhagen <falken@chromium.org>
Date: Sat Jan 27 00:09:31 2018

Documentation: Fix shared worker comments for RenderProcessHost's KeepAliveRefCount

The comment became outdated after r526949.

R=kinuko

Bug:  612308 
Change-Id: Ib794fe01bf78ed5f2986843b1ee9f74485ec48d3
Reviewed-on: https://chromium-review.googlesource.com/888098
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#532096}
[modify] https://crrev.com/b29e2321bf54561212746abd81963e6a0c900d5e/content/browser/shared_worker/shared_worker_host.cc
[modify] https://crrev.com/b29e2321bf54561212746abd81963e6a0c900d5e/content/browser/shared_worker/shared_worker_host.h
[modify] https://crrev.com/b29e2321bf54561212746abd81963e6a0c900d5e/content/public/browser/render_process_host.h

Labels: WorkerBacklog
Labels: -WorkerBacklog
Status: Fixed (was: Assigned)
darin: This seems fixed now?

Sign in to add a comment