New issue
Advanced search Search tips

Issue 799428 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 17
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

FATAL:event_generator.cc(737)] Check failed: !details.dispatcher_destroyed. When closing a widget under SetCapture

Project Member Reported by tapted@chromium.org, Jan 5 2018

Issue description

I'm adding a widget_unittest test in http://crrev.com/c/851752 to test lifetime around event monitors.

It closes a widget inside ui::EventHandler hooked up via SetCapture on the same widget.

Mus behaves differently to all other platforms, and triggers

[ RUN      ] WidgetTest.DestroyedWithCaptureViaEventMonitor
[31552:31552:0105/023054.639439:21913842587:FATAL:event_generator.cc(737)] Check failed: !details.dispatcher_destroyed. 
#0 0x0000008fddcc base::debug::StackTrace::StackTrace()
#1 0x0000008a7c8c logging::LogMessage::~LogMessage()
#2 0x000000da20e4 ui::test::EventGenerator::DoDispatchEvent()
#3 0x000000da06ed ui::test::EventGenerator::PressButton()
#4 0x000000647458 views::test::WidgetTest_DestroyedWithCaptureViaEventMonitor_Test::TestBody()


This might be a bug, or it could be that some of the assumptions that the event generator is making do not hold under Mus.

The lifetime issues I'm fixing are mac-specific, and the patch is already large, so I'll disable on mus for now.
 
Components: -MUS Internals>Services>WindowService
Owner: sky@chromium.org
Status: Started (was: Assigned)
Project Member

Comment 3 by bugdroid1@chromium.org, Oct 16

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

commit ecdccd71e2ea47293f38879c1e7294cd748307ba
Author: Mike Wasserman <msw@chromium.org>
Date: Tue Oct 16 05:48:26 2018

ws: Refactor views::EventMonitor to use ui::EventObserver

EventObserver has support for Window Service clients.
EventObserver prevents changes to events and dispatch.

Encapsulate FullscreenControlHost's EventMonitor; destroy with widget.
Move Mac's dispatch changes to the one user, MenuPreTargetHandlerMac.

Bug:  887725 ,  799428 
Change-Id: I1dcb9f7786885210ea56b0c3c3f7134e21228de1
Reviewed-on: https://chromium-review.googlesource.com/c/1258217
Commit-Queue: Michael Wasserman <msw@chromium.org>
Reviewed-by: Trent Apted <tapted@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#599873}
[modify] https://crrev.com/ecdccd71e2ea47293f38879c1e7294cd748307ba/ash/assistant/assistant_ui_controller.cc
[modify] https://crrev.com/ecdccd71e2ea47293f38879c1e7294cd748307ba/ash/assistant/assistant_ui_controller.h
[modify] https://crrev.com/ecdccd71e2ea47293f38879c1e7294cd748307ba/chrome/browser/ui/views/frame/browser_view.cc
[modify] https://crrev.com/ecdccd71e2ea47293f38879c1e7294cd748307ba/chrome/browser/ui/views/frame/browser_view.h
[modify] https://crrev.com/ecdccd71e2ea47293f38879c1e7294cd748307ba/chrome/browser/ui/views/fullscreen_control/fullscreen_control_host.cc
[modify] https://crrev.com/ecdccd71e2ea47293f38879c1e7294cd748307ba/chrome/browser/ui/views/fullscreen_control/fullscreen_control_host.h
[modify] https://crrev.com/ecdccd71e2ea47293f38879c1e7294cd748307ba/chrome/browser/ui/views/fullscreen_control/fullscreen_control_view_interactive_uitest.cc
[modify] https://crrev.com/ecdccd71e2ea47293f38879c1e7294cd748307ba/chrome/browser/ui/views/location_bar/location_bar_bubble_delegate_view.cc
[modify] https://crrev.com/ecdccd71e2ea47293f38879c1e7294cd748307ba/chrome/browser/ui/views/location_bar/location_bar_bubble_delegate_view.h
[modify] https://crrev.com/ecdccd71e2ea47293f38879c1e7294cd748307ba/chrome/browser/ui/views/tabs/tab_drag_controller.cc
[modify] https://crrev.com/ecdccd71e2ea47293f38879c1e7294cd748307ba/chrome/browser/ui/views/tabs/tab_drag_controller.h
[modify] https://crrev.com/ecdccd71e2ea47293f38879c1e7294cd748307ba/ui/views/controls/menu/menu_pre_target_handler_mac.h
[modify] https://crrev.com/ecdccd71e2ea47293f38879c1e7294cd748307ba/ui/views/controls/menu/menu_pre_target_handler_mac.mm
[modify] https://crrev.com/ecdccd71e2ea47293f38879c1e7294cd748307ba/ui/views/event_monitor.h
[modify] https://crrev.com/ecdccd71e2ea47293f38879c1e7294cd748307ba/ui/views/event_monitor_aura.cc
[modify] https://crrev.com/ecdccd71e2ea47293f38879c1e7294cd748307ba/ui/views/event_monitor_aura.h
[modify] https://crrev.com/ecdccd71e2ea47293f38879c1e7294cd748307ba/ui/views/event_monitor_mac.h
[modify] https://crrev.com/ecdccd71e2ea47293f38879c1e7294cd748307ba/ui/views/event_monitor_mac.mm
[modify] https://crrev.com/ecdccd71e2ea47293f38879c1e7294cd748307ba/ui/views/event_monitor_unittest.cc
[modify] https://crrev.com/ecdccd71e2ea47293f38879c1e7294cd748307ba/ui/views/mouse_watcher.cc
[modify] https://crrev.com/ecdccd71e2ea47293f38879c1e7294cd748307ba/ui/views/widget/widget_unittest.cc

Status: Fixed (was: Started)
I think it's safe to close this, the test is now enabled on Mus

Sign in to add a comment