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

Issue 720883003: Adds a CloneAndAnimate function to WindowManagerInternalClient (Closed)

Created:
6 years, 1 month ago by sky
Modified:
6 years, 1 month ago
Reviewers:
msw
CC:
mojo-reviews_chromium.org, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org, abarth-chromium, Aaron Boodman, darin (slow to review), ben+mojo_chromium.org
Base URL:
https://github.com/domokit/mojo.git@master
Project:
mojo
Visibility:
Public.

Description

Adds a CloneAndAnimate function to WindowManagerInternalClient The idea is to clone an existing tree of views reusing the surface id and run the animation on it. By doing this we effectively have a (visual) copy of the views that we can then run an animation on. Eg fade out, apply a transform... If reusing surface ids becomes problematic we could instead go with creating a pixel copy of the underyling surface and change the cloning not to recurse. That's an implementation detail that could be changed later on. I don't think cloning is useful outside of animations and really only makes sense at the WM level. Hence going with a narrow API for now. There are a number of other pieces that need to be implemented before this can be used, but this is a good starting point. R=msw@chromium.org BUG=434429 Committed: https://chromium.googlesource.com/external/mojo/+/364f9e4767069aed16ac1cd87b490ddbbdf0f047

Patch Set 1 #

Patch Set 2 : tweaks #

Total comments: 94

Patch Set 3 : feedback #

Total comments: 5

Patch Set 4 : moar feedback #

Patch Set 5 : comment #

Patch Set 6 : Add GetView(ClonedViewId) coverage #

Unified diffs Side-by-side diffs Delta from patch set Stats (+594 lines, -115 lines) Patch
M mojo/services/public/interfaces/window_manager/window_manager_internal.mojom View 1 2 1 chunk +7 lines, -0 lines 0 comments Download
M mojo/services/view_manager/BUILD.gn View 2 chunks +4 lines, -0 lines 0 comments Download
M mojo/services/view_manager/connection_manager.h View 1 2 3 7 chunks +22 lines, -9 lines 0 comments Download
M mojo/services/view_manager/connection_manager.cc View 1 2 8 chunks +148 lines, -14 lines 0 comments Download
M mojo/services/view_manager/display_manager.cc View 2 chunks +3 lines, -1 line 0 comments Download
M mojo/services/view_manager/ids.h View 1 chunk +5 lines, -0 lines 0 comments Download
M mojo/services/view_manager/server_view.h View 2 chunks +5 lines, -0 lines 0 comments Download
M mojo/services/view_manager/server_view.cc View 3 chunks +11 lines, -2 lines 0 comments Download
M mojo/services/view_manager/server_view_delegate.h View 2 chunks +10 lines, -4 lines 0 comments Download
M mojo/services/view_manager/view_coordinate_conversions_unittest.cc View 2 chunks +6 lines, -4 lines 0 comments Download
M mojo/services/view_manager/view_manager_service_apptest.cc View 1 2 3 2 chunks +54 lines, -0 lines 0 comments Download
M mojo/services/view_manager/view_manager_service_impl.h View 1 2 1 chunk +13 lines, -2 lines 0 comments Download
M mojo/services/view_manager/view_manager_service_impl.cc View 1 2 8 chunks +78 lines, -58 lines 0 comments Download
M mojo/services/view_manager/view_manager_service_unittest.cc View 1 2 3 4 5 5 chunks +223 lines, -19 lines 0 comments Download
M mojo/services/view_manager/window_manager_access_policy.cc View 2 chunks +5 lines, -2 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
sky
6 years, 1 month ago (2014-11-18 17:49:02 UTC) #1
msw
Sorry this took me a while... https://codereview.chromium.org/720883003/diff/20001/mojo/services/public/interfaces/window_manager/window_manager_internal.mojom File mojo/services/public/interfaces/window_manager/window_manager_internal.mojom (right): https://codereview.chromium.org/720883003/diff/20001/mojo/services/public/interfaces/window_manager/window_manager_internal.mojom#newcode36 mojo/services/public/interfaces/window_manager/window_manager_internal.mojom:36: CloneAndAnimate(uint32 view_id) => ...
6 years, 1 month ago (2014-11-18 23:37:44 UTC) #2
sky
New patch uploaded https://codereview.chromium.org/720883003/diff/20001/mojo/services/public/interfaces/window_manager/window_manager_internal.mojom File mojo/services/public/interfaces/window_manager/window_manager_internal.mojom (right): https://codereview.chromium.org/720883003/diff/20001/mojo/services/public/interfaces/window_manager/window_manager_internal.mojom#newcode36 mojo/services/public/interfaces/window_manager/window_manager_internal.mojom:36: CloneAndAnimate(uint32 view_id) => (bool success); On ...
6 years, 1 month ago (2014-11-19 00:49:40 UTC) #3
msw
https://codereview.chromium.org/720883003/diff/20001/mojo/services/view_manager/connection_manager.cc File mojo/services/view_manager/connection_manager.cc (right): https://codereview.chromium.org/720883003/diff/20001/mojo/services/view_manager/connection_manager.cc#newcode26 mojo/services/view_manager/connection_manager.cc:26: ServerView* clone = new ServerView(delegate, ClonedViewId()); On 2014/11/19 00:49:39, ...
6 years, 1 month ago (2014-11-19 01:27:52 UTC) #4
sky
New patch uploaded. https://codereview.chromium.org/720883003/diff/20001/mojo/services/view_manager/connection_manager.cc File mojo/services/view_manager/connection_manager.cc (right): https://codereview.chromium.org/720883003/diff/20001/mojo/services/view_manager/connection_manager.cc#newcode26 mojo/services/view_manager/connection_manager.cc:26: ServerView* clone = new ServerView(delegate, ClonedViewId()); ...
6 years, 1 month ago (2014-11-19 03:28:18 UTC) #5
msw
Just one point left to discuss, sorry. https://codereview.chromium.org/720883003/diff/20001/mojo/services/view_manager/connection_manager.cc File mojo/services/view_manager/connection_manager.cc (right): https://codereview.chromium.org/720883003/diff/20001/mojo/services/view_manager/connection_manager.cc#newcode26 mojo/services/view_manager/connection_manager.cc:26: ServerView* clone ...
6 years, 1 month ago (2014-11-19 18:18:29 UTC) #6
sky
https://codereview.chromium.org/720883003/diff/20001/mojo/services/view_manager/view_manager_service_unittest.cc File mojo/services/view_manager/view_manager_service_unittest.cc (right): https://codereview.chromium.org/720883003/diff/20001/mojo/services/view_manager/view_manager_service_unittest.cc#newcode315 mojo/services/view_manager/view_manager_service_unittest.cc:315: // Verify the root doesn't see any cloned views. ...
6 years, 1 month ago (2014-11-19 18:34:53 UTC) #7
msw
lgtm https://codereview.chromium.org/720883003/diff/20001/mojo/services/view_manager/view_manager_service_unittest.cc File mojo/services/view_manager/view_manager_service_unittest.cc (right): https://codereview.chromium.org/720883003/diff/20001/mojo/services/view_manager/view_manager_service_unittest.cc#newcode315 mojo/services/view_manager/view_manager_service_unittest.cc:315: // Verify the root doesn't see any cloned ...
6 years, 1 month ago (2014-11-19 18:47:25 UTC) #8
sky
6 years, 1 month ago (2014-11-19 18:58:26 UTC) #9
Message was sent while issue was closed.
Committed patchset #6 (id:100001) manually as
364f9e4767069aed16ac1cd87b490ddbbdf0f047 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698