New issue
Advanced search Search tips

Issue 893085 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 22
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Regression: [Mac] Browser becomes unresponsive after clicking on 'Cast' icon.

Reported by db...@etouch.net, Oct 8

Issue description

Chrome Version: 71.0.3573.0 Revision 540477605ecd461a31985e4fcd67e8786e895802-refs/branch-heads/3573@{#1}(64 bit) 
OS: Mac(10.12.6, 10.13.1, 10.13.6, 10.14.1)

What steps will reproduce the problem?
(1) Launch chrome, open Cast overlay and right click on Cast icon, select 'Hide in chrome' menu option.
(2) Open wrench menu and right click on Cast icon(context menu gets opened) then click on icon, Observe.

Actual: Browser becomes unresponsive after clicking on Cast icon.

Expected: Browser should remain responsive in any way.

This is a regression issue, broken in 'M71', will soon update the other info:

Good Build:71.0.3563.0
Bad Build: 71.0.3564.0

Note: Issue is not seen on Windows (7, 8, 8.1, 10) & Linux(14.04 LTS) OS.

 
Actual_Result.mov
3.2 MB View Download
Expected_Result.mov
2.1 MB View Download
Components: UI>Browser
Labels: hasbisect
Owner: ellyjo...@chromium.org
Status: Assigned (was: Unconfirmed)
You are probably looking for a change made after 594724 (known good), but no later than 594739 (first known bad).
CHANGELOG URL:

https://chromium.googlesource.com/chromium/src/+log/b8d2f6ccc20a278c136defd39b783a7683a5a285..5adf37cfebecab32512d95bcaa67a591130b6774

Suspect: https://chromium.googlesource.com/chromium/src/+/951a112960520a46111a0d7dda53a405648d0193

@ellyjones: Could you please check whether this is caused with respect to your change, if not please help us in assigning it to the right 
owner.

Note: 
1. Unable to provide 'per-revision' bisect as it shows "[Error 5] Access denied" error message for above range. (tried on other machines but still getting the same error again)
2. Hence provided suspect through 'Chromium bisect'.
 
Labels: ReleaseBlock-Stable
marking as RBS, please change if required.
Labels: -Pri-1 -ReleaseBlock-Stable -M-71 -Target-71 Target-72 M-72 Pri-2
Thanks for the report.

How did you get the cast icon into the menu? In trunk, when I right-click it while the overlay is open, "Hide in Chromium Menu" is greyed out. In canary, the cast icon doesn't have that option at all.

Can you post a video of the entirety of your repro steps?

Based on the complexity of the steps posted I'm calling this Pri-2 and stripping RBS.
With respect comment3:

Above issue is not specific to Cast option, it can reproduce for any extension added from the Webstore.

Kindly refer attached screen cast for the another extension:

Thank you.
Actual_Issue.mov
4.2 MB View Download
Reproduced locally, thank you :)
There are two causes here.

Cause #1 is that MenuController's menu_closure_animation_ field is not reset when cancelling a nested submenu finishes. That causes the menu to refuse further mouse input because of MenuController::CanProcessInputEvents(), which causes the "browser is hanging" effect. Note that clicking on the system menu bar still works and fixes things in this state.

Once that is fixed, cause #2 becomes very apparent: the parent menu is still present and running but has been faded to invisibility. Clicking outside where the parent menu would be causes the parent menu to appear, re-fade, and then disappear properly. This is because the nested menu and the parent menu both share a NativeWidgetMacNSWindow, but MenuClosureAnimationMac fades that entire window rather than just the submenu that is being closed.

So, fix sketch:
1) Reset menu_closure_animation_ in MenuController::Cancel()
2) Have MenuClosureAnimationMac fade a MenuScrollViewContainer rather than the entire Widget
Easier repro steps, by the way:

1) Make a bookmark inside a folder
2) Turn on the bookmark bar
3) Mouse over that bookmark
4) Right-click
5) Left-click inside the menu somewhere
Project Member

Comment 9 by bugdroid1@chromium.org, Oct 22

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/edbe0951624f7920397dd7fd0d77cc76781842c4

commit edbe0951624f7920397dd7fd0d77cc76781842c4
Author: Elly Fong-Jones <ellyjones@chromium.org>
Date: Mon Oct 22 19:57:07 2018

macviews: fix menu closure when click hits a parent menu

This change:

