-
Darin Fisher authored
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}
7d01ede1