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

Issue 864386 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 21
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 1
Type: Bug



Sign in to add a comment

Windows PWA: Page info dialog disappears when mouse touches edge of window

Project Member Reported by alancutter@chromium.org, Jul 17

Issue description

Chrome Version: 69
OS: Win10

What steps will reproduce the problem?
(1) Open PWA window > menu > App info
(2) Move mouse around.

What is the expected result?

Nothing.

What happens instead?

The page info dialog closes when the mouse reaches the edge of the window.

Please use labels and text to provide additional information.

If this is a regression (i.e., worked before), please consider using the
bisect tool (https://www.chromium.org/developers/bisect-builds-py) to help
us identify the root cause and more rapidly triage the issue.

For graphics-related bugs, please copy/paste the contents of the about:gpu
page at the end of this report.


 
Video-Tue-Jul-17-2018-16-32-48.webm
6.1 MB View Download
Labels: -Pri-3 Pri-1
Cc: nyerramilli@chromium.org mgiuca@chromium.org rbasuvula@chromium.org alancutter@chromium.org
 Issue 869289  has been merged into this issue.
Blocking: 851845
The mouse event handling seems to cause the page info widget activation state to change. When the dialog is defocused it closes as per normal. Not sure why these mouse move events cause the focus state to change.

base::debug::StackTrace::StackTrace [0x00007FFD89D081D4+36] (D:\chromium\src\base\debug\stack_trace_win.cc:286)
logging::LogMessage::~LogMessage [0x00007FFD89D3692C+92] (D:\chromium\src\base\logging.cc:600)
views::HWNDMessageHandler::Close [0x00007FFD7D11BA28+156] (D:\chromium\src\ui\views\win\hwnd_message_handler.cc:453)
views::Widget::Close [0x00007FFD7D10C73E+252] (D:\chromium\src\ui\views\widget\widget.cc:597)
views::Widget::OnNativeWidgetActivationChanged [0x00007FFD7D10D691+153] (D:\chromium\src\ui\views\widget\widget.cc:1038)
views::DesktopNativeWidgetAura::HandleActivationChanged [0x00007FFD7D137047+27] (D:\chromium\src\ui\views\widget\desktop_aura\desktop_native_widget_aura.cc:352)
views::HWNDMessageHandler::PostProcessActivateMessage [0x00007FFD7D11D5D1+153] (D:\chromium\src\ui\views\win\hwnd_message_handler.cc:1221)
views::HWNDMessageHandler::OnWndProc [0x00007FFD7D11D4C5+385] (D:\chromium\src\ui\views\win\hwnd_message_handler.cc:960)
gfx::WindowImpl::WndProc [0x00007FFD90604313+183] (D:\chromium\src\ui\gfx\win\window_impl.cc:303)
base::win::WrappedWindowProc<&gfx::WindowImpl::WndProc> [0x00007FFD90603C4B+15] (D:\chromium\src\base\win\wrapped_window_proc.h:79)
CallWindowProcW [0x00007FFDB5606CC1+1217]
CallWindowProcW [0x00007FFDB560699C+412]
IsWindowVisible [0x00007FFDB5610453+419]
KiUserCallbackDispatcher [0x00007FFDB5B6DBC4+36]
NtUserMessageCall [0x00007FFDB2731164+20]
GetWindowTextW [0x00007FFDB5604676+2022]
UpdateWindow [0x00007FFDB5603E52+242]
HitTestThemeBackground [0x00007FFDB02A5C0A+29178]
GetThemeAppProperties [0x00007FFDB02AF034+564]
HitTestThemeBackground [0x00007FFDB02A4A34+24612]
HitTestThemeBackground [0x00007FFDB02A34E1+19153]
GetWindowTextW [0x00007FFDB5604394+1284]
views::HWNDMessageHandler::HandleMouseInputForCaption [0x00007FFD7D11FBD5+325] (D:\chromium\src\ui\views\win\hwnd_message_handler.cc:3119)
views::HWNDMessageHandler::HandleMouseEventInternal [0x00007FFD7D11DCB5+945] (D:\chromium\src\ui\views\win\hwnd_message_handler.cc:2852)
views::HWNDMessageHandler::OnMouseRange [0x00007FFD7D118412+14] (D:\chromium\src\ui\views\win\hwnd_message_handler.cc:1818)
views::HWNDMessageHandler::_ProcessWindowMessage [0x00007FFD7D117289+273] (D:\chromium\src\ui\views\win\hwnd_message_handler.h:319)
views::HWNDMessageHandler::OnWndProc [0x00007FFD7D11D3F0+172] (D:\chromium\src\ui\views\win\hwnd_message_handler.cc:937)
gfx::WindowImpl::WndProc [0x00007FFD90604313+183] (D:\chromium\src\ui\gfx\win\window_impl.cc:303)
base::win::WrappedWindowProc<&gfx::WindowImpl::WndProc> [0x00007FFD90603C4B+15] (D:\chromium\src\base\win\wrapped_window_proc.h:79)
CallWindowProcW [0x00007FFDB5606CC1+1217]
DispatchMessageW [0x00007FFDB5606693+467]
base::MessagePumpForUI::ProcessMessageHelper [0x00007FFD89D53E92+162] (D:\chromium\src\base\message_loop\message_pump_win.cc:375)
base::MessagePumpForUI::DoRunLoop [0x00007FFD89D53947+135] (D:\chromium\src\base\message_loop\message_pump_win.cc:167)
base::MessagePumpWin::Run [0x00007FFD89D532CE+78] (D:\chromium\src\base\message_loop\message_pump_win.cc:54)
base::MessageLoop::Run [0x00007FFD89D4DD78+136] (D:\chromium\src\base\message_loop\message_loop.cc:385)
base::RunLoop::Run [0x00007FFD89D9E4E9+249] (D:\chromium\src\base\run_loop.cc:105)
ChromeBrowserMainParts::MainMessageLoopRun [0x00007FFD6D394A92+226] (D:\chromium\src\chrome\browser\chrome_browser_main.cc:2096)
content::BrowserMainLoop::RunMainMessageLoopParts [0x00007FFD6A0FE110+72] (D:\chromium\src\content\browser\browser_main_loop.cc:1036)
content::BrowserMainRunnerImpl::Run [0x00007FFD6A101ADB+169] (D:\chromium\src\content\browser\browser_main_runner_impl.cc:163)
content::BrowserMain [0x00007FFD6A0FA0CF+203] (D:\chromium\src\content\browser\browser_main.cc:47)
content::RunBrowserProcessMain [0x00007FFD6AD4F9B3+111] (D:\chromium\src\content\app\content_main_runner_impl.cc:569)
content::ContentMainRunnerImpl::Run [0x00007FFD6AD50403+771] (D:\chromium\src\content\app\content_main_runner_impl.cc:925)
service_manager::Main [0x00007FFD89AF5DA6+2034] (D:\chromium\src\services\service_manager\embedder\main.cc:472)
content::ContentMain [0x00007FFD6AD4F8E7+67] (D:\chromium\src\content\app\content_main.cc:19)
ChromeMain [0x00007FFD6C0811E4+332] (D:\chromium\src\chrome\app\chrome_main.cc:104)
MainDllLoader::Launch [0x00007FF756683B83+627] (D:\chromium\src\chrome\app\main_dll_loader_win.cc:201)
wWinMain [0x00007FF7566818AF+2223] (D:\chromium\src\chrome\app\chrome_exe_main_win.cc:230)
__scrt_common_main_seh [0x00007FF7567513AE+262] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283)
BaseThreadInitThunk [0x00007FFDB57F3034+20]
RtlUserThreadStart [0x00007FFDB5B41431+33]