1) Has MenuController reset the closure animation once ::Cancel runs, since it
   is legal for the MenuController to remain alive after ::Cancel (in fact this
   is how submenus work);
2) Has the menu closure animation in ::RepostEventAndCancel() target the active
   submenu instead of the root submenu when closing the outermost menu.

into invisibility but in fact only the outermost one is really dismissed,
leaving the other menu windows with invisible mouse capture.

Bug:  893085 , 897045 
Change-Id: I839710cc525856b14bd3995707ab253cb3258f5f
Reviewed-on: https://chromium-review.googlesource.com/c/1293792
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#601696}
[modify] https://crrev.com/edbe0951624f7920397dd7fd0d77cc76781842c4/ui/views/controls/menu/menu_controller.cc

Status: Fixed (was: Started)
Labels: TE-Verified-M72 TE-Verified-72.0.3589.0
Update:

Above issue is fixed on latest canary build #72.0.3589.0 using Mac(10.12.6, 10.13.1, 10.13.6, 10.14.1) and it is fixed.

Kindly refer attached screencast for the same.


Thank you. 
Actual_Fix.mov
1.8 MB View Download
Project Member

Comment 12 by bugdroid1@chromium.org, Oct 26

Labels: merge-merged-3578
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c1a51b1f62b3b44096a52b6e6d40a9c0a4d25631

commit c1a51b1f62b3b44096a52b6e6d40a9c0a4d25631
Author: Elly Fong-Jones <ellyjones@chromium.org>
Date: Fri Oct 26 17:41:54 2018

[MERGE] macviews: fix menu closure when click hits a parent menu

This change:

1) Has MenuController reset the closure animation once ::Cancel runs, since it
   is legal for the MenuController to remain alive after ::Cancel (in fact this
   is how submenus work);
2) Has the menu closure animation in ::RepostEventAndCancel() target the active
   submenu instead of the root submenu when closing the outermost menu.

into invisibility but in fact only the outermost one is really dismissed,
leaving the other menu windows with invisible mouse capture.

Bug:  893085 , 897045 
Change-Id: I839710cc525856b14bd3995707ab253cb3258f5f
Reviewed-on: https://chromium-review.googlesource.com/c/1293792
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#601696}(cherry picked from commit edbe0951624f7920397dd7fd0d77cc76781842c4)
Reviewed-on: https://chromium-review.googlesource.com/c/1302107
Cr-Commit-Position: refs/branch-heads/3578@{#347}
Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034}
[modify] https://crrev.com/c1a51b1f62b3b44096a52b6e6d40a9c0a4d25631/ui/views/controls/menu/menu_controller.cc

Labels: Merge-Merged-71-3578
The following revision refers to this bug: 
https://chromium.googlesource.com/chromium/src.git/+/c1a51b1f62b3b44096a52b6e6d40a9c0a4d25631

Commit: c1a51b1f62b3b44096a52b6e6d40a9c0a4d25631
Author: ellyjones@chromium.org
Commiter: sky@chromium.org
Date: 2018-10-26 17:41:54 +0000 UTC

[MERGE] macviews: fix menu closure when click hits a parent menu

This change:

1) Has MenuController reset the closure animation once ::Cancel runs, since it
   is legal for the MenuController to remain alive after ::Cancel (in fact this
   is how submenus work);
2) Has the menu closure animation in ::RepostEventAndCancel() target the active
   submenu instead of the root submenu when closing the outermost menu.

into invisibility but in fact only the outermost one is really dismissed,
leaving the other menu windows with invisible mouse capture.

Bug:  893085 , 897045 
Change-Id: I839710cc525856b14bd3995707ab253cb3258f5f
Reviewed-on: https://chromium-review.googlesource.com/c/1293792
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#601696}(cherry picked from commit edbe0951624f7920397dd7fd0d77cc76781842c4)
Reviewed-on: https://chromium-review.googlesource.com/c/1302107
Cr-Commit-Position: refs/branch-heads/3578@{#347}
Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034}
Labels: TE-Verified-M71 TE-Verified-71.0.3578.30
Update:

Above issue is fixed on latest Beta build #71.0.3578.30 using Mac(10.12.6, 10.13.1, 10.13.6, 10.14.1) and it is fixed.

Kindly refer attached screencast for the same.


Thank you. 





Fix_Issue.mov
3.2 MB View Download

Sign in to add a comment