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

Issue 732279 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome , Mac
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Regression: Action menus are not modal on CrOS/Mac

Project Member Reported by rkalavakuntla@chromium.org, Jun 12 2017

Issue description

Chrome Version:60.0.3112.26/9592.15.0 beta channel Kip,Paine and Minnie
OS:chrome

What steps will reproduce the problem?
(1)Sign in to user ->Launch Chrome,navigate to chrome://md-settings/onStartup
(2)Select 'Open a specific page or set of pages' radio button -> Add a new page
(3)Now click on the More actions.. icon and scroll the page through mouse wheel or touch pad(kindly refer video)

Actual:More actions menu moves along the page ,when we scroll the page through mouse wheel or touch pad(kindly refer video)
Expected:Menu shouldn't get scrolled along the page.

This is a Regression issue as same is working fine in 58.0.3029.112/9334.69.0 beta channel Kip

Note:
1.Issue is not seen in Linux,Windows
2.Issue is also seen in latest M-59 and M-61

@Stevenjb: Please confirm the issue



 
Actual (1).webm
2.1 MB View Download
Expected.webm
703 KB View Download
Cc: tbuck...@chromium.org steve...@chromium.org
Labels: -Pri-1 Pri-2
Owner: dpa...@chromium.org
dpapad@ - thoughts? Is this WAI?

It's surprising to me that this is CrOS only.

Hmm, on Linux I am unable to scroll the page with a mousewheel while the menu is open, whereas on Chrome OS I am, so I suspect that is the difference. Not sure whether that is desired / expected or not.

Comment 3 by dpa...@chromium.org, Jun 12 2017

This is not WAI. The action menu is implemented as a modal <dialog> which has guaranteed us (so far) that this is not possible. Did anyone try bisecting (I don't know if bisect-builds tool works for ChromeOS)?
The issue says it's in 59, 60, and 61, so bisecting from 58 would be challenging.

This does happen on Linux with target_os = "chromeos", so it should at least be fairly easy to reproduce and debug.

FWIW, I can't reproduce this with a Bluetooth dialog on top of the Bluetooth subpage in a small window that scrolls.

Comment 6 by dpa...@chromium.org, Jun 12 2017

Labels: Hotlist-MD-Settings-General

Comment 7 by dpa...@chromium.org, Jun 12 2017

Cc: dbeam@chromium.org
Summary: Regression: Action menus are not modal on CrOS (was: Regression:More actions menu moves along the page,while scrolling the page in chrome://md-settings/onStartup)
I am able to reproduce this. Making the title more generic to better reflect the issue. Still trying to figure out what is going on.

Comment 8 by dpa...@chromium.org, Jun 13 2017

Cc: falken@chromium.org
Components: Blink>HTML>Dialog
+falken
See attached screencast. So, it seems that on ChromeOS a <dialog> that has a transparent ::backdrop element is treated (erroneously) as non-modal. Adding a 0.01 opacity value makes the dialog behave as modal again. This sounds like a Blink bug to me, although have not been able to create a minimal repro yet.
dialog_bug.mp4
1.2 MB View Download

Comment 9 by falken@chromium.org, Jun 13 2017

Cc: aboxhall@chromium.org
#c8: Yes it sounds like a Blink bug. In the video it looks like when opacity is 0.01 you can't scroll and when 0.0000001 you can scroll, which is surprising to me. I guess it has something to do with layering (what used to be called RenderLayer) and compositing as done on Chrome OS vs other platforms. The 0.000001 opacity allowed the layer to escape the inertness imposed by a modal <dialog>.

+aboxhall who may be interested in inertness.
Thanks for the quick reply. Also just to clarify, in WebUI we actually specify a transparent ::backdrop, see [1]. I used values 0.01 and 0.0000001 for illustration purposes only.

[1] https://cs.chromium.org/chromium/src/ui/webui/resources/cr_elements/cr_action_menu/cr_action_menu.html?l=20
Status: Started (was: Assigned)
Cc: dominicc@chromium.org
Status: Assigned (was: Started)
@falken: Can you help forward this to on appropriate Blink person?

From my side, I can experiment with a workaround for ChromeOS, by adding a backdrop of 0.01 opacity, but this feels brittle. The different behavior between ChromeOS and Desktop in this case seems like a definite bug that should be addressed within Blink. It also breaks the <dialog> spec AFAIU. A dialog shown with showModal() should be modal regardless of how its backdrop is styled.
Cc: enne@chromium.org pdr@chromium.org
I'd recommend spinning off a new bug that you are Assigned to for the workaround, and marking this one as Untriaged with the sole component Blink>HTML>Dialog. Untriaged bugs in Blink get a lot of attention.

I think this would fall onto DOM/HTML team's plate.

In hopes that someone knows about layering/scrolling/compositing and could have a good guess about why Chrome OS would be different than all other platforms, adding +pdr, +enne.
Cc: dpa...@chromium.org
Components: -UI>Settings
Labels: OS-Mac
Owner: ----
Status: Untriaged (was: Assigned)
Summary: Regression: Action menus are not modal on CrOS/Mac (was: Regression: Action menus are not modal on CrOS)
I was able to reproduce this on a Mac too. Removing UI>Settings and marking as Untriaged per #13. Can someone from the Blink team please take a look? See comment#8 for current findings.

Comment 15 by tkent@chromium.org, Jul 14 2017

Components: -Blink>HTML>Dialog Blink>Paint Blink>Input
Components: -Blink>Paint
This is not painting. This actually looks to me like some change to event handling or filtering for scrolling.

Our bisect-builds.py script claims to handle chromeos as a bisect target on linux.
Cc: dtapu...@chromium.org
Labels: Hotlist-ThreadedRendering
Owner: flackr@chromium.org
Status: Assigned (was: Untriaged)
flackr@ do you know if there is a bit in the compositor knowing that this layer is a modal layer and consumes all events? I can't immediately find that.
flackr@ any update on this?

Sign in to add a comment