Changeset 165091 in webkit


Ignore:
Timestamp:
Mar 4, 2014 6:54:31 PM (10 years ago)
Author:
Simon Fraser
Message:

Don't clamp scrolling node offsets when the offset is changed by delegated scrolling
https://bugs.webkit.org/show_bug.cgi?id=129724

Reviewed by Sam Weinig.

Call setScrollPositionWithoutContentEdgeConstraints() from
ScrollingTree::scrollPositionChangedViaDelegatedScrolling() so that
layers are not clamped during rubber-banding.

This requires making setScrollPositionWithoutContentEdgeConstraints()
a pure virtual function on the base class.

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling):

  • page/scrolling/ScrollingTreeScrollingNode.h:
  • page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
Location:
trunk/Source/WebCore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r165087 r165091  
     12014-03-04  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Don't clamp scrolling node offsets when the offset is changed by delegated scrolling
     4        https://bugs.webkit.org/show_bug.cgi?id=129724
     5
     6        Reviewed by Sam Weinig.
     7       
     8        Call setScrollPositionWithoutContentEdgeConstraints() from
     9        ScrollingTree::scrollPositionChangedViaDelegatedScrolling() so that
     10        layers are not clamped during rubber-banding.
     11       
     12        This requires making setScrollPositionWithoutContentEdgeConstraints()
     13        a pure virtual function on the base class.
     14
     15        * page/scrolling/ScrollingTree.cpp:
     16        (WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling):
     17        * page/scrolling/ScrollingTreeScrollingNode.h:
     18        * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
     19        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
     20
    1212014-03-04  Jeremy Jones  <jeremyj@apple.com>
    222
  • trunk/Source/WebCore/page/scrolling/ScrollingTree.cpp

    r165086 r165091  
    108108        return;
    109109
    110     toScrollingTreeScrollingNode(node)->setScrollPosition(scrollPosition);
     110    toScrollingTreeScrollingNode(node)->setScrollPositionWithoutContentEdgeConstraints(scrollPosition);
    111111}
    112112
  • trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h

    r163231 r165091  
    5252    virtual void handleWheelEvent(const PlatformWheelEvent&) = 0;
    5353    virtual void setScrollPosition(const FloatPoint&) = 0;
     54    virtual void setScrollPositionWithoutContentEdgeConstraints(const FloatPoint&) = 0;
    5455
    5556    SynchronousScrollingReasons synchronousScrollingReasons() const { return m_synchronousScrollingReasons; }
  • trunk/Source/WebCore/page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h

    r164110 r165091  
    5151    FloatPoint scrollPosition() const;
    5252    virtual void setScrollPosition(const FloatPoint&) override;
    53     void setScrollPositionWithoutContentEdgeConstraints(const FloatPoint&);
     53    virtual void setScrollPositionWithoutContentEdgeConstraints(const FloatPoint&) override;
    5454
    5555    void setScrollLayerPosition(const FloatPoint&);
  • trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeMac.h

    r164110 r165091  
    6868    FloatPoint scrollPosition() const;
    6969    virtual void setScrollPosition(const FloatPoint&) override;
    70     void setScrollPositionWithoutContentEdgeConstraints(const FloatPoint&);
     70    virtual void setScrollPositionWithoutContentEdgeConstraints(const FloatPoint&) override;
    7171
    7272    void setScrollLayerPosition(const FloatPoint&);
Note: See TracChangeset for help on using the changeset viewer.