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

Issue 704501 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
please use my google.com address
Closed: May 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

Make service_manager::Connector suitable for direct exposure to Blink

Project Member Reported by blundell@chromium.org, Mar 23 2017

Issue description

https://codereview.chromium.org/2643063002/ exposes service_manager::Connector indirectly to Blink via a blink::Connector interface. We are considering whether and how to thoughtfully and case-by-case relax the restriction that Blink cannot directly use services' client libraries. service_manager::Connector is a good guinea pig here because:

(1) Allowing direct usage would eliminate the current indirection through //content/renderer, thus facilitating the long-term goal of eliminating //content/renderer
(2) As a piece of crucial low-level ServiceManager infrastructure, it logically feels like this interface *should* be broadly usable.

Things to consider in designing this effort are:
(1) How to abstract the current tying to and exposure of Chromium mojom variants of service_manager::Connector and friends
(2) How to structure client libraries to delineate files intended for sharing with Blink from those targeted to Chromium
(3) What the restrictions on files intended for sharing with Blink should be (e.g., should they not use the STL in their interfaces, etc)


 
Project Member

Comment 1 by bugdroid1@chromium.org, Mar 28 2017

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

commit 493602dbef2f87945e98f9765345d8d7bd908de9
Author: rockot <rockot@chromium.org>
Date: Tue Mar 28 12:51:03 2017

Use public Service Manager Connector API in Blink

This takes advantage of the fact that the Connector API's usage in Blink
does not in practice expose any interesting or undesirable dependencies,
allowing us to use the API directly instead of wrapping it in a special
layered Blink/content implementation.

BUG= 704501 

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

[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/content/public/test/render_view_test.cc
[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/content/renderer/BUILD.gn
[delete] https://crrev.com/03b5ef86dce1b086e2fb8b5434e523e0d9b473e3/content/renderer/mojo/blink_connector_impl.cc
[delete] https://crrev.com/03b5ef86dce1b086e2fb8b5434e523e0d9b473e3/content/renderer/mojo/blink_connector_impl.h
[delete] https://crrev.com/03b5ef86dce1b086e2fb8b5434e523e0d9b473e3/content/renderer/mojo/blink_connector_impl_unittest.cc
[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/content/renderer/mojo/blink_connector_js_wrapper.cc
[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/content/renderer/mojo/blink_connector_js_wrapper.h
[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/content/renderer/mojo/interface_provider_js_wrapper.cc
[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/content/renderer/renderer_blink_platform_impl.cc
[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/content/renderer/renderer_blink_platform_impl.h
[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/content/test/BUILD.gn
[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/services/service_manager/public/cpp/connector.h
[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/services/service_manager/public/cpp/lib/connector_impl.cc
[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/services/service_manager/public/cpp/lib/connector_impl.h
[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/third_party/WebKit/Source/DEPS
[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/third_party/WebKit/Source/modules/battery/BUILD.gn
[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/third_party/WebKit/Source/modules/battery/BatteryDispatcher.cpp
[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/third_party/WebKit/Source/modules/screen_orientation/BUILD.gn
[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/third_party/WebKit/Source/modules/screen_orientation/ScreenOrientationDispatcher.cpp
[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/third_party/WebKit/Source/modules/time_zone_monitor/BUILD.gn
[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/third_party/WebKit/Source/modules/time_zone_monitor/TimeZoneMonitorClient.cpp
[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/third_party/WebKit/Source/modules/vibration/BUILD.gn
[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/third_party/WebKit/Source/modules/vibration/VibrationController.cpp
[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/third_party/WebKit/Source/platform/BUILD.gn
[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/third_party/WebKit/Source/platform/exported/Platform.cpp
[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/third_party/WebKit/Source/platform/exported/ServiceRegistry.cpp
[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/third_party/WebKit/public/BUILD.gn
[delete] https://crrev.com/03b5ef86dce1b086e2fb8b5434e523e0d9b473e3/third_party/WebKit/public/platform/Connector.h
[modify] https://crrev.com/493602dbef2f87945e98f9765345d8d7bd908de9/third_party/WebKit/public/platform/Platform.h

Comment 2 by roc...@chromium.org, May 25 2017

Status: WontFix (was: Assigned)
The bug is really invalid now. We just use the common APIs in Blink.

Sign in to add a comment