Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Issue 858103002: Remove [Client=] annotation from ServiceProvider (Closed)

Created:
5 years, 11 months ago by jamesr
Modified:
5 years, 11 months ago
CC:
abarth-chromium, Aaron Boodman, ben+mojo_chromium.org, darin (slow to review), esprehn, mojo-reviews_chromium.org, ojan, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org
Base URL:
git@github.com:domokit/mojo.git@master
Target Ref:
refs/heads/master
Project:
mojo
Visibility:
Public.

Description

Remove [Client=] annotation from ServiceProvider This removes the symmetrical nature of ServiceProvider and consistently passes and uses a ServiceProvider + ServiceProvider& pair in places that wish to bidirectionally expose services, such as the view manager. The view manager library now deals with InterfaceRequest<ServiceProvider> and ServiceProviderPtr objects (i.e. c++ wrappers for handles) instead of a concrete implementation of ServiceProvider to make it easier for callers. A number of places that were assuming a particular ServiceProvider would always exist are updated to reflect the nullability of the parameters in mojom and places that do not wish to ever look up or provide services now pass nullptr instead of doomed pipe handles. The JS application startup classes are reworked a bit to accomodate exposing services on the third ConnectToApplication/AcceptConnection parameter. BUG=449432 R=abarth@chromium.org, sky@chromium.org Committed: https://chromium.googlesource.com/external/mojo/+/3b67967fef6ceb2fd56569f5dbe5b937d2339b05

Patch Set 1 #

Total comments: 11

Patch Set 2 : address feedback, fix sky #

Patch Set 3 : rebase for trybots (no code changes from ps2) #

Unified diffs Side-by-side diffs Delta from patch set Stats (+365 lines, -455 lines) Patch
M examples/browser/browser.cc View 4 chunks +10 lines, -11 lines 0 comments Download
M examples/embedded_app/embedded_app.cc View 3 chunks +5 lines, -7 lines 0 comments Download
M examples/ganesh_app/ganesh_app.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M examples/nesting_app/nesting_app.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M examples/pdf_viewer/pdf_viewer.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M examples/png_viewer/png_viewer.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M examples/recipes/window_manager/main.cc View 3 chunks +8 lines, -10 lines 0 comments Download
M examples/sky_compositor_app/sky_compositor_app.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M examples/window_manager/window_manager.cc View 6 chunks +17 lines, -13 lines 0 comments Download
M examples/wm_flow/BUILD.gn View 2 chunks +2 lines, -0 lines 0 comments Download
M examples/wm_flow/app/app.cc View 5 chunks +34 lines, -11 lines 0 comments Download
M examples/wm_flow/embedded/embedded.cc View 4 chunks +9 lines, -7 lines 0 comments Download
M examples/wm_flow/wm/frame_controller.h View 2 chunks +2 lines, -1 line 0 comments Download
M examples/wm_flow/wm/frame_controller.cc View 2 chunks +5 lines, -6 lines 0 comments Download
M examples/wm_flow/wm/wm.cc View 2 chunks +7 lines, -8 lines 0 comments Download
M mojo/public/cpp/application/BUILD.gn View 1 chunk +0 lines, -2 lines 0 comments Download
M mojo/public/cpp/application/application_connection.h View 1 chunk +5 lines, -4 lines 0 comments Download
M mojo/public/cpp/application/lib/service_provider_impl.cc View 3 chunks +8 lines, -18 lines 0 comments Download
D mojo/public/cpp/application/lib/weak_service_provider.h View 1 chunk +0 lines, -41 lines 0 comments Download
D mojo/public/cpp/application/lib/weak_service_provider.cc View 1 chunk +0 lines, -36 lines 0 comments Download
M mojo/public/cpp/application/service_provider_impl.h View 1 chunk +6 lines, -19 lines 0 comments Download
M mojo/public/cpp/bindings/interface_request.h View 1 chunk +5 lines, -0 lines 0 comments Download
M mojo/public/interfaces/application/service_provider.mojom View 1 chunk +0 lines, -1 line 0 comments Download
M mojo/services/public/js/application.js View 2 chunks +20 lines, -9 lines 0 comments Download
M mojo/services/public/js/service_provider.js View 1 chunk +0 lines, -3 lines 0 comments Download
M mojo/services/public/js/shell.js View 1 chunk +4 lines, -2 lines 0 comments Download
M mojo/services/view_manager/public/cpp/lib/view.cc View 1 chunk +3 lines, -18 lines 0 comments Download
M mojo/services/view_manager/public/cpp/lib/view_manager_client_impl.h View 1 2 chunks +4 lines, -2 lines 0 comments Download
M mojo/services/view_manager/public/cpp/lib/view_manager_client_impl.cc View 1 4 chunks +10 lines, -19 lines 0 comments Download
M mojo/services/view_manager/public/cpp/lib/view_manager_context.cc View 1 chunk +5 lines, -15 lines 0 comments Download
M mojo/services/view_manager/public/cpp/tests/view_manager_unittest.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M mojo/services/view_manager/public/cpp/view.h View 1 chunk +2 lines, -4 lines 0 comments Download
M mojo/services/view_manager/public/cpp/view_manager_context.h View 1 chunk +7 lines, -7 lines 0 comments Download
M mojo/services/view_manager/public/cpp/view_manager_delegate.h View 2 chunks +11 lines, -10 lines 0 comments Download
M mojo/services/view_manager/public/interfaces/view_manager.mojom View 1 2 chunks +10 lines, -8 lines 0 comments Download
M mojo/services/window_manager/public/interfaces/window_manager.mojom View 1 1 chunk +3 lines, -2 lines 0 comments Download
M services/view_manager/connection_manager.h View 1 chunk +5 lines, -5 lines 0 comments Download
M services/view_manager/connection_manager.cc View 3 chunks +4 lines, -5 lines 0 comments Download
M services/view_manager/view_manager_service_apptest.cc View 3 chunks +3 lines, -3 lines 0 comments Download
M services/view_manager/view_manager_service_impl.h View 3 chunks +8 lines, -5 lines 0 comments Download
M services/view_manager/view_manager_service_impl.cc View 6 chunks +19 lines, -16 lines 0 comments Download
M services/view_manager/view_manager_service_unittest.cc View 4 chunks +5 lines, -5 lines 0 comments Download
M services/window_manager/main.cc View 2 chunks +6 lines, -6 lines 0 comments Download
M services/window_manager/window_manager_api_unittest.cc View 2 chunks +3 lines, -6 lines 0 comments Download
M services/window_manager/window_manager_app.h View 2 chunks +4 lines, -3 lines 0 comments Download
M services/window_manager/window_manager_app.cc View 4 chunks +18 lines, -11 lines 0 comments Download
M services/window_manager/window_manager_apptest.cc View 2 chunks +3 lines, -6 lines 0 comments Download
M services/window_manager/window_manager_delegate.h View 1 chunk +3 lines, -3 lines 0 comments Download
M services/window_manager/window_manager_impl.h View 1 chunk +3 lines, -3 lines 0 comments Download
M services/window_manager/window_manager_impl.cc View 1 chunk +3 lines, -2 lines 0 comments Download
M shell/application_manager/application_manager.cc View 1 2 1 chunk +0 lines, -10 lines 0 comments Download
M sky/engine/v8_inspector/inspector_backend_mojo.cc View 1 chunk +7 lines, -7 lines 0 comments Download
M sky/services/inspector/server.cc View 1 chunk +8 lines, -6 lines 0 comments Download
M sky/tools/debugger/debugger.h View 3 chunks +7 lines, -6 lines 0 comments Download
M sky/tools/debugger/debugger.cc View 4 chunks +10 lines, -13 lines 0 comments Download
M sky/tools/tester/test_runner.h View 2 chunks +2 lines, -0 lines 0 comments Download
M sky/tools/tester/test_runner.cc View 2 chunks +4 lines, -5 lines 0 comments Download
M sky/tools/tester/tester.cc View 2 chunks +6 lines, -8 lines 0 comments Download
M sky/viewer/document_view.h View 1 2 2 chunks +5 lines, -5 lines 0 comments Download
M sky/viewer/document_view.cc View 1 2 3 chunks +8 lines, -6 lines 0 comments Download
M sky/viewer/internals.cc View 1 2 chunks +7 lines, -4 lines 0 comments Download

