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

Issue 2060513002: Tab dragging as implemented as a mus API. (Closed)

Created:
4 years, 6 months ago by Elliot Glaysher
Modified:
4 years, 5 months ago
Reviewers:
sky, dcheng
CC:
chromium-reviews, rjkroege, sadrul, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, tfarina, yzshen+watch_chromium.org, abarth-chromium, Aaron Boodman, kalyank, darin (slow to review), ben+mojo_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

mus: Add an API for client initiated window moves. This adds a set of APIs so the client can perform a blocking window move. The client asks the window server to perform a window move, which forwards this request to the window manager. We want to do this instead of having the client perform all moves itself because the window manager performs special actions, like docking a window when dragged to the side. BUG=622900 Committed: https://crrev.com/6d0134e5306fcdc9b27865b4171e35ee929692ce Cr-Commit-Position: refs/heads/master@{#404021}

Patch Set 1 #

Patch Set 2 : Drags out and dock to side work. Drag in still broken. #

Patch Set 3 : Fix unittests #

Patch Set 4 : Can drag out and back in now. #

Patch Set 5 : Fix compile errors? #

Patch Set 6 : Add tests for the window tree part of this. #

Patch Set 7 : stray mark #

Patch Set 8 : General patch cleanup. #

Total comments: 15

Patch Set 9 : sky comments + split in two #

Patch Set 10 : Use not not pattern to fix win compile #

Total comments: 14

Patch Set 11 : Ensure only one move happens at a time; store the state in WindowServer. #

Patch Set 12 : cl format #

Patch Set 13 : Thread move loop source through api. #

Total comments: 8

Patch Set 14 : OnWmMoveLoopComplete() -> WmResponse() and use change_id instead of window_id in cancel. #

Total comments: 3

Patch Set 15 : M-m-mega merge with the //components/mus/ -> //services/ui/ move. #

Patch Set 16 : Fix mus demo compile. #

Patch Set 17 : REALLY fix mus_demo. #

Patch Set 18 : dcheng nits #

Unified diffs Side-by-side diffs Delta from patch set Stats (+688 lines, -8 lines) Patch
M ash/mus/window_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +5 lines, -0 lines 0 comments Download
M ash/mus/window_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +12 lines, -0 lines 0 comments Download
M services/ui/demo/mus_demo.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +5 lines, -0 lines 0 comments Download
M services/ui/demo/mus_demo.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +9 lines, -0 lines 0 comments Download
M services/ui/public/cpp/lib/in_flight_change.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +14 lines, -1 line 0 comments Download
M services/ui/public/cpp/lib/in_flight_change.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +13 lines, -0 lines 0 comments Download
M services/ui/public/cpp/lib/window.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +10 lines, -0 lines 0 comments Download
M services/ui/public/cpp/lib/window_tree_client.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 7 chunks +73 lines, -6 lines 0 comments Download
M services/ui/public/cpp/tests/test_window_tree.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +5 lines, -0 lines 0 comments Download
M services/ui/public/cpp/tests/test_window_tree.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +7 lines, -0 lines 0 comments Download
M services/ui/public/cpp/tests/window_server_test_base.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +5 lines, -0 lines 0 comments Download
M services/ui/public/cpp/tests/window_server_test_base.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +16 lines, -0 lines 0 comments Download
M services/ui/public/cpp/window.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +10 lines, -0 lines 0 comments Download
M services/ui/public/cpp/window_manager_delegate.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +9 lines, -0 lines 0 comments Download
M services/ui/public/cpp/window_tree_client.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +30 lines, -0 lines 0 comments Download
M services/ui/public/interfaces/window_manager.mojom View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +10 lines, -0 lines 0 comments Download
M services/ui/public/interfaces/window_manager_constants.mojom View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +7 lines, -0 lines 0 comments Download
M services/ui/public/interfaces/window_tree.mojom View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +11 lines, -0 lines 0 comments Download
M services/ui/test_wm/test_wm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +7 lines, -0 lines 0 comments Download
M services/ui/ws/access_policy.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -0 lines 0 comments Download
M services/ui/ws/default_access_policy.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -0 lines 0 comments Download
M services/ui/ws/default_access_policy.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +5 lines, -0 lines 0 comments Download
M services/ui/ws/test_utils.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +8 lines, -0 lines 0 comments Download
M services/ui/ws/test_utils.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +9 lines, -0 lines 0 comments Download
M services/ui/ws/window_manager_access_policy.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -0 lines 0 comments Download
M services/ui/ws/window_manager_access_policy.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +5 lines, -0 lines 0 comments Download
M services/ui/ws/window_manager_client_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +6 lines, -0 lines 0 comments Download
M services/ui/ws/window_server.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +14 lines, -0 lines 0 comments Download
M services/ui/ws/window_server.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +43 lines, -0 lines 0 comments Download
M services/ui/ws/window_tree.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +5 lines, -0 lines 0 comments Download
M services/ui/ws/window_tree.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +92 lines, -1 line 0 comments Download
M services/ui/ws/window_tree_client_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +7 lines, -0 lines 0 comments Download
M services/ui/ws/window_tree_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +233 lines, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 38 (14 generated)
Elliot Glaysher
4 years, 6 months ago (2016-06-22 22:22:56 UTC) #5
sky
It would be nice if you could break this up. Perhaps the client lib and ...
4 years, 6 months ago (2016-06-22 23:47:57 UTC) #6
sky
4 years, 6 months ago (2016-06-22 23:48:03 UTC) #7
Elliot Glaysher
This splits the change in two; the ash+views change is here: https://codereview.chromium.org/2099513003 https://codereview.chromium.org/2060513002/diff/130001/components/mus/public/interfaces/window_tree.mojom File components/mus/public/interfaces/window_tree.mojom ...
4 years, 6 months ago (2016-06-24 17:41:55 UTC) #9
sky
I'll look at your other path now. https://codereview.chromium.org/2060513002/diff/130001/components/mus/public/interfaces/window_tree.mojom File components/mus/public/interfaces/window_tree.mojom (right): https://codereview.chromium.org/2060513002/diff/130001/components/mus/public/interfaces/window_tree.mojom#newcode235 components/mus/public/interfaces/window_tree.mojom:235: // when ...
4 years, 6 months ago (2016-06-24 19:27:01 UTC) #10
sky
https://codereview.chromium.org/2060513002/diff/170001/chrome/browser/ui/views/tabs/window_finder_mus.h File chrome/browser/ui/views/tabs/window_finder_mus.h (right): https://codereview.chromium.org/2060513002/diff/170001/chrome/browser/ui/views/tabs/window_finder_mus.h#newcode8 chrome/browser/ui/views/tabs/window_finder_mus.h:8: #include "chrome/browser/ui/views/tabs/window_finder.h" Should these files be moved to your ...
4 years, 6 months ago (2016-06-24 19:59:01 UTC) #11
Elliot Glaysher
This patch moves the tracking code from WindowManagerState to WindowServer. It also threads through whether ...
4 years, 5 months ago (2016-06-28 22:32:37 UTC) #12
sky
https://codereview.chromium.org/2060513002/diff/230001/components/mus/public/cpp/lib/in_flight_change.h File components/mus/public/cpp/lib/in_flight_change.h (right): https://codereview.chromium.org/2060513002/diff/230001/components/mus/public/cpp/lib/in_flight_change.h#newcode149 components/mus/public/cpp/lib/in_flight_change.h:149: InFlightMoveLoopChange(Window* window); explicit https://codereview.chromium.org/2060513002/diff/230001/components/mus/public/cpp/lib/window_tree_client.cc File components/mus/public/cpp/lib/window_tree_client.cc (right): https://codereview.chromium.org/2060513002/diff/230001/components/mus/public/cpp/lib/window_tree_client.cc#newcode1053 components/mus/public/cpp/lib/window_tree_client.cc:1053: ...
4 years, 5 months ago (2016-06-29 00:04:09 UTC) #13
Elliot Glaysher
Move to using WmResponse() and further removed window_ids from WindowTreeClient's interface. (I resolved those change_ids ...
4 years, 5 months ago (2016-06-29 19:57:17 UTC) #14
sky
Nice, LGTM
4 years, 5 months ago (2016-06-29 21:47:19 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2060513002/250001
4 years, 5 months ago (2016-06-29 21:51:26 UTC) #17
Elliot Glaysher
+dcheng for review of mojom files.
4 years, 5 months ago (2016-06-29 22:01:30 UTC) #19
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/209888)
4 years, 5 months ago (2016-06-29 22:16:38 UTC) #21
dcheng
Sorry for the delay. I'll finish this reviewing this in Tokyo AM. My main comment ...
4 years, 5 months ago (2016-06-30 13:16:50 UTC) #22
sky
WindowTree lives in mus. WindowManager may be provided by clients connecting to mus (in general ...
4 years, 5 months ago (2016-06-30 16:42:55 UTC) #23
dcheng
On 2016/06/30 16:42:55, sky wrote: > WindowTree lives in mus. WindowManager may be provided by ...
4 years, 5 months ago (2016-07-01 01:35:33 UTC) #24
sky
On Thu, Jun 30, 2016 at 6:35 PM, <dcheng@chromium.org> wrote: > On 2016/06/30 16:42:55, sky ...
4 years, 5 months ago (2016-07-01 16:40:25 UTC) #25
dcheng
At a high-level, I think this is probably OK. The change is a bit inscrutable ...
4 years, 5 months ago (2016-07-06 09:27:53 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2060513002/330001
4 years, 5 months ago (2016-07-06 19:29:14 UTC) #29
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/99243)
4 years, 5 months ago (2016-07-06 21:44:27 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2060513002/330001
4 years, 5 months ago (2016-07-06 21:47:01 UTC) #33
commit-bot: I haz the power
Committed patchset #18 (id:330001)
4 years, 5 months ago (2016-07-07 00:41:29 UTC) #35
commit-bot: I haz the power
CQ bit was unchecked.
4 years, 5 months ago (2016-07-07 00:41:48 UTC) #36
commit-bot: I haz the power
4 years, 5 months ago (2016-07-07 00:44:33 UTC) #38
Message was sent while issue was closed.
Patchset 18 (id:??) landed as
https://crrev.com/6d0134e5306fcdc9b27865b4171e35ee929692ce
Cr-Commit-Position: refs/heads/master@{#404021}

Powered by Google App Engine
This is Rietveld 408576698