New issue
Advanced search Search tips

Issue 921402 link

Starred by 1 user

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

External display shows the old notification right after being connected with device

Project Member Reported by andrewxu@chromium.org, Jan 13

Issue description

Chrome Version: 73.0.3666.0
OS: CrOS

What steps will reproduce the problem?
(1) Connect the external display with device in extending mode.
(2) Unplug the external display connected in step 1. It should show "Removed display XXXX" on internal display.
(3) Connect the external display with device again. It should show "Extending screen to XXXX" on internal display.

What is the expected result?
It should show "Extending screen to XXXX" on the external display as well.

What happens instead?
It shows "Removed display XXXX" on the external display now.


 

Comment 1 Deleted

Comment 2 by andrewxu@chromium.org, Jan 17 (5 days ago)

Let me explain why it can happen. Consider of the situation that there is already a notification popup with contents of "Remove display XXX", called Popup A, shown on the internal display. It is expected that after connecting an external display, both internal and external displays show notification popup with contents of "Extending screen to XXX", called Popup B. 
In fact, when an external display is connected, MessagePopupCollection for external display is created. Then AshPopupAlignmentDelegate::OnDisplayMetricsChanged is called, which will finally call MessagePopupCollection::Update to show the popup A on the external display. Then MessageCenterImpl::RemoveNotification is called. However, it fails to close the popup A on the external display because at this moment MessagePopupCollection of the external display is still in animation. Later when the popup B is created, MessagePopupCollection::AddPopup does not work. Because the popup A and popup B share the same notification id (chrome://settings/display). It is the reason why the old notification shows on the external display.

Sign in to add a comment