Title: [165091] trunk/Source/WebCore
- Revision
- 165091
- Author
- [email protected]
- Date
- 2014-03-04 18:54:31 -0800 (Tue, 04 Mar 2014)
Log 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:
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (165090 => 165091)
--- trunk/Source/WebCore/ChangeLog 2014-03-05 02:35:18 UTC (rev 165090)
+++ trunk/Source/WebCore/ChangeLog 2014-03-05 02:54:31 UTC (rev 165091)
@@ -1,3 +1,23 @@
+2014-03-04 Simon Fraser <[email protected]>
+
+ 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:
+
2014-03-04 Jeremy Jones <[email protected]>
WebVideoFullscreen, should make the hand off of the video layer explicit.
Modified: trunk/Source/WebCore/page/scrolling/ScrollingTree.cpp (165090 => 165091)
--- trunk/Source/WebCore/page/scrolling/ScrollingTree.cpp 2014-03-05 02:35:18 UTC (rev 165090)
+++ trunk/Source/WebCore/page/scrolling/ScrollingTree.cpp 2014-03-05 02:54:31 UTC (rev 165091)
@@ -107,7 +107,7 @@
if (node->nodeType() != ScrollingNode)
return;
- toScrollingTreeScrollingNode(node)->setScrollPosition(scrollPosition);
+ toScrollingTreeScrollingNode(node)->setScrollPositionWithoutContentEdgeConstraints(scrollPosition);
}
void ScrollingTree::commitNewTreeState(PassOwnPtr<ScrollingStateTree> scrollingStateTree)
Modified: trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h (165090 => 165091)
--- trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h 2014-03-05 02:35:18 UTC (rev 165090)
+++ trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h 2014-03-05 02:54:31 UTC (rev 165091)
@@ -51,6 +51,7 @@
virtual void handleWheelEvent(const PlatformWheelEvent&) = 0;
virtual void setScrollPosition(const FloatPoint&) = 0;
+ virtual void setScrollPositionWithoutContentEdgeConstraints(const FloatPoint&) = 0;
SynchronousScrollingReasons synchronousScrollingReasons() const { return m_synchronousScrollingReasons; }
bool shouldUpdateScrollLayerPositionSynchronously() const { return m_synchronousScrollingReasons; }
Modified: trunk/Source/WebCore/page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h (165090 => 165091)
--- trunk/Source/WebCore/page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h 2014-03-05 02:35:18 UTC (rev 165090)
+++ trunk/Source/WebCore/page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h 2014-03-05 02:54:31 UTC (rev 165091)
@@ -50,7 +50,7 @@
FloatPoint scrollPosition() const;
virtual void setScrollPosition(const FloatPoint&) override;
- void setScrollPositionWithoutContentEdgeConstraints(const FloatPoint&);
+ virtual void setScrollPositionWithoutContentEdgeConstraints(const FloatPoint&) override;
void setScrollLayerPosition(const FloatPoint&);
Modified: trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeMac.h (165090 => 165091)
--- trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeMac.h 2014-03-05 02:35:18 UTC (rev 165090)
+++ trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeMac.h 2014-03-05 02:54:31 UTC (rev 165091)
@@ -67,7 +67,7 @@
FloatPoint scrollPosition() const;
virtual void setScrollPosition(const FloatPoint&) override;
- void setScrollPositionWithoutContentEdgeConstraints(const FloatPoint&);
+ virtual void setScrollPositionWithoutContentEdgeConstraints(const FloatPoint&) override;
void setScrollLayerPosition(const FloatPoint&);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes