Bring up a javscript alert in mash and notice you can still click on other windows and you don't get the gray background. I suspect this is because of 645996. Fixing 645996 may just fix this, but I'm filing separately to make sure we verify that.
I downgraded as this is not critical for mushrome as there is only one client of mus in mushrome.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ce7039e7c8ccd09ab3ff99cb21d083e513b15dd2 commit ce7039e7c8ccd09ab3ff99cb21d083e513b15dd2 Author: Scott Violet <sky@chromium.org> Date: Thu Aug 03 00:50:51 2017 chromeos: remove restriction that system modal windows must be in a display Prior to this patch system modal windows had to be attached to a display, otherwise the request to set modal failed. This is problematic as the order done by NativeWidgetAura is to set modality, then add. BUG= 692282 TEST=covered by test Change-Id: Ibb5f96f7e44eac205eb39244bd61bca23ce45b03 Reviewed-on: https://chromium-review.googlesource.com/599147 Reviewed-by: Elliot Glaysher <erg@chromium.org> Commit-Queue: Scott Violet <sky@chromium.org> Cr-Commit-Position: refs/heads/master@{#491574} [modify] https://crrev.com/ce7039e7c8ccd09ab3ff99cb21d083e513b15dd2/services/ui/ws/window_server.cc [modify] https://crrev.com/ce7039e7c8ccd09ab3ff99cb21d083e513b15dd2/services/ui/ws/window_server.h [modify] https://crrev.com/ce7039e7c8ccd09ab3ff99cb21d083e513b15dd2/services/ui/ws/window_tree.cc [modify] https://crrev.com/ce7039e7c8ccd09ab3ff99cb21d083e513b15dd2/services/ui/ws/window_tree_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7b688d7b7a6e9ce4d720028b198a099bd760ead8 commit 7b688d7b7a6e9ce4d720028b198a099bd760ead8 Author: Scott Violet <sky@chromium.org> Date: Thu Aug 03 23:09:09 2017 chromeos: makes window manager correctly deal with modal windows This changes the following: . child modal windows are now correctly dealt with. . previously if the target of an event was blocked by a modal window, then the event was targetted at the modal window. This patch makes it so that either the event is not dispatched, or the event falls back to the root (behavior dictated by flag in EventDispatcher). This patch brings the handling of modal windows in line with ui/wm/core/WindowModalityController and closer to that of RootWindowController::RootWindowController::CanWindowReceiveEvents(). I still need more wiring to implement rest of logic in RootWindowController::CanWindowReceiveEvents(). BUG= 692282 , 697127 TEST=covered by tests Change-Id: I9af1b6d214b489e5819a2452d734754b890ba0da Reviewed-on: https://chromium-review.googlesource.com/596548 Reviewed-by: Tom Sepez <tsepez@chromium.org> Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org> Commit-Queue: Scott Violet <sky@chromium.org> Cr-Commit-Position: refs/heads/master@{#491870} [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/public/interfaces/window_tree.mojom [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/BUILD.gn [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/access_policy.h [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/default_access_policy.cc [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/default_access_policy.h [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/display.cc [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/display.h [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/event_dispatcher.cc [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/event_dispatcher.h [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/event_dispatcher_delegate.h [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/event_dispatcher_unittest.cc [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/focus_controller.cc [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/focus_controller.h [delete] https://crrev.com/d07794506ed64430f85c18824253897740e86e63/services/ui/ws/focus_controller_delegate.h [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/focus_controller_unittest.cc [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/modal_window_controller.cc [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/modal_window_controller.h [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/server_window.cc [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/server_window.h [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/test_utils.cc [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/window_manager_access_policy.cc [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/window_manager_access_policy.h [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/window_manager_state.cc [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/window_manager_state.h [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/window_manager_state_unittest.cc [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/window_server.cc [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/window_tree.cc [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/window_tree.h [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/services/ui/ws/window_tree_unittest.cc [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/ui/aura/client/aura_constants.cc [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/ui/aura/client/aura_constants.h [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/ui/aura/mus/in_flight_change.h [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/ui/aura/mus/window_tree_client.cc [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/ui/aura/test/mus/test_window_tree.cc [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/ui/aura/test/mus/test_window_tree.h [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/ui/wm/core/window_modality_controller.cc [modify] https://crrev.com/7b688d7b7a6e9ce4d720028b198a099bd760ead8/ui/wm/public/activation_client.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0f803d05cb89310b96b1200636ea665d725debc3 commit 0f803d05cb89310b96b1200636ea665d725debc3 Author: Scott Violet <sky@chromium.org> Date: Fri Aug 04 18:24:42 2017 chromeos: wires up notifying window manager when modal window blocks event This allows ash to animate the block. BUG= 692282 TEST=none Change-Id: I678d0ff38b002369f50b03626dcf37f758ee5a34 Reviewed-on: https://chromium-review.googlesource.com/596951 Reviewed-by: Tom Sepez <tsepez@chromium.org> Reviewed-by: Elliot Glaysher <erg@chromium.org> Commit-Queue: Scott Violet <sky@chromium.org> Cr-Commit-Position: refs/heads/master@{#492076} [modify] https://crrev.com/0f803d05cb89310b96b1200636ea665d725debc3/ash/mus/window_manager.cc [modify] https://crrev.com/0f803d05cb89310b96b1200636ea665d725debc3/ash/mus/window_manager.h [modify] https://crrev.com/0f803d05cb89310b96b1200636ea665d725debc3/services/ui/public/interfaces/window_manager.mojom [modify] https://crrev.com/0f803d05cb89310b96b1200636ea665d725debc3/services/ui/ws/event_dispatcher_delegate.h [modify] https://crrev.com/0f803d05cb89310b96b1200636ea665d725debc3/services/ui/ws/test_utils.cc [modify] https://crrev.com/0f803d05cb89310b96b1200636ea665d725debc3/services/ui/ws/test_utils.h [modify] https://crrev.com/0f803d05cb89310b96b1200636ea665d725debc3/services/ui/ws/window_manager_state.cc [modify] https://crrev.com/0f803d05cb89310b96b1200636ea665d725debc3/services/ui/ws/window_manager_state.h [modify] https://crrev.com/0f803d05cb89310b96b1200636ea665d725debc3/services/ui/ws/window_tree.cc [modify] https://crrev.com/0f803d05cb89310b96b1200636ea665d725debc3/services/ui/ws/window_tree.h [modify] https://crrev.com/0f803d05cb89310b96b1200636ea665d725debc3/services/ui/ws/window_tree_client_unittest.cc [modify] https://crrev.com/0f803d05cb89310b96b1200636ea665d725debc3/ui/aura/mus/window_manager_delegate.cc [modify] https://crrev.com/0f803d05cb89310b96b1200636ea665d725debc3/ui/aura/mus/window_manager_delegate.h [modify] https://crrev.com/0f803d05cb89310b96b1200636ea665d725debc3/ui/aura/mus/window_tree_client.cc [modify] https://crrev.com/0f803d05cb89310b96b1200636ea665d725debc3/ui/aura/mus/window_tree_client.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0c0dcde36a284c4fe215f981a2eb82efb342c91f commit 0c0dcde36a284c4fe215f981a2eb82efb342c91f Author: Scott Violet <sky@chromium.org> Date: Fri Aug 04 21:48:18 2017 chromeos: add ability for window-manager to set blocking containers Blocking containers are used to dictate the minimum window (in the z-order) that valid event targets must be above. For example, if you had a window hierarchy like: A |- A1 | |-A11 | |- A2 |-A21 A is the root, A1 and A2 are children of A (siblings). A11 is a child of A1 and A21 a child of A2. If the min container was set to A2, then clicks on A11 would not be delivered because A11 (and A1) are beneath the min container. Blocking containers also specify the container that system modal windows are in. When this is set, and there is a system modal window in this container, then only windows associated with the system modal window *and* above this container are considered valid event targets. These are used to enforce we don't accidentally deliver events to windows that are blocked by the lock screen/system-modal windows. BUG= 692282 TEST=covered by test Change-Id: I142e08672092bd45b77ad4e7f59769a55621609f Reviewed-on: https://chromium-review.googlesource.com/601180 Commit-Queue: Scott Violet <sky@chromium.org> Reviewed-by: Elliot Glaysher <erg@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org> Cr-Commit-Position: refs/heads/master@{#492132} [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/ash/mus/bridge/shell_port_mash.cc [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/ash/mus/bridge/shell_port_mash.h [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/ash/root_window_controller.cc [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/ash/shell.cc [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/ash/shell_port.h [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/ash/shell_port_classic.cc [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/ash/shell_port_classic.h [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/ash/wm/window_util.cc [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/ash/wm/window_util.h [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/services/ui/public/interfaces/window_manager.mojom [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/services/ui/public/interfaces/window_manager_constants.mojom [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/services/ui/ws/BUILD.gn [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/services/ui/ws/event_dispatcher.cc [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/services/ui/ws/event_dispatcher.h [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/services/ui/ws/event_dispatcher_unittest.cc [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/services/ui/ws/modal_window_controller.cc [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/services/ui/ws/modal_window_controller.h [add] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/services/ui/ws/modal_window_controller_unittest.cc [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/services/ui/ws/server_window.cc [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/services/ui/ws/server_window.h [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/services/ui/ws/test_utils.h [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/services/ui/ws/window_tree.cc [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/services/ui/ws/window_tree.h [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/ui/aura/mus/window_manager_delegate.h [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/ui/aura/mus/window_tree_client.cc [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/ui/aura/mus/window_tree_client.h [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/ui/aura/test/mus/test_window_manager_client.cc [modify] https://crrev.com/0c0dcde36a284c4fe215f981a2eb82efb342c91f/ui/aura/test/mus/test_window_manager_client.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e09ae9ae37364468dce317c84b9e7ca3f44cae50 commit e09ae9ae37364468dce317c84b9e7ca3f44cae50 Author: Scott Violet <sky@chromium.org> Date: Sat Aug 05 00:57:56 2017 chromeos: make sure cursor updating takes modals into account Prior to this patch the mouse cursor would not take modal windows into account. This means the cursor could change to indicate a resize could happen when in fact it's blocked. BUG= 692282 TEST=covered by test Change-Id: Iefeb5baf9828239db9f0e9969fbf8b4316fb08c1 Reviewed-on: https://chromium-review.googlesource.com/602531 Reviewed-by: Elliot Glaysher <erg@chromium.org> Commit-Queue: Scott Violet <sky@chromium.org> Cr-Commit-Position: refs/heads/master@{#492202} [modify] https://crrev.com/e09ae9ae37364468dce317c84b9e7ca3f44cae50/services/ui/ws/event_dispatcher.cc [modify] https://crrev.com/e09ae9ae37364468dce317c84b9e7ca3f44cae50/services/ui/ws/event_dispatcher.h [modify] https://crrev.com/e09ae9ae37364468dce317c84b9e7ca3f44cae50/services/ui/ws/event_dispatcher_unittest.cc [modify] https://crrev.com/e09ae9ae37364468dce317c84b9e7ca3f44cae50/services/ui/ws/modal_window_controller.cc [modify] https://crrev.com/e09ae9ae37364468dce317c84b9e7ca3f44cae50/services/ui/ws/modal_window_controller_unittest.cc
At this point the only issue I'm aware of is the cursor can get stuck on the wrong type when a system modal is showing.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/587cad8950e6fd47171afbf336c40db60f27e8ef commit 587cad8950e6fd47171afbf336c40db60f27e8ef Author: Scott Violet <sky@chromium.org> Date: Tue Aug 08 16:47:13 2017 chromeos: make events blocked by a modal target the window manager Currently pointer events that are blocked by a modal are not sent to the window manager. This patch makes them be sent to the window manager. BUG= 692282 TEST=covered by tests Change-Id: Ia119c8edefe18d43bf0ae4710072d215ad5fde35 Reviewed-on: https://chromium-review.googlesource.com/604754 Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org> Commit-Queue: Scott Violet <sky@chromium.org> Cr-Commit-Position: refs/heads/master@{#492659} [modify] https://crrev.com/587cad8950e6fd47171afbf336c40db60f27e8ef/services/ui/service.cc [modify] https://crrev.com/587cad8950e6fd47171afbf336c40db60f27e8ef/services/ui/ws/event_dispatcher.cc [modify] https://crrev.com/587cad8950e6fd47171afbf336c40db60f27e8ef/services/ui/ws/event_dispatcher.h [modify] https://crrev.com/587cad8950e6fd47171afbf336c40db60f27e8ef/services/ui/ws/event_dispatcher_delegate.h [modify] https://crrev.com/587cad8950e6fd47171afbf336c40db60f27e8ef/services/ui/ws/event_dispatcher_unittest.cc [modify] https://crrev.com/587cad8950e6fd47171afbf336c40db60f27e8ef/services/ui/ws/window_manager_state.cc [modify] https://crrev.com/587cad8950e6fd47171afbf336c40db60f27e8ef/services/ui/ws/window_manager_state.h
Ok, I think all the cases have been handled as modality in mus not matches Chrome/ash.
Comment 1 by moshayedi@chromium.org
, Feb 23 2017Status: Assigned (was: Untriaged)