Bug 144482

Summary: Expand test infrastructure to support scrolling tests (Part 4): Scroll Snap Support
Product: WebKit Reporter: Brent Fulgham <bfulgham>
Component: Layout and RenderingAssignee: Brent Fulgham <bfulgham>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, cmarcelo, commit-queue, jamesr, luiz, tonikitoo
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on: 144131    
Bug Blocks: 146081, 142358, 144591, 172349    
Attachments:
Description Flags
Patch
none
Patch simon.fraser: review+

Description Brent Fulgham 2015-04-30 18:06:29 PDT
Add tests and adjustments to the scroll testing infrastructure to ensure that the scroll snap feature is fully tested.

These changes involve:
1. Make sure the WheelEventTestTrigger object is properly relayed to the scrolling thread so that scroll animations driven on the scrolling thread also block test runs.
2. Add new scroll-snap tests.
Comment 1 Brent Fulgham 2015-05-01 11:53:42 PDT
Created attachment 252161 [details]
Patch
Comment 2 Brent Fulgham 2015-05-01 16:31:27 PDT
Created attachment 252193 [details]
Patch
Comment 3 Simon Fraser (smfr) 2015-05-01 16:41:46 PDT
Comment on attachment 252193 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=252193&action=review

> Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h:34
> +#include <wtf/RefPtr.h>

Not needed.

> Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h:110
>      bool m_requestedScrollPositionRepresentsProgrammaticScroll;
> +    bool m_expectsWheelEventTestTrigger;

Might as well convert these to C++11 initializersL m_expectsWheelEventTestTrigger { false };

> Source/WebCore/page/scrolling/ScrollingTree.h:105
> +    virtual void deferTestsForReason(WheelEventTestTrigger::ScrollableAreaIdentifier, WheelEventTestTrigger::DeferTestTriggerReason) { /* Do nothing */ }
> +    virtual void removeTestDeferralForReason(WheelEventTestTrigger::ScrollableAreaIdentifier, WheelEventTestTrigger::DeferTestTriggerReason) { /* Do nothing */ }

No need for "/* Do nothing */".

> Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:107
> +    bool m_expectsWheelEventTestTrigger;

m_expectsWheelEventTestTrigger { false };
Comment 4 Brent Fulgham 2015-05-01 16:49:31 PDT
Comment on attachment 252193 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=252193&action=review

>> Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h:34
>> +#include <wtf/RefPtr.h>
> 
> Not needed.

I'll remove it.

>> Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h:110
>> +    bool m_expectsWheelEventTestTrigger;
> 
> Might as well convert these to C++11 initializersL m_expectsWheelEventTestTrigger { false };

OK.

>> Source/WebCore/page/scrolling/ScrollingTree.h:105
>> +    virtual void removeTestDeferralForReason(WheelEventTestTrigger::ScrollableAreaIdentifier, WheelEventTestTrigger::DeferTestTriggerReason) { /* Do nothing */ }
> 
> No need for "/* Do nothing */".

OK!

>> Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:107
>> +    bool m_expectsWheelEventTestTrigger;
> 
> m_expectsWheelEventTestTrigger { false };

Done.
Comment 5 Brent Fulgham 2015-05-01 17:10:48 PDT
New scroll snap tests are under Bug 142358.
Comment 6 Brent Fulgham 2015-05-01 17:40:51 PDT
Committed r183702: <http://trac.webkit.org/changeset/183702>