-
James Cook authored
WindowSizerAsh needs synchronous access to the target display for each new browser window. * Create ash::ShellState and move root_window_for_new_windows_ there * Introduce mojom::ShellState interface in ash * Create a ShellStateClient in chrome to cache the target display id for new windows The interface is not implemented by ash::Shell because ash::Shell is already massive (1500 lines). Also, shell.h is included in 900 places in the code base and I don't want to add mojo generated headers to shell.h. Windows still don't appear on the secondary display with --enable-features=Mash, but chrome is getting the correct display id and setting the window bounds properly. I think ash needs to be fixed to support top-level bounds on the secondary display, but that will need to be a follow-up CL. Bug: 764009, 768908 Test: ash_unittests, unit_tests for WindowSizer Change-Id: Ib77834f8ed5dc4e65f02ff83ab81acbf3331db61 Reviewed-on: https://chromium-review.googlesource.com/1067591Reviewed-by:
Daniel Cheng <dcheng@chromium.org> Reviewed-by:
Scott Violet <sky@chromium.org> Reviewed-by:
Evan Stade <estade@chromium.org> Commit-Queue: James Cook <jamescook@chromium.org> Cr-Commit-Position: refs/heads/master@{#561950}
40f7d75b