DCHECK hit when trying to two-finger scroll a PDF on Mac |
|||
Issue description
DCHECK hit when trying to two-finger scroll a PDF on Mac.
I hit this in my local build while testing something else with PDFs.
When I open a PDF file and try to two-finger scroll it, I hit this DCHECK:
DCHECK(blink::WebInputEvent::GestureTapDown == event.type ||
gesture_event.resendingPluginId == browser_plugin_instance_id_);
Sometimes, it takes a few scrolls to trigger it.
I think it triggers on all PDFs, but for reference I hit it with this example one: http://www.pdf995.com/samples/pdf.pdf
,
Nov 22 2016
I don't think this is related to Kevin's work ... Mac touchpad events should never be hitting a JS touch hander. I suspect this is more likely belated fallout from the generation of GestureScroll events from the touchpad, so adding dtapuska@. If such a Gesture gets routed to the embedder somehow then it would likely trigger this check.
,
Nov 22 2016
It would seem to me that this dcheck would always fire if main thread scrolling was forced wouldn't it?
,
Nov 22 2016
I just hit this on chrome os using a touchscreen. (Using http://plugindoc.mozdev.org/testpages/pdf.html)
,
Nov 23 2016
I reverted my pdf pinch zoom change and confirmed that the DCHECK is still hit. I can reproduce this consistently by doing the following: 1) Move the cursor near the left edge of the viewer 2) Use the trackpad to scroll horizontally so that the navigate back is initiated 3) Once the cursor is outside of the viewer and over the area introduced by the navigate back, scroll vertically Here's a stacktrace: [1:1:1123/115345:FATAL:browser_plugin.cc(457)] Check failed: blink::WebInputEvent::GestureTapDown == event.type || gesture_event.resendingPluginId == browser_plugin_instance_id_. #0 0x7f63e509f096 base::debug::StackTrace::StackTrace() #1 0x7f63e50c172e logging::LogMessage::~LogMessage() #2 0x7f63ea2a0a02 content::BrowserPlugin::handleInputEvent() #3 0x7f63e81ac790 blink::WebPluginContainerImpl::handleGestureEvent() #4 0x7f63e81ada23 blink::WebPluginContainerImpl::handleEvent() #5 0x7f63e8e6ebf6 blink::HTMLPlugInElement::defaultEventHandler() #6 0x7f63e8c539c5 blink::EventDispatcher::dispatchEventPostProcess() #7 0x7f63e8c5500b blink::EventDispatcher::dispatch() #8 0x7f63e8c53394 blink::EventDispatchMediator::dispatchEvent() #9 0x7f63e8c54bfd blink::EventDispatcher::dispatchEvent() #10 0x7f63e904631f blink::ScrollManager::handleGestureScrollEvent() #11 0x7f63e9026490 blink::EventHandler::handleGestureScrollEvent() #12 0x7f63e81cfe71 blink::WebViewImpl::handleGestureEvent() #13 0x7f63e8213c84 blink::PageWidgetDelegate::handleInputEvent() #14 0x7f63e81d140e blink::WebViewImpl::handleInputEvent() #15 0x7f63ea1f0211 content::RenderWidgetInputHandler::HandleInputEvent() #16 0x7f63ea0b425d _ZN3IPC8MessageTI30InputMsg_HandleInputEvent_MetaSt5tupleIJPKN5blink13WebInputEventEN2ui11LatencyInfoEN7content22InputEventDispatchTypeEEEvE8DispatchINS9_12RenderWidgetESE_vMSE_FvS6_RKS8_SA_EEEbPKNS_7MessageEPT_PT0_PT1_T2_ #17 0x7f63ea0b6e53 content::RenderWidget::OnMessageReceived() #18 0x7f63ea0a53d1 content::RenderViewImpl::OnMessageReceived() #19 0x7f63e7f594c9 content::ChildThreadImpl::OnMessageReceived() #20 0x7f63ea1eb053 content::InputEventFilter::HandleEventOnMainThread() #21 0x7f63ea1ede92 content::MainThreadEventQueue::DispatchInFlightEvent() #22 0x7f63ea1ee536 content::MainThreadEventQueue::DispatchSingleEvent() #23 0x7f63e51616ee base::debug::TaskAnnotator::RunTask() #24 0x7f63e812669f blink::scheduler::TaskQueueManager::ProcessTaskFromWorkQueue() #25 0x7f63e8127369 blink::scheduler::TaskQueueManager::DoWork() #26 0x7f63e51616ee base::debug::TaskAnnotator::RunTask() #27 0x7f63e50cae12 base::MessageLoop::RunTask() #28 0x7f63e50cb30e base::MessageLoop::DeferOrRunPendingTask() #29 0x7f63e50cf330 base::MessageLoop::DoWork() #30 0x7f63e50cfb33 base::MessagePumpDefault::Run() #31 0x7f63e50cc43e base::MessageLoop::RunHandler() #32 0x7f63e50fd5d8 base::RunLoop::Run() #33 0x7f63ea0c7832 content::RendererMain() #34 0x7f63e4af9dcf content::RunZygote() #35 0x7f63e4afa135 content::RunNamedProcessTypeMain() #36 0x7f63e4afa1f5 content::ContentMainRunnerImpl::Run() #37 0x7f63e4af9489 content::ContentMain() #38 0x7f63e2ac3176 ChromeMain #39 0x7f63e0495fb6 __libc_start_main #40 0x7f63e2ac2fb4 <unknown>
,
Dec 6 2016
Mouse wheel event caused by start of two-finger scroll isn't handled by blink::WebViewImpl because of explicit check for PlatformWheelEventPhaseMayBegin flag. For the unconsumed wheel event content::MouseWheelEventQueue::ProcessMouseWheelAck function fires gesture scroll events which aren't expected by BrowserPlugin. Shouldn't these generated gesture scroll events also pass ShouldRouteEvent check and routed accordingly?
,
Aug 4 2017
I hit this DCHECK on Linux, but I was just using the mouse. |
|||
►
Sign in to add a comment |
|||
Comment 1 by thestig@chromium.org
, Nov 21 2016Components: UI>Input>Touch