Messages

Total messages: 10 (3 generated)
jamesr
Hans - please review the mojo/public/.../js changes Adam - please review the sky/ changes Scott ...
5 years, 11 months ago (2015-01-21 02:02:22 UTC) #2
sky
https://codereview.chromium.org/858103002/diff/1/mojo/services/view_manager/public/cpp/view.h File mojo/services/view_manager/public/cpp/view.h (right): https://codereview.chromium.org/858103002/diff/1/mojo/services/view_manager/public/cpp/view.h#newcode128 mojo/services/view_manager/public/cpp/view.h:128: InterfaceRequest<ServiceProvider> services, This is subtle. It's worth documenting the ...
5 years, 11 months ago (2015-01-21 16:59:00 UTC) #3
jamesr
With Eric's help I figured out what was breaking the sky tests (turns out connecting ...
5 years, 11 months ago (2015-01-21 18:51:40 UTC) #4
sky
LGTM
5 years, 11 months ago (2015-01-21 22:41:05 UTC) #5
hansmuller1
The JS changes LGTM. I think The JS ServiceProvider class should be revised or renamed ...
5 years, 11 months ago (2015-01-22 00:46:38 UTC) #7
abarth-chromium
LGTM You might need to change the code in HTMLIFrameElement.cpp that I just landed.
5 years, 11 months ago (2015-01-22 00:48:25 UTC) #9
jamesr
5 years, 11 months ago (2015-01-22 02:36:07 UTC) #10
Message was sent while issue was closed.
Committed patchset #3 (id:40001) manually as
3b67967fef6ceb2fd56569f5dbe5b937d2339b05 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698