mash: Ink drop remains on the AppList shelf button when the app list window hides. |
||||
Issue descriptionmash: Ink drop broken and crashes clicking the QuickLaunch shelf item. In chrome --mash (1) Click the QuickLaunch shelf item. (notice that the ink drop gets stuck) (2) Click the QuickLaunch shelf item again. Expected: The item activates/minimizes/restores as appropriate. Actual: The ink drop gets stuck and the second click will cause a crash. This is related to (blocking) Issue 557406 , and (blocking?) Issue 681072 . Crash stack: [10704:10704:0607/172104.954504:190127305586:FATAL:square_ink_drop_ripple.cc(237)] Check failed: InkDropState::HIDDEN == old_ink_drop_state (0 vs. 1) old_ink_drop_state=ACTION_PENDING #0 0x7f59845b51eb base::debug::StackTrace::StackTrace() #1 0x7f59845b3f2c base::debug::StackTrace::StackTrace() #2 0x7f5984620107 logging::LogMessage::~LogMessage() #3 0x7f5977f86ec3 views::SquareInkDropRipple::AnimateStateChange() #4 0x7f5977f84096 views::InkDropRipple::AnimateToState() #5 0x7f5977f7ccc3 views::InkDropImpl::AnimateToState() #6 0x7f5977f7811e views::InkDropHostView::AnimateInkDrop() #7 0x7f5977fa7692 views::CustomButton::OnMousePressed() #8 0x7f597587c407 ash::ShelfButton::OnMousePressed() #9 0x7f597807f582 views::View::ProcessMousePressed() #10 0x7f597807f236 views::View::OnMouseEvent() #11 0x7f5977f78536 views::InkDropHostView::OnMouseEvent() #12 0x7f597a282e63 ui::EventHandler::OnEvent() #13 0x7f597a28b615 ui::ScopedTargetHandler::OnEvent() #14 0x7f597a27ec00 ui::EventDispatcher::DispatchEvent() #15 0x7f597a27e55b ui::EventDispatcher::ProcessEvent() #16 0x7f597a27e2f2 ui::EventDispatcherDelegate::DispatchEventToTarget() #17 0x7f597a27e1d2 ui::EventDispatcherDelegate::DispatchEvent() #18 0x7f597809b566 views::internal::RootView::OnMousePressed() #19 0x7f59780a3826 views::Widget::OnMouseEvent() #20 0x7f59780f45ee views::NativeWidgetAura::OnMouseEvent() #21 0x7f597a282e63 ui::EventHandler::OnEvent() #22 0x7f597a27ec00 ui::EventDispatcher::DispatchEvent() #23 0x7f597a27e55b ui::EventDispatcher::ProcessEvent() #24 0x7f597a27e2f2 ui::EventDispatcherDelegate::DispatchEventToTarget() #25 0x7f597a27e1d2 ui::EventDispatcherDelegate::DispatchEvent() #26 0x7f597a283c91 ui::EventProcessor::OnEventFromSource() #27 0x7f597a283ddc ui::EventProcessor::OnEventFromSource() #28 0x7f597a284cb5 ui::EventSource::DeliverEventToSink() #29 0x7f597a28492c ui::EventSource::SendEventToSink() #30 0x7f5979ccfbec aura::WindowTreeHostMus::SendEventToSink() #31 0x7f5979cbf094 aura::(anonymous namespace)::DispatchEventToTarget() #32 0x7f5979cbec39 aura::WindowTreeClient::OnWindowInputEvent() #33 0x7f5979d8b5a1 ui::mojom::WindowTreeClientStubDispatch::Accept() #34 0x7f5979cd0833 ui::mojom::WindowTreeClientStub<>::Accept() #35 0x7f5984a52ea2 mojo::InterfaceEndpointClient::HandleValidatedMessage() #36 0x7f5984a52861 mojo::InterfaceEndpointClient::HandleIncomingMessageThunk::Accept() #37 0x7f5984a50760 mojo::FilterChain::Accept() #38 0x7f5984a546df mojo::InterfaceEndpointClient::HandleIncomingMessage() #39 0x7f5984a68e5c mojo::internal::MultiplexRouter::ProcessIncomingMessage() #40 0x7f5984a686e4 mojo::internal::MultiplexRouter::Accept() #41 0x7f5984a50760 mojo::FilterChain::Accept() #42 0x7f5984a45562 mojo::Connector::ReadSingleMessage() #43 0x7f5984a460de mojo::Connector::ReadAllAvailableMessages() #44 0x7f5984a45f2e mojo::Connector::OnHandleReadyInternal() #45 0x7f5984a45e2b mojo::Connector::OnWatcherHandleReady() #46 0x7f5984a48d6c _ZN4base8internal13FunctorTraitsIMN4mojo9ConnectorEFvjEvE6InvokeIPS3_JjEEEvS5_OT_DpOT0_ #47 0x7f5984a48c76 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN4mojo9ConnectorEFvjEJPS5_jEEEvOT_DpOT0_ #48 0x7f5984a48c07 _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo9ConnectorEFvjEJNS0_17UnretainedWrapperIS4_EEEEEFvjEE7RunImplIRKS6_RKSt5tupleIJS8_EEJLm0EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEEOj #49 0x7f5984a48b0c _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo9ConnectorEFvjEJNS0_17UnretainedWrapperIS4_EEEEEFvjEE3RunEPNS0_13BindStateBaseEOj #50 0x7f5984d3db81 _ZNKR4base8CallbackIFvjELNS_8internal8CopyModeE1ELNS2_10RepeatModeE1EE3RunEj #51 0x7f5984d3cfd1 mojo::SimpleWatcher::OnHandleReady() #52 0x7f5984d3e573 _ZN4base8internal13FunctorTraitsIMN4mojo13SimpleWatcherEFvijEvE6InvokeIRKNS_7WeakPtrIS3_EEJRKiRKjEEEvS5_OT_DpOT0_ #53 0x7f5984d3e3c4 _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN4mojo13SimpleWatcherEFvijERKNS_7WeakPtrIS5_EEJRKiRKjEEEvOT_OT0_DpOT1_ #54 0x7f5984d3e324 _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo13SimpleWatcherEFvijEJNS_7WeakPtrIS4_EEijEEEFvvEE7RunImplIRKS6_RKSt5tupleIJS8_ijEEJLm0ELm1ELm2EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE #55 0x7f5984d3e1cc _ZN4base8internal7InvokerINS0_9BindStateIMN4mojo13SimpleWatcherEFvijEJNS_7WeakPtrIS4_EEijEEEFvvEE3RunEPNS0_13BindStateBaseE #56 0x7f598457462e _ZNO4base8CallbackIFvvELNS_8internal8CopyModeE0ELNS2_10RepeatModeE0EE3RunEv #57 0x7f59845ba6e1 base::debug::TaskAnnotator::RunTask() #58 0x7f5984648c4e base::MessageLoop::RunTask() #59 0x7f5984648eb7 base::MessageLoop::DeferOrRunPendingTask() #60 0x7f59846491cf base::MessageLoop::DoWork() #61 0x7f598465b0cc base::MessagePumpLibevent::Run()
,
Jun 8 2017
Or events are being sent more than once (which is kind-of included in "we're not forwarding correct events.") In this case the InkDrop appears to already be in a PENDING state and it is trying to go to the PENDING state again. Might be caused by the previous PENDING state never progressing properly to a HIDDEN state OR multiple input events are triggering PENDING, which is suspiciously incorrect...
,
Aug 21 2017
DCHECKs changed to logs: https://chromium-review.googlesource.com/c/610364 The QuickLaunch shelf item no longer seems to have an ink drop defect. Re-targeting this bug for the one defect I still observe: The app list button stays highlighted when the app list window hides.
,
Aug 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b3a073579dffb23de8ebe1f181361b7f2a3d1ba7 commit b3a073579dffb23de8ebe1f181361b7f2a3d1ba7 Author: Mike Wasserman <msw@chromium.org> Date: Tue Aug 22 23:25:14 2017 mash: Fix the app list button's ink drop deactivation. Always use AppListDelegateImpl for Shell AppList notifications. (avoid AppListPresenterDelegate[Mus] duplication/disparity) Remove the delegate removal TODO, may relate to crbug.com/733662 (the delegate may be necessary until ui/app_list moves into ash) Fix root window checks (they're null for invalid/old display ids). Rename TestAppListPresenterImpl, connect with the ash app list. Add helpers to spin a run loop on app list show/dismiss (via mojo). Enable numerous tests on Mash that rely on the presenter, etc. Avoid mock app list notifications when possible in tests. Bug: 730887 , 696028 , 695751 Change-Id: I19a3f8adc7ca66a7ad81fb254198c96fb4428ae3 Reviewed-on: https://chromium-review.googlesource.com/624515 Reviewed-by: Xiyuan Xia <xiyuan@chromium.org> Reviewed-by: James Cook <jamescook@chromium.org> Commit-Queue: Michael Wasserman <msw@chromium.org> Cr-Commit-Position: refs/heads/master@{#496502} [modify] https://crrev.com/b3a073579dffb23de8ebe1f181361b7f2a3d1ba7/ash/BUILD.gn [modify] https://crrev.com/b3a073579dffb23de8ebe1f181361b7f2a3d1ba7/ash/app_list/app_list_delegate_impl.cc [modify] https://crrev.com/b3a073579dffb23de8ebe1f181361b7f2a3d1ba7/ash/app_list/app_list_presenter_delegate.cc [modify] https://crrev.com/b3a073579dffb23de8ebe1f181361b7f2a3d1ba7/ash/app_list/app_list_presenter_delegate_unittest.cc [add] https://crrev.com/b3a073579dffb23de8ebe1f181361b7f2a3d1ba7/ash/app_list/test_app_list_presenter_impl.cc [add] https://crrev.com/b3a073579dffb23de8ebe1f181361b7f2a3d1ba7/ash/app_list/test_app_list_presenter_impl.h [delete] https://crrev.com/a48fd5adbbe586213bbca80cb10cc83aaa705e70/ash/app_list/test_app_list_view_presenter_impl.cc [delete] https://crrev.com/a48fd5adbbe586213bbca80cb10cc83aaa705e70/ash/app_list/test_app_list_view_presenter_impl.h [modify] https://crrev.com/b3a073579dffb23de8ebe1f181361b7f2a3d1ba7/ash/shelf/app_list_button.cc [modify] https://crrev.com/b3a073579dffb23de8ebe1f181361b7f2a3d1ba7/ash/shelf/shelf_layout_manager.cc [modify] https://crrev.com/b3a073579dffb23de8ebe1f181361b7f2a3d1ba7/ash/shelf/shelf_layout_manager_unittest.cc [modify] https://crrev.com/b3a073579dffb23de8ebe1f181361b7f2a3d1ba7/ash/shelf/shelf_view_unittest.cc [modify] https://crrev.com/b3a073579dffb23de8ebe1f181361b7f2a3d1ba7/ash/shell.cc [modify] https://crrev.com/b3a073579dffb23de8ebe1f181361b7f2a3d1ba7/ash/wm/overview/window_selector_unittest.cc [modify] https://crrev.com/b3a073579dffb23de8ebe1f181361b7f2a3d1ba7/ash/wm/window_cycle_controller_unittest.cc [modify] https://crrev.com/b3a073579dffb23de8ebe1f181361b7f2a3d1ba7/ash/wm/workspace/workspace_layout_manager_unittest.cc [modify] https://crrev.com/b3a073579dffb23de8ebe1f181361b7f2a3d1ba7/ui/app_list/presenter/app_list_presenter_impl.cc [modify] https://crrev.com/b3a073579dffb23de8ebe1f181361b7f2a3d1ba7/ui/app_list/presenter/app_list_presenter_impl.h
,
Aug 22 2017
,
Jan 22 2018
|
||||
►
Sign in to add a comment |
||||
Comment 1 by sky@chromium.org
, Jun 8 2017