Issue metadata
Sign in to add a comment
|
No mouse event for ARC notifications on external screen |
||||||||||||||||||||||||
Issue descriptionVersion: 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.
,
Nov 2 2016
It happens in exteneded desktop mode. No issue in mirrored mode.
,
Nov 2 2016
,
Nov 2 2016
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.
,
Nov 2 2016
Attached reporo video. I found it happens only when the extended display is primary.
,
Nov 2 2016
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?
,
Nov 2 2016
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?
,
Nov 2 2016
Filed issue 661801 for the missing notification case mentioned in #4
,
Nov 3 2016
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.
,
Nov 3 2016
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.
,
Apr 26 2017
,
Apr 26 2017
Ah, I forgot that I filed this issue. Thank you for marking duplicated. |
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by xiy...@chromium.org
, Nov 2 2016