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

Issue 1552043002: Make Mozart view manager use the new compositor. (Closed)

Created:
4 years, 11 months ago by jeffbrown
Modified:
4 years, 11 months ago
Reviewers:
abarth, viettrungluu, jamesr
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@moz-12
Target Ref:
refs/heads/master
Project:
mojo
Visibility:
Public.

Description

Make Mozart view manager use the new compositor. This patch updates the view manager to use the new compositor. It also implements a few new features that were required to port all of the UI examples to Mozart: - Defined the ViewAssociate mechanism for offering services to views and view trees such as input dispatch. - Added a skeleton implementation of an input manager service. This initial implementation simply passes events dispatched through the view tree to the first view which registers to listen to them. Later on, we'll add hit testing and give input events a complete overhaul. - Changed how scenes are associated with views (previously surfaces) to make the interface easier to use. Clients only need to connect to the ViewManager to register their views; they don't need to connect to the Compositor since they can simply create the Scene through the ViewHost. This approach is also much friendlier for multi-threaded clients. The clients of the view manager are updated in following patches. Some things we'll do later: refactor the view registry, design a new input event dispatch protocol, invert how layout occurs to take advantage of Scene versioning capabilities to avoid stalls, make the View interface work more like Scene. BUG= R=abarth@google.com Committed: https://chromium.googlesource.com/external/mojo/+/711b2f1e6d912e6514b3a4f74068104ddd79a4b5

Patch Set 1 #

Patch Set 2 : #

Total comments: 36

Patch Set 3 : apply review feedback #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2991 lines, -760 lines) Patch
M mojo/dart/packages/mojo_services/BUILD.gn View 1 chunk +3 lines, -0 lines 0 comments Download
A + mojo/dart/packages/mojo_services/lib/mojo/ui/input_connection.mojom.dart View 1 2 17 chunks +202 lines, -212 lines 0 comments Download
A + mojo/dart/packages/mojo_services/lib/mojo/ui/input_dispatcher.mojom.dart View 8 chunks +67 lines, -65 lines 0 comments Download
M mojo/dart/packages/mojo_services/lib/mojo/ui/layouts.mojom.dart View 4 chunks +74 lines, -6 lines 0 comments Download
A mojo/dart/packages/mojo_services/lib/mojo/ui/view_associates.mojom.dart View 1 chunk +826 lines, -0 lines 0 comments Download
M mojo/dart/packages/mojo_services/lib/mojo/ui/view_manager.mojom.dart View 13 chunks +45 lines, -14 lines 0 comments Download
M mojo/dart/packages/mojo_services/lib/mojo/ui/view_trees.mojom.dart View 5 chunks +154 lines, -4 lines 0 comments Download
M mojo/dart/packages/mojo_services/lib/mojo/ui/views.mojom.dart View 9 chunks +94 lines, -11 lines 0 comments Download
M mojo/services/mojo_services.gni View 1 2 1 chunk +1 line, -0 lines 0 comments Download
A + mojo/services/ui/input/interfaces/BUILD.gn View 1 chunk +5 lines, -5 lines 0 comments Download
A mojo/services/ui/input/interfaces/input_connection.mojom View 1 2 1 chunk +35 lines, -0 lines 0 comments Download
A mojo/services/ui/input/interfaces/input_dispatcher.mojom View 1 chunk +40 lines, -0 lines 0 comments Download
A + mojo/services/ui/views/cpp/BUILD.gn View 1 2 1 chunk +1 line, -0 lines 0 comments Download
A mojo/services/ui/views/cpp/formatting.h View 1 2 1 chunk +39 lines, -0 lines 0 comments Download
A mojo/services/ui/views/cpp/formatting.cc View 1 2 1 chunk +54 lines, -0 lines 0 comments Download
M mojo/services/ui/views/interfaces/BUILD.gn View 2 chunks +2 lines, -1 line 0 comments Download
M mojo/services/ui/views/interfaces/layouts.mojom View 2 chunks +9 lines, -3 lines 0 comments Download
A mojo/services/ui/views/interfaces/view_associates.mojom View 1 chunk +79 lines, -0 lines 0 comments Download
M mojo/services/ui/views/interfaces/view_manager.mojom View 3 chunks +19 lines, -3 lines 0 comments Download
M mojo/services/ui/views/interfaces/view_trees.mojom View 2 chunks +24 lines, -0 lines 0 comments Download
M mojo/services/ui/views/interfaces/views.mojom View 3 chunks +17 lines, -3 lines 0 comments Download
M services/ui/BUILD.gn View 1 chunk +1 line, -0 lines 0 comments Download
M services/ui/README.md View 1 chunk +2 lines, -2 lines 0 comments Download
A + services/ui/input_manager/BUILD.gn View 1 2 1 chunk +14 lines, -8 lines 0 comments Download
A + services/ui/input_manager/README.md View 1 2 1 chunk +2 lines, -3 lines 0 comments Download
A services/ui/input_manager/input_associate.h View 1 2 1 chunk +88 lines, -0 lines 0 comments Download
A services/ui/input_manager/input_associate.cc View 1 chunk +101 lines, -0 lines 0 comments Download
A services/ui/input_manager/input_manager_app.h View 1 chunk +45 lines, -0 lines 0 comments Download
A + services/ui/input_manager/input_manager_app.cc View 3 chunks +13 lines, -16 lines 0 comments Download
A + services/ui/input_manager/main.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M services/ui/launcher/BUILD.gn View 1 2 1 chunk +4 lines, -2 lines 0 comments Download
M services/ui/launcher/launcher_app.h View 2 chunks +12 lines, -5 lines 0 comments Download
M services/ui/launcher/launcher_app.cc View 6 chunks +54 lines, -28 lines 0 comments Download
M services/ui/launcher/launcher_view_tree.h View 2 chunks +42 lines, -21 lines 0 comments Download
M services/ui/launcher/launcher_view_tree.cc View 1 2 4 chunks +144 lines, -62 lines 0 comments Download
M services/ui/view_manager/BUILD.gn View 1 2 2 chunks +7 lines, -5 lines 0 comments Download
D services/ui/view_manager/surface_manager.h View 1 chunk +0 lines, -34 lines 0 comments Download
D services/ui/view_manager/surface_manager.cc View 1 chunk +0 lines, -28 lines 0 comments Download
A services/ui/view_manager/view_associate_table.h View 1 chunk +71 lines, -0 lines 0 comments Download
A services/ui/view_manager/view_associate_table.cc View 1 2 1 chunk +143 lines, -0 lines 0 comments Download
M services/ui/view_manager/view_host_impl.h View 4 chunks +11 lines, -3 lines 0 comments Download
M services/ui/view_manager/view_host_impl.cc View 3 chunks +15 lines, -3 lines 0 comments Download
M services/ui/view_manager/view_layout_request.h View 1 2 2 chunks +4 lines, -2 lines 0 comments Download
M services/ui/view_manager/view_layout_request.cc View 2 chunks +4 lines, -3 lines 0 comments Download
M services/ui/view_manager/view_manager_app.h View 2 chunks +7 lines, -4 lines 0 comments Download
M services/ui/view_manager/view_manager_app.cc View 1 2 3 chunks +52 lines, -8 lines 0 comments Download
M services/ui/view_manager/view_manager_impl.h View 2 chunks +2 lines, -1 line 0 comments Download
M services/ui/view_manager/view_manager_impl.cc View 2 chunks +8 lines, -4 lines 0 comments Download
M services/ui/view_manager/view_registry.h View 1 2 7 chunks +55 lines, -19 lines 0 comments Download
M services/ui/view_manager/view_registry.cc View 1 2 28 chunks +140 lines, -128 lines 0 comments Download
M services/ui/view_manager/view_state.h View 1 2 5 chunks +51 lines, -21 lines 0 comments Download
M services/ui/view_manager/view_state.cc View 1 2 2 chunks +34 lines, -8 lines 0 comments Download
M services/ui/view_manager/view_tree_host_impl.h View 4 chunks +10 lines, -1 line 0 comments Download
M services/ui/view_manager/view_tree_host_impl.cc View 3 chunks +14 lines, -1 line 0 comments Download
M services/ui/view_manager/view_tree_state.h View 1 2 4 chunks +24 lines, -5 lines 0 comments Download
M services/ui/view_manager/view_tree_state.cc View 1 2 2 chunks +25 lines, -6 lines 0 comments Download

Depends on Patchset:

Dependent Patchsets:

Messages

Total messages: 7 (2 generated)
jeffbrown
4 years, 11 months ago (2015-12-31 11:20:08 UTC) #2
abarth
LGTM https://codereview.chromium.org/1552043002/diff/20001/mojo/services/ui/input/interfaces/input_connection.mojom File mojo/services/ui/input/interfaces/input_connection.mojom (right): https://codereview.chromium.org/1552043002/diff/20001/mojo/services/ui/input/interfaces/input_connection.mojom#newcode34 mojo/services/ui/input/interfaces/input_connection.mojom:34: OnEvent(mojo.Event event) => (bool handled); I'd rename "handled" ...
4 years, 11 months ago (2016-01-10 01:42:55 UTC) #3
jeffbrown
https://codereview.chromium.org/1552043002/diff/20001/mojo/services/ui/input/interfaces/input_connection.mojom File mojo/services/ui/input/interfaces/input_connection.mojom (right): https://codereview.chromium.org/1552043002/diff/20001/mojo/services/ui/input/interfaces/input_connection.mojom#newcode34 mojo/services/ui/input/interfaces/input_connection.mojom:34: OnEvent(mojo.Event event) => (bool handled); On 2016/01/10 01:42:54, abarth ...
4 years, 11 months ago (2016-01-26 05:59:13 UTC) #4
jeffbrown
apply review feedback
4 years, 11 months ago (2016-01-26 09:18:54 UTC) #5
jeffbrown
4 years, 11 months ago (2016-01-26 23:51:27 UTC) #7
Message was sent while issue was closed.
Committed patchset #3 (id:40001) manually as
711b2f1e6d912e6514b3a4f74068104ddd79a4b5 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698