Cc: bsep@chromium.org ananta@chromium.org
The previous stack trace was for Windows 10.

This is the stack trace for Windows 7 (Aero enabled):
base::debug::StackTrace::StackTrace [0x726E4450+32]
base::debug::StackTrace::StackTrace [0x726E3A9D+13]
logging::LogMessage::~LogMessage [0x7270D304+84]
views::Widget::Close [0x6C088F75+89]
views::BubbleDialogDelegateView::OnWidgetActivationChanged [0x6C023448+46]
views::Widget::OnNativeWidgetActivationChanged [0x6C089BCD+125]
views::DesktopNativeWidgetAura::HandleActivationChanged [0x6C0AD7DE+24]
views::HWNDMessageHandler::PostProcessActivateMessage [0x6C097C7B+135]
views::HWNDMessageHandler::OnWndProc [0x6C097B9C+328]
gfx::WindowImpl::WndProc [0x7265F85C+156]
base::win::WrappedWindowProc<&gfx::WindowImpl::WndProc> [0x7265F27A+80]
gapfnScSendMessage [0x758862FA+818]
GetThreadDesktop [0x75886D3A+215]
GetThreadDesktop [0x75886DE8+389]
GetThreadDesktop [0x75886E44+481]
KiUserCallbackDispatcher [0x770E013A+46]
gapfnScSendMessage [0x75886A8C+2756]
(No symbol) [0x72160B64]
(No symbol) [0x72160B96]
GetPropW [0x7588729A+115]
views::HWNDMessageHandler::DefWindowProcWithRedrawLock [0x6C099142+64]
views::HWNDMessageHandler::HandleMouseInputForCaption [0x6C099DD2+258]
views::HWNDMessageHandler::HandleMouseEventInternal [0x6C0982E4+952]
views::HWNDMessageHandler::OnMouseRange [0x6C0934F7+19]
views::HWNDMessageHandler::_ProcessWindowMessage [0x6C0923EB+263]
views::HWNDMessageHandler::OnWndProc [0x6C097ACD+121]
gfx::WindowImpl::WndProc [0x7265F85C+156]
base::win::WrappedWindowProc<&gfx::WindowImpl::WndProc> [0x7265F27A+80]
gapfnScSendMessage [0x758862FA+818]
GetThreadDesktop [0x75886D3A+215]
CharPrevW [0x758877C4+312]
DispatchMessageW [0x7588788A+15]
base::MessagePumpForUI::ProcessMessageHelper [0x72725528+136]
base::MessagePumpForUI::DoRunLoop [0x727250AF+79]
base::MessagePumpWin::Run [0x72724B21+65]
base::MessageLoop::Run [0x727202B4+116]
base::RunLoop::Run [0x727618AC+204]
ChromeBrowserMainParts::MainMessageLoopRun [0x6D3B8FA8+194]
content::BrowserMainLoop::RunMainMessageLoopParts [0x680A0AE7+59]
content::BrowserMainRunnerImpl::Run [0x680A3CEC+146]
content::BrowserMain [0x6809D497+159]
content::RunBrowserProcessMain [0x68B3AA40+84]
content::ContentMainRunnerImpl::Run [0x68B3B268+528]
content::ContentServiceManagerMainDelegate::RunEmbedderProcess [0x68B3A1FF+19]
service_manager::Main [0x665A52C3+1418]
content::ContentMain [0x68B3A991+53]
ChromeMain [0x6C2F11C3+327]
MainDllLoader::Launch [0x00D53508+568]
wWinMain [0x00D5157C+1404]
__scrt_common_main_seh [0x00E01C3E+248] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283)
BaseThreadInitThunk [0x75C5343D+18]
RtlInitializeExceptionChain [0x77109832+99]
RtlInitializeExceptionChain [0x77109805+54]

