DescriptionEnable connection to Mojo services from Blink
This CL enables connections to Mojo services from Blink; more specifically,
from //third_party/WebKit/Source/modules, where dependencies on Chromium
code are in general undesired (including on Mojo services' client
libraries). To enable connecting to services without using the
Service Manager's client library, this CL does the following:
(1) Adds a method to Platform that binds the connection to the
ServiceManager.
(2) Builds a bare-bones ServiceConnector around this connection that
supports connecting to Mojo services by name from Blink.
(3) Ports TimeZoneMonitor to be hosted in the Device Service as an example
of connecting to an interface that is hosted in a service other than
//content/browser from Blink.
ServiceConnector being "bare-bones" includes the facts that:
- Unlike blink::InterfaceProvider, blink::ServiceConnector is currently
thread-hostile. This should be easy to relax using similar mechanisms as
InterfaceProviderImpl.
- There is currently no API for obtaining an InterfaceProvider for a given
service (or a thread-safe wrapper, per the above comment). Again, this should
be easy to add.
This CL also moves the definition of the device service name to mojom instead
of C++ in order to facilitate using this constant from Blink.
BUG=612341
TEST=http://crbug.com/288697#c12: load the page, change the system time zone,
and then click "recheck" to ensure that the renderer picks up the new
time zone. Don't reload the page, which is likely to give you a new
renderer process, use the "recheck" link on the page.
Committed: https://crrev.com/8e3745ac05d7918a91ff9efb02280a7c1443de5c
Committed: https://crrev.com/32fc16c8f8cf5cba4a7bec4f6a18fcbdf32c5e3b
Cr-Original-Commit-Position: refs/heads/master@{#439498}
Cr-Commit-Position: refs/heads/master@{#440419}
Patch Set 1 #Patch Set 2 : Nits #Patch Set 3 : Add DEPS file #Patch Set 4 : Include fix for ServiceManager #Patch Set 5 : Add new ServiceManager fix #Patch Set 6 : Rebase #Patch Set 7 : Rebase, incorporate service connector addition #Patch Set 8 : Rebase #Patch Set 9 : Rebase, take into account ServiceContext change #Patch Set 10 : Rebase #Patch Set 11 : Rebase #Patch Set 12 : Fix build #
Total comments: 2
Patch Set 13 : Change how Blink connects to services #Patch Set 14 : Rebase #Patch Set 15 : Fix gn check #Patch Set 16 : Self-review #
Total comments: 14
Patch Set 17 : Rebase #Patch Set 18 : Response to reviews #
Total comments: 2
Patch Set 19 : Rebase #
Total comments: 4
Patch Set 20 : Rebase #Patch Set 21 : Pass handle across boundary #Patch Set 22 : Rebase #Patch Set 23 : Rebase #Messages
Total messages: 132 (95 generated)
|