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

Issue 1679023006: Reify view ownership as a message pipe. (Closed)

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

Description

Reify view ownership as a message pipe. This patch changes the View Manager API to allow for pipelined creation and addition of views into the view hierarchy using a new |ViewOwner| object to mediate the transfer of ownership between clients. The ownership model ensures that views always belong either to a view hierarchy (as a child of some other view or as the root of a view tree) or to a |ViewOwner| in transit. Previously, it was more difficult to reason about the lifetime of views since the |ViewToken| afforded no way to track ownership transfer and therefore lifetime had to be negotiated out-of-band by applications themselves (a fact which was not adequately captured by the |ViewProvider| mechanism or example programs). Bug #654 BUG= R=abarth@google.com Committed: https://chromium.googlesource.com/external/mojo/+/83365b19d08baa9ba3f254866a59b01eba496f4f

Patch Set 1 #

Patch Set 2 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1812 lines, -1201 lines) Patch
M apps/moterm/moterm_app.h View 1 chunk +3 lines, -3 lines 0 comments Download
M apps/moterm/moterm_app.cc View 1 chunk +4 lines, -5 lines 0 comments Download
M apps/moterm/moterm_view.h View 1 chunk +2 lines, -2 lines 0 comments Download
M apps/moterm/moterm_view.cc View 1 chunk +3 lines, -3 lines 0 comments Download
M examples/moterm_example_app/BUILD.gn View 1 chunk +1 line, -0 lines 0 comments Download
M examples/moterm_example_app/moterm_example_app.cc View 4 chunks +14 lines, -34 lines 0 comments Download
M examples/ui/noodles/noodles_app.h View 1 chunk +3 lines, -3 lines 0 comments Download
M examples/ui/noodles/noodles_app.cc View 1 chunk +4 lines, -5 lines 0 comments Download
M examples/ui/noodles/noodles_view.h View 1 chunk +2 lines, -3 lines 0 comments Download
M examples/ui/noodles/noodles_view.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M examples/ui/pdf_viewer/pdf_viewer.cc View 2 chunks +7 lines, -8 lines 0 comments Download
M examples/ui/png_viewer/png_viewer.cc View 2 chunks +9 lines, -10 lines 0 comments Download
M examples/ui/shapes/shapes_app.h View 1 chunk +3 lines, -3 lines 0 comments Download
M examples/ui/shapes/shapes_app.cc View 1 chunk +4 lines, -5 lines 0 comments Download
M examples/ui/shapes/shapes_view.h View 1 chunk +2 lines, -3 lines 0 comments Download
M examples/ui/shapes/shapes_view.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M examples/ui/spinning_cube/spinning_cube_app.h View 1 chunk +3 lines, -3 lines 0 comments Download
M examples/ui/spinning_cube/spinning_cube_app.cc View 1 chunk +4 lines, -5 lines 0 comments Download
M examples/ui/spinning_cube/spinning_cube_view.h View 1 chunk +1 line, -1 line 0 comments Download
M examples/ui/spinning_cube/spinning_cube_view.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M examples/ui/tile/tile_app.h View 1 chunk +3 lines, -3 lines 0 comments Download
M examples/ui/tile/tile_app.cc View 2 chunks +5 lines, -6 lines 0 comments Download
M examples/ui/tile/tile_view.h View 3 chunks +3 lines, -7 lines 0 comments Download
M examples/ui/tile/tile_view.cc View 3 chunks +14 lines, -36 lines 0 comments Download
M mojo/dart/packages/mojo_services/lib/mojo/ui/view_manager.mojom.dart View 11 chunks +30 lines, -250 lines 0 comments Download
M mojo/dart/packages/mojo_services/lib/mojo/ui/view_provider.mojom.dart View 10 chunks +26 lines, -129 lines 0 comments Download
M mojo/dart/packages/mojo_services/lib/mojo/ui/view_trees.mojom.dart View 15 chunks +230 lines, -27 lines 0 comments Download
M mojo/dart/packages/mojo_services/lib/mojo/ui/views.mojom.dart View 18 chunks +589 lines, -27 lines 0 comments Download
M mojo/services/ui/views/interfaces/view_manager.mojom View 2 chunks +10 lines, -6 lines 0 comments Download
M mojo/services/ui/views/interfaces/view_provider.mojom View 1 chunk +8 lines, -6 lines 0 comments Download
M mojo/services/ui/views/interfaces/view_trees.mojom View 2 chunks +16 lines, -5 lines 0 comments Download
M mojo/services/ui/views/interfaces/views.mojom View 5 chunks +25 lines, -5 lines 0 comments Download
M mojo/ui/base_view.h View 2 chunks +3 lines, -5 lines 0 comments Download
M mojo/ui/base_view.cc View 1 chunk +4 lines, -4 lines 0 comments Download
M mojo/ui/ganesh_view.h View 1 chunk +3 lines, -4 lines 0 comments Download
M mojo/ui/ganesh_view.cc View 1 chunk +3 lines, -3 lines 0 comments Download
M mojo/ui/gl_view.h View 1 chunk +3 lines, -4 lines 0 comments Download
M mojo/ui/gl_view.cc View 1 chunk +4 lines, -5 lines 0 comments Download
M mojo/ui/view_provider_app.h View 2 chunks +17 lines, -9 lines 0 comments Download
M mojo/ui/view_provider_app.cc View 2 chunks +8 lines, -11 lines 0 comments Download
M services/ui/launcher/launcher_app.h View 3 chunks +1 line, -5 lines 0 comments Download
M services/ui/launcher/launcher_app.cc View 3 chunks +7 lines, -22 lines 0 comments Download
M services/ui/launcher/launcher_view_tree.h View 3 chunks +2 lines, -3 lines 0 comments Download
M services/ui/launcher/launcher_view_tree.cc View 4 chunks +11 lines, -16 lines 0 comments Download
M services/ui/view_manager/BUILD.gn View 1 chunk +2 lines, -0 lines 0 comments Download
M services/ui/view_manager/view_host_impl.h View 2 chunks +12 lines, -14 lines 0 comments Download
M services/ui/view_manager/view_host_impl.cc View 2 chunks +16 lines, -12 lines 0 comments Download
M services/ui/view_manager/view_manager_impl.h View 1 chunk +3 lines, -4 lines 0 comments Download
M services/ui/view_manager/view_manager_impl.cc View 1 chunk +7 lines, -10 lines 0 comments Download
M services/ui/view_manager/view_registry.h View 8 chunks +39 lines, -32 lines 0 comments Download
M services/ui/view_manager/view_registry.cc View 20 chunks +252 lines, -286 lines 0 comments Download
M services/ui/view_manager/view_state.h View 3 chunks +40 lines, -42 lines 0 comments Download
M services/ui/view_manager/view_state.cc View 2 chunks +56 lines, -25 lines 0 comments Download
A services/ui/view_manager/view_stub.h View 1 chunk +110 lines, -0 lines 0 comments Download
A services/ui/view_manager/view_stub.cc View 1 chunk +98 lines, -0 lines 0 comments Download
M services/ui/view_manager/view_tree_host_impl.h View 2 chunks +8 lines, -15 lines 0 comments Download
M services/ui/view_manager/view_tree_host_impl.cc View 2 chunks +13 lines, -12 lines 0 comments Download
M services/ui/view_manager/view_tree_state.h View 1 4 chunks +26 lines, -34 lines 0 comments Download
M services/ui/view_manager/view_tree_state.cc View 1 chunk +30 lines, -15 lines 0 comments Download

Messages

Total messages: 5 (2 generated)
jeffbrown
4 years, 10 months ago (2016-02-10 01:54:54 UTC) #2
abarth
lgtm
4 years, 10 months ago (2016-02-10 04:16:59 UTC) #3
jeffbrown
4 years, 10 months ago (2016-02-10 19:08:18 UTC) #5
Message was sent while issue was closed.
Committed patchset #2 (id:20001) manually as
83365b19d08baa9ba3f254866a59b01eba496f4f (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698