The problem doesn't occur if I open the app info dialog using the keyboard. There might be some focus related weirdness going on when the mouse click happens on the app menu which immediately closes.
Testing on Windows 10 with GlassBrowserFrameView the problem doesn't happen if the dialog is launched from the main browser window's app menu or from a LabelButton in the hosted app titlebar.

Main window app menu sequence:
  OnNativeWidgetActivationChanged 1 main-window
  Created menu
  Closing menu
  Created page-info-dialog
  OnNativeWidgetActivationChanged 0 main-window
  OnNativeWidgetActivationChanged 1 page-info-dialog
  Closed menu

  Mouse click outside of page-info-dialog

  OnNativeWidgetActivationChanged 0 page-info-dialog
  Closing page-info-dialog
  OnNativeWidgetActivationChanged 1 main-window
  Closed page-info-dialog


Hosted app menu sequence:
  OnNativeWidgetActivationChanged 1 app-window
  Created menu
  Closing menu
  Created page-info-dialog
  OnNativeWidgetActivationChanged 0 app-window
  OnNativeWidgetActivationChanged 1 page-info-dialog
  Closed menu

  Mouse move into titlebar

  OnNativeWidgetActivationChanged 0 page-info-dialog
  Closing page-info-dialog
  OnNativeWidgetActivationChanged 1 app-window
  Closed page-info-dialog


Hosted app titlebar button sequence:
  OnNativeWidgetActivationChanged 1 app-window
  

  Created page-info-dialog
  OnNativeWidgetActivationChanged 0 app-window
  OnNativeWidgetActivationChanged 1 page-info-dialog


  Mouse click outside of page-info-dialog

  OnNativeWidgetActivationChanged 0 page-info-dialog
  Closing page-info-dialog
  OnNativeWidgetActivationChanged 1 app-window
  Closed page-info-dialog

Replacing the main window's app menu button with the hosted app menu button doesn't repro the bug. There's something in the window config that's making Windows behave differently...
If I add the hosted app menu button to regular windows I can repro the bug. It's not specific to hosted app window configurations. It's due to the app menu being in the titlebar rather than the client area.
Screen casts of WIP CL: https://chromium-review.googlesource.com/c/chromium/src/+/1170664
before.webm
1.9 MB View Download
after.webm
1.3 MB View Download
Project Member

Comment 12 by bugdroid1@chromium.org, Aug 20

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

commit 90a0ed3bfba1ce5692b517a2ee50c5d74d5f1f3e
Author: Alan Cutter <alancutter@chromium.org>
Date: Mon Aug 20 05:23:45 2018

Fix mouse hit detection for hosted app titlebar elements

This CL adds the HostedAppButtonContainer to GlassBrowserFrameView's
hit detection to ensure the correct mouse signal is sent to the OS.
This fixes a bug in Windows 10 causing certain mouse movements to
deactivate the page info dialog. See screencasts.

Before: https://bugs.chromium.org/p/chromium/issues/attachment?aid=352755&signed_aid=IbjUxm1YHiMINVDpeUwCXQ==&inline=1
After: https://bugs.chromium.org/p/chromium/issues/attachment?aid=352756&signed_aid=-NF8jWWjNwiA1KrUMeuVkQ==&inline=1

Bug:  864386 
Change-Id: Ic706784026431d603b44c1a80302fe0f92ee5868
Reviewed-on: https://chromium-review.googlesource.com/1170664
Commit-Queue: Alan Cutter <alancutter@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#584366}
[modify] https://crrev.com/90a0ed3bfba1ce5692b517a2ee50c5d74d5f1f3e/ash/frame/caption_buttons/frame_caption_button.cc
[modify] https://crrev.com/90a0ed3bfba1ce5692b517a2ee50c5d74d5f1f3e/ash/public/cpp/frame_border_hit_test.cc
[modify] https://crrev.com/90a0ed3bfba1ce5692b517a2ee50c5d74d5f1f3e/chrome/browser/ui/views/frame/glass_browser_frame_view.cc
[modify] https://crrev.com/90a0ed3bfba1ce5692b517a2ee50c5d74d5f1f3e/chrome/browser/ui/views/frame/hosted_app_button_container.cc
[modify] https://crrev.com/90a0ed3bfba1ce5692b517a2ee50c5d74d5f1f3e/chrome/browser/ui/views/frame/hosted_app_menu_button.cc
[modify] https://crrev.com/90a0ed3bfba1ce5692b517a2ee50c5d74d5f1f3e/ui/views/BUILD.gn
[add] https://crrev.com/90a0ed3bfba1ce5692b517a2ee50c5d74d5f1f3e/ui/views/window/hit_test_utils.cc
[add] https://crrev.com/90a0ed3bfba1ce5692b517a2ee50c5d74d5f1f3e/ui/views/window/hit_test_utils.h
[add] https://crrev.com/90a0ed3bfba1ce5692b517a2ee50c5d74d5f1f3e/ui/views/window/hit_test_utils_unittest.cc

Blocking: -851845
Labels: M-70
Status: Fixed (was: Assigned)

Sign in to add a comment