WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
141821
[Mac] REGRESSION: Scroll snap points broken after
r180018
https://bugs.webkit.org/show_bug.cgi?id=141821
Summary
[Mac] REGRESSION: Scroll snap points broken after r180018
Brent Fulgham
Reported
2015-02-19 18:13:36 PST
The existing Scroll Snap code on Mac relied on the DOM event bubbling phase to make sure the Scroll Snap animations to be triggered. Now that we do not pass these "no motion" events through the DOM event handler chain, the snap animations are not being triggered and the whole feature stops working.
Attachments
Patch
(5.97 KB, patch)
2015-02-20 08:33 PST
,
Brent Fulgham
no flags
Details
Formatted Diff
Diff
Patch v2 (fix iOS build)
(5.94 KB, patch)
2015-02-20 10:14 PST
,
Brent Fulgham
simon.fraser
: review+
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2015-02-19 18:14:06 PST
<
rdar://problem/19898333
>
Brent Fulgham
Comment 2
2015-02-20 08:33:14 PST
Created
attachment 246972
[details]
Patch
Brent Fulgham
Comment 3
2015-02-20 10:14:01 PST
Created
attachment 246974
[details]
Patch v2 (fix iOS build)
Simon Fraser (smfr)
Comment 4
2015-02-20 10:31:30 PST
Comment on
attachment 246974
[details]
Patch v2 (fix iOS build) View in context:
https://bugs.webkit.org/attachment.cgi?id=246974&action=review
> Source/WebCore/page/mac/EventHandlerMac.mm:991 > + if (scrollableArea->existingScrollAnimator()) > + scrollableArea->scrollAnimator()->processWheelEventForScrollSnap(wheelEvent);
Maybe if (ScrollAnimator* animator = scrollableArea->existingScrollAnimator()) scrollAnimator->processWheelEventForScrollSnap().
Brent Fulgham
Comment 5
2015-02-20 10:51:15 PST
Comment on
attachment 246974
[details]
Patch v2 (fix iOS build) View in context:
https://bugs.webkit.org/attachment.cgi?id=246974&action=review
>> Source/WebCore/page/mac/EventHandlerMac.mm:991 >> + scrollableArea->scrollAnimator()->processWheelEventForScrollSnap(wheelEvent); > > Maybe if (ScrollAnimator* animator = scrollableArea->existingScrollAnimator()) scrollAnimator->processWheelEventForScrollSnap().
Sure! I'll do that.
zalan
Comment 6
2015-02-20 11:01:14 PST
Comment on
attachment 246974
[details]
Patch v2 (fix iOS build) View in context:
https://bugs.webkit.org/attachment.cgi?id=246974&action=review
>>> Source/WebCore/page/mac/EventHandlerMac.mm:991 >>> + scrollableArea->scrollAnimator()->processWheelEventForScrollSnap(wheelEvent); >> >> Maybe if (ScrollAnimator* animator = scrollableArea->existingScrollAnimator()) scrollAnimator->processWheelEventForScrollSnap(). > > Sure! I'll do that.
Couldn't we use reference here instead? -EventHandler::handleWheelEvent() already has checks against scrollableArea != nullptr in some places.
Brent Fulgham
Comment 7
2015-02-20 11:07:09 PST
Comment on
attachment 246974
[details]
Patch v2 (fix iOS build) View in context:
https://bugs.webkit.org/attachment.cgi?id=246974&action=review
>>>> Source/WebCore/page/mac/EventHandlerMac.mm:991 >>>> + scrollableArea->scrollAnimator()->processWheelEventForScrollSnap(wheelEvent); >>> >>> Maybe if (ScrollAnimator* animator = scrollableArea->existingScrollAnimator()) scrollAnimator->processWheelEventForScrollSnap(). >> >> Sure! I'll do that. > > Couldn't we use reference here instead? -EventHandler::handleWheelEvent() already has checks against scrollableArea != nullptr in some places.
Actually, that's a good point. We should be checking scrollableArea for nullptr (or in the caller) because there are code paths where it may be null. I'll correct that before landing.
Brent Fulgham
Comment 8
2015-02-20 11:15:23 PST
Committed
r180426
: <
http://trac.webkit.org/changeset/180426
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug