Open Bug 1707491 Opened 5 years ago Updated 5 years ago

Drop the restriction to allow overscroll handoff to the root APZC for pan gestures

Categories

(Core :: Panning and Zooming, defect, P3)

defect

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.

Severity: -- → S3
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.