Windows PWA: Page info dialog disappears when mouse touches edge of window |
||||||
Issue descriptionChrome 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.
,
Aug 3
Issue 869289 has been merged into this issue.
,
Aug 3
,
Aug 6
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]
,
Aug 6
,
Aug 6
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]
,
Aug 6
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.
,
Aug 7
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
,
Aug 8
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...
,
Aug 9
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.
,
Aug 10
Screen casts of WIP CL: https://chromium-review.googlesource.com/c/chromium/src/+/1170664
,
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
,
Aug 20
,
Aug 21
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by alancutter@chromium.org
, Aug 3