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

Issue 1567623003: Adds remainder of support for multiple roots to WS (Closed)

Created:
4 years, 11 months ago by sky
Modified:
4 years, 11 months ago
CC:
chromium-reviews, rjkroege, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, tfarina, yzshen+watch_chromium.org, abarth-chromium, Aaron Boodman, 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

Adds remainder of support for multiple roots to WS The initial root is established as it always has by way of Embed() (although I could change this too). Subsequent roots are created by way of WindowTreeConnection::NewTopLevelWindow(). This results in the following: . client lib assigns its own id to newly created window in it's own namespace and communicates this to server via NewTopLevelWindow. . WS::NewTopLevelWindow() forwards request to WM to create the actual window. Additionally the WS pauses incoming messages from the client until the WM communicates the real id back (*). . WM creates window and communicates back to WS the id via OnWmCreatedTopLevelWindow(). . WS maintains mapping between client assigned id and id assigned from WS and ensures the client only ever sees the id it assigned and not the real id. I would have preferred not to have two ids like this, but doing this means the client doesn't have to block waiting for the rela id from the WS before it can use the window. * Pausing incoming messages is done to ensure we don't end up in a situation where the client is trying to use the id before the WM has actually created the window. By pausing the bindings we ensure we won't get any out of order messages. From the clients perspective the client can continue messaging the server. I also made WindowManagerConnection maintain a single WindowTreeConnection, so that all windows created by it come from the same connection. BUG=569154 TEST=covered by tests R=ben@chromium.org Committed: https://crrev.com/adfb923735404fa6b0bf97940dcddd7442468fc1 Cr-Commit-Position: refs/heads/master@{#368100}

Patch Set 1 #

Patch Set 2 : merge and update OwnsWindow #

Patch Set 3 : remove extraneous #

Patch Set 4 : fix comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+499 lines, -65 lines) Patch
M components/mus/public/cpp/lib/in_flight_change.h View 1 chunk +1 line, -0 lines 0 comments Download
M components/mus/public/cpp/lib/window.cc View 1 2 chunks +4 lines, -2 lines 0 comments Download
M components/mus/public/cpp/lib/window_tree_client_impl.h View 1 5 chunks +14 lines, -1 line 0 comments Download
M components/mus/public/cpp/lib/window_tree_client_impl.cc View 1 2 3 5 chunks +50 lines, -18 lines 0 comments Download
M components/mus/public/cpp/tests/test_window_tree.h View 3 chunks +7 lines, -0 lines 0 comments Download
M components/mus/public/cpp/tests/test_window_tree.cc View 2 chunks +11 lines, -1 line 0 comments Download
M components/mus/public/cpp/tests/window_tree_client_impl_unittest.cc View 1 chunk +29 lines, -0 lines 0 comments Download
M components/mus/public/cpp/window_manager_delegate.h View 1 2 chunks +10 lines, -0 lines 0 comments Download
M components/mus/public/cpp/window_tree_connection.h View 1 chunk +2 lines, -0 lines 0 comments Download
M components/mus/public/interfaces/window_tree.mojom View 1 3 chunks +13 lines, -0 lines 0 comments Download
M components/mus/ws/client_connection.h View 2 chunks +3 lines, -0 lines 0 comments Download
M components/mus/ws/client_connection.cc View 3 chunks +8 lines, -2 lines 0 comments Download
M components/mus/ws/connection_manager.h View 2 chunks +7 lines, -0 lines 0 comments Download
M components/mus/ws/connection_manager.cc View 2 chunks +31 lines, -0 lines 0 comments Download
M components/mus/ws/window_tree_impl.h View 9 chunks +33 lines, -3 lines 0 comments Download
M components/mus/ws/window_tree_impl.cc View 8 chunks +88 lines, -3 lines 0 comments Download
M components/mus/ws/window_tree_unittest.cc View 8 chunks +126 lines, -3 lines 0 comments Download
M mash/wm/window_manager_impl.h View 1 2 chunks +6 lines, -0 lines 0 comments Download
M mash/wm/window_manager_impl.cc View 1 3 chunks +39 lines, -24 lines 0 comments Download
M ui/views/mus/window_manager_connection.h View 1 chunk +1 line, -0 lines 0 comments Download
M ui/views/mus/window_manager_connection.cc View 3 chunks +16 lines, -8 lines 0 comments Download

Messages

Total messages: 7 (2 generated)
sky
4 years, 11 months ago (2016-01-06 21:33:38 UTC) #1
Ben Goodger (Google)
lgtm
4 years, 11 months ago (2016-01-07 17:25:02 UTC) #2
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1567623003/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1567623003/60001
4 years, 11 months ago (2016-01-07 17:28:31 UTC) #4
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years, 11 months ago (2016-01-07 17:34:32 UTC) #5
commit-bot: I haz the power
4 years, 11 months ago (2016-01-07 17:36:14 UTC) #7
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/adfb923735404fa6b0bf97940dcddd7442468fc1
Cr-Commit-Position: refs/heads/master@{#368100}

Powered by Google App Engine
This is Rietveld 408576698