Drop the restriction to allow overscroll handoff to the root APZC for pan gestures
Categories
(Core :: Panning and Zooming, defect, P3)
Tracking
()
People
(Reporter: hiro, Unassigned)
References
(Blocks 1 open bug)
Details
In bug 1705280, we are going to add a special handling to handoff overscrolling to the root APZC, but as of now it will be restricted only for pan gestures. Without the restriction, we will get an assertion in TimeStamp.h when wheel scrolling happens at the edge of a child scroll container something like https://bugzilla.mozilla.org/attachment.cgi?id=9217601.
The call stack at that time is;
Assertion failure: !aOther.IsNull() (Cannot compute with aOther null value), at /Users/hiro/mozilla-unified/obj-x86_64-apple-darwin20.3.0/dist/include/mozilla/TimeStamp.h:483
#01: mozilla::layers::WheelBlockState::MaybeTimeout(mozilla::TimeStamp const&)[/Users/hiro/mozilla-unified/obj-x86_64-apple-darwin20.3.0/toolkit/library/build/XUL +0x14463a7]
#02: mozilla::layers::WheelBlockState::MaybeTimeout(mozilla::ScrollWheelInput const&)[/Users/hiro/mozilla-unified/obj-x86_64-apple-darwin20.3.0/toolkit/library/build/XUL +0x1445e6f]
#03: mozilla::layers::InputQueue::ReceiveScrollWheelInput(RefPtr<mozilla::layers::AsyncPanZoomController> const&, mozilla::layers::TargetConfirmationFlags, mozilla::ScrollWheelInput const&)[/Users/hiro/mozilla-unified/obj-x86_64-apple-darwin20.3.0/toolkit/library/build/XUL +0x1448809]
#04: mozilla::layers::InputQueue::ReceiveInputEvent(RefPtr<mozilla::layers::AsyncPanZoomController> const&, mozilla::layers::TargetConfirmationFlags, mozilla::InputData&, mozilla::Maybe<nsTArray<unsigned int> > const&)[/Users/hiro/mozilla-unified/obj-x86_64-apple-darwin20.3.0/toolkit/library/build/XUL +0x1447c0f]
#05: mozilla::layers::APZCTreeManager::ReceiveInputEvent(mozilla::InputData&)[/Users/hiro/mozilla-unified/obj-x86_64-apple-darwin20.3.0/toolkit/library/build/XUL +0x13e42ac]
#06: non-virtual thunk to mozilla::layers::APZCTreeManager::ReceiveInputEvent(mozilla::InputData&)[/Users/hiro/mozilla-unified/obj-x86_64-apple-darwin20.3.0/toolkit/library/build/XUL +0x13e89b2]
#07: mozilla::layers::APZInputBridge::ReceiveInputEvent(mozilla::WidgetInputEvent&)[/Users/hiro/mozilla-unified/obj-x86_64-apple-darwin20.3.0/toolkit/library/build/XUL +0x13f32cc]
#08: nsChildView::DispatchAPZWheelInputEvent(mozilla::InputData&, bool)[/Users/hiro/mozilla-unified/obj-x86_64-apple-darwin20.3.0/toolkit/library/build/XUL +0x42d8db5]
#09: -[ChildView scrollWheel:][/Users/hiro/mozilla-unified/obj-x86_64-apple-darwin20.3.0/toolkit/library/build/XUL +0x42df640]
#10: -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:][/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit +0x1c9b08]
#11: -[NSWindow(NSEventRouting) sendEvent:][/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit +0x1c7f9a]
#12: -[ToolbarWindow sendEvent:][/Users/hiro/mozilla-unified/obj-x86_64-apple-darwin20.3.0/toolkit/library/build/XUL +0x4333faa]
#13: -[NSApplication(NSEvent) sendEvent:][/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit +0x1c6b58]
#14: -[GeckoNSApplication sendEvent:][/Users/hiro/mozilla-unified/obj-x86_64-apple-darwin20.3.0/toolkit/library/build/XUL +0x431ee04]
#15: -[NSApplication _handleEvent:][/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit +0x49ef1e]
#16: -[NSApplication run][/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit +0x2f6af]
#17: nsAppShell::Run()[/Users/hiro/mozilla-unified/obj-x86_64-apple-darwin20.3.0/toolkit/library/build/XUL +0x4320274]
#18: nsAppStartup::Run()[/Users/hiro/mozilla-unified/obj-x86_64-apple-darwin20.3.0/toolkit/library/build/XUL +0x5af8cbf]
#19: XREMain::XRE_mainRun()[/Users/hiro/mozilla-unified/obj-x86_64-apple-darwin20.3.0/toolkit/library/build/XUL +0x5c2fd14]
#20: XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&)[/Users/hiro/mozilla-unified/obj-x86_64-apple-darwin20.3.0/toolkit/library/build/XUL +0x5c31453]
The current wheel block's mLastEventTime is null timestamp.
Updated•5 years ago
|
Description
•