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

Issue 661723 link

Starred by 4 users

Issue metadata

Status: Duplicate
Merged: issue 715362
Owner:
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

No mouse event for ARC notifications on external screen

Project Member Reported by yoshiki@chromium.org, Nov 2 2016

Issue description

Version: ToT (56.0.2904.0)

Popup notifications in external screen don't receieve any mouse events at all, including OnMouseEntered/Exited/Clicked, so that it has no close button and click doesn't work.

What steps will reproduce the problem?
(1) Connect an external monitor
(2) Show a popup notification
(3) Click on the popup notification, or move the cursor over the popup notification 

What is the expected output?
ArcCustomNotificationView::OnMouseEntered/Exited are called.

What do you see instead?
ArcCustomNotificationView::OnMouseEntered/Exited are not called.


Please use labels and text to provide additional information.

 
Is the external screen a mirrored display or extended desktop? Or does it make a difference?
It happens in exteneded desktop mode. No issue in mirrored mode.
Summary: No mouse event for ARC notifications on external screen (was: No mouse event for ARC notifications on exteranal screen)
I am unable to repro the problem. I got a monitor and set it up as extended desktop using a cyan and did not see the problem.

The only problem I found is that we are not re-parenting it properly when opening the notification center while there is already one opening in a different display. And in that case, the notification is not shown at all.
Attached reporo video. 

I found it happens only when the extended display is primary.
IMG_4610.m4v
18.8 MB Download
Wait, I found the popup behavior differs depending on the display settings.

1) Extended display is primary: popups are shown in both displays
2) Chromebook's display is primary: popup is shown only in the chromebook's display

This issue happens only when #1, since only in that case, two popups are shown.

I assume, rather than the mouse event issue, the popup behavior (described in #1) itself is wrong?
I saw popup shown up in both displays regardless which one is the primary. The problem is that we have only one notification surface and could not attach it to two popups. Unfortunately, I don't see easy fix on this. One way would be replace the reference counting and making ArcNotificationSurface to create notification window on demand. That would require quite some change because existing code assumes 1:1 mapping of notification window/surface to notification.

BTW, why do we popup on all displays? Can we just pick one display to show it, e.g. where the mouse cursor is?
Filed  issue 661801  for the missing notification case mentioned in #4
I don't know the reason of poping up on all displays, and I'm not sure if it's intended or not. IMO, showing popup only in the primary display is enough.


Btw, I found the (2) phenomenon in the comment #6 is due to the bug of this code:
https://cs.chromium.org/chromium/src/ui/message_center/views/message_popup_collection.cc?rcl=0&l=179
Let me file and fix this separately.
The reason that we show popup on all displays is that MessagePopupCollection is owned by WebNotificationTray <- StatusAreaWidget <- ShelfWidget <- WmShelf(Aura) <- RootWindowController. That is, we get a MessagePopupCollection per display and each instance would show popup on the display that owns it.

If that is not intended, I would also propose to just show it for the primary display. Think that is inline with the desktop chrome's behavior.

Mergedinto: 715362
Status: Duplicate (was: Assigned)
Ah, I forgot that I filed this issue. Thank you for marking duplicated.

Sign in to add a comment