New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 692282 link

Starred by 1 user

Issue metadata

Status: Archived
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocked on:
issue 645996
issue 697127
issue 699213
issue 706051



Sign in to add a comment

Modal windows don't behave as modal in mash

Project Member Reported by sky@chromium.org, Feb 15 2017

Issue description

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.
 
Owner: moshayedi@chromium.org
Status: Assigned (was: Untriaged)
Components: MUS>Phase>1 MUS
Blockedon: 697127
Blockedon: 699213

Comment 5 by sky@chromium.org, Mar 27 2017

Labels: mustash-2
Blockedon: 706051
Owner: ----

Comment 8 by sky@chromium.org, Jul 26 2017

Labels: -Pri-1 Pri-2
I downgraded as this is not critical for mushrome as there is only one client of mus in mushrome.
Project Member

Comment 9 by bugdroid1@chromium.org, Aug 3 2017

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

Project Member

Comment 10 by bugdroid1@chromium.org, Aug 3 2017

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

Project Member

Comment 11 by bugdroid1@chromium.org, Aug 4 2017

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

Project Member

Comment 12 by bugdroid1@chromium.org, Aug 4 2017

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

Project Member

Comment 13 by bugdroid1@chromium.org, Aug 5 2017

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

Comment 14 by sky@chromium.org, Aug 7 2017

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.
Project Member

Comment 15 by bugdroid1@chromium.org, Aug 8 2017

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

Comment 16 by sky@chromium.org, Aug 8 2017

Owner: sky@chromium.org
Status: Fixed (was: Assigned)
Ok, I think all the cases have been handled as modality in mus not matches Chrome/ash.

Comment 17 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)
Components: -MUS Internals>Services>WindowService
Components: -MUS>Phase>1

Sign in to add a comment