Wire up WindowTree::SetCanfocus in window-service as a library I'm stubbing out this behavior from the original window service for now in: https://chromium-review.googlesource.com/c/chromium/src/+/1055658/6/ash/wm/top_level_window_factory.cc#221 We'll need to update the WindowTreeClient access there.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/53303949e92c0d5b963357fd763de7f69c2b07d9 commit 53303949e92c0d5b963357fd763de7f69c2b07d9 Author: Scott Violet <sky@chromium.org> Date: Tue Jun 05 20:36:24 2018 chromeos: wires up can-focus There are a couple of issues addressed here: . kFocusable_InitProperty was not wired up correctly. . Ash created top-levels were not picking up the value set by clients To fix these I'm adding kCanFocus. ws2 sets this from calls by clients to WindowTree::SetCanFocus(). Ash uses this property as well if the client supplies kFocusable_InitProperty. I think kFocusable_InitProperty should go away. That'll be easier once we get rid of --mash. I'm also forking the TopLevelWindowFactory tests. I moved the existing ones into TopLevelWindowFactoryMash (these only run with --mash). I also made the tests work in classic mode with ws2. I added a new file for this that is built in ash_unittests. BUG= 842301 TEST=covered by tests Change-Id: I016ed612e7ab1d7bc1cdc4840c3aa9271078ab9e Reviewed-on: https://chromium-review.googlesource.com/1086151 Commit-Queue: Scott Violet <sky@chromium.org> Reviewed-by: James Cook <jamescook@chromium.org> Cr-Commit-Position: refs/heads/master@{#564646} [modify] https://crrev.com/53303949e92c0d5b963357fd763de7f69c2b07d9/ash/BUILD.gn [modify] https://crrev.com/53303949e92c0d5b963357fd763de7f69c2b07d9/ash/frame/detached_title_area_renderer.cc [modify] https://crrev.com/53303949e92c0d5b963357fd763de7f69c2b07d9/ash/frame/detached_title_area_renderer.h [modify] https://crrev.com/53303949e92c0d5b963357fd763de7f69c2b07d9/ash/test/ash_test_base.cc [modify] https://crrev.com/53303949e92c0d5b963357fd763de7f69c2b07d9/ash/test/ash_test_base.h [modify] https://crrev.com/53303949e92c0d5b963357fd763de7f69c2b07d9/ash/wm/non_client_frame_controller.cc [modify] https://crrev.com/53303949e92c0d5b963357fd763de7f69c2b07d9/ash/wm/non_client_frame_controller.h [modify] https://crrev.com/53303949e92c0d5b963357fd763de7f69c2b07d9/ash/wm/top_level_window_factory.cc [modify] https://crrev.com/53303949e92c0d5b963357fd763de7f69c2b07d9/ash/wm/top_level_window_factory.h [add] https://crrev.com/53303949e92c0d5b963357fd763de7f69c2b07d9/ash/wm/top_level_window_factory_mash_unittest.cc [modify] https://crrev.com/53303949e92c0d5b963357fd763de7f69c2b07d9/ash/wm/top_level_window_factory_unittest.cc [modify] https://crrev.com/53303949e92c0d5b963357fd763de7f69c2b07d9/services/ui/ws2/BUILD.gn [modify] https://crrev.com/53303949e92c0d5b963357fd763de7f69c2b07d9/services/ui/ws2/client_window.h [modify] https://crrev.com/53303949e92c0d5b963357fd763de7f69c2b07d9/services/ui/ws2/focus_handler.cc [modify] https://crrev.com/53303949e92c0d5b963357fd763de7f69c2b07d9/services/ui/ws2/window_delegate_impl.cc [modify] https://crrev.com/53303949e92c0d5b963357fd763de7f69c2b07d9/services/ui/ws2/window_delegate_impl.h [add] https://crrev.com/53303949e92c0d5b963357fd763de7f69c2b07d9/services/ui/ws2/window_properties.cc [add] https://crrev.com/53303949e92c0d5b963357fd763de7f69c2b07d9/services/ui/ws2/window_properties.h [modify] https://crrev.com/53303949e92c0d5b963357fd763de7f69c2b07d9/services/ui/ws2/window_service_client_test_helper.cc [modify] https://crrev.com/53303949e92c0d5b963357fd763de7f69c2b07d9/services/ui/ws2/window_service_client_test_helper.h [modify] https://crrev.com/53303949e92c0d5b963357fd763de7f69c2b07d9/services/ui/ws2/window_service_delegate.h [modify] https://crrev.com/53303949e92c0d5b963357fd763de7f69c2b07d9/testing/buildbot/filters/mash.ash_unittests.filter
Comment 1 by sky@chromium.org
, Jun 4 2018Status: Started (was: Untriaged)