WebKit Bugzilla
Attachment 362809 Details for
Bug 194973
: Have a single notion of scroll position in the scrolling tree and derive layoutViewport from it
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-194973-20190222180130.patch (text/plain), 20.98 KB, created by
Simon Fraser (smfr)
on 2019-02-22 18:01:31 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Simon Fraser (smfr)
Created:
2019-02-22 18:01:31 PST
Size:
20.98 KB
patch
obsolete
>Subversion Revision: 241934 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 9be8fb850ab95f436dad360bc99ccbe436ccb55e..d530dbced258e052f19394af435145f99e80bb76 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,49 @@ >+2019-02-22 Simon Fraser <simon.fraser@apple.com> >+ >+ Have a single notion of scroll position in the scrolling tree and derive layoutViewport from it >+ https://bugs.webkit.org/show_bug.cgi?id=194973 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ The "master" value for the scroll position of a ScrollingTreeScrollingNode is now its m_scrollPosition member; >+ layout viewports and layer positions will be set from this. This allows scrollPosition() to no longer be virtual >+ and require different code for each scrolling node subclass, and adds a choke point that we can use to update >+ the layout viewport. >+ >+ We can remove m_probableMainThreadScrollPosition on ScrollingTreeFrameScrollingNodeMac because this was really just >+ an alias for the scroll position. >+ >+ Add some isRootNode() checks for things that should only affect the main frame. >+ >+ * page/scrolling/ScrollingTree.h: Remove fixedPositionRect() which was unused, and is a per-frame thing so makes >+ no sense here. >+ * page/scrolling/ScrollingTreeFrameScrollingNode.cpp: >+ (WebCore::ScrollingTreeFrameScrollingNode::didChangeScrollPosition): >+ * page/scrolling/ScrollingTreeFrameScrollingNode.h: >+ (WebCore::ScrollingTreeFrameScrollingNode::layoutViewport const): >+ (WebCore::ScrollingTreeFrameScrollingNode::setLayoutViewport): >+ (WebCore::ScrollingTreeFrameScrollingNode::fixedPositionRect): Deleted. >+ * page/scrolling/ScrollingTreeScrollingNode.cpp: >+ (WebCore::ScrollingTreeScrollingNode::setScrollPosition): >+ (WebCore::ScrollingTreeScrollingNode::setScrollPositionInternal): >+ (WebCore::ScrollingTreeScrollingNode::didChangeScrollPosition): >+ * page/scrolling/ScrollingTreeScrollingNode.h: >+ (WebCore::ScrollingTreeScrollingNode::scrollPosition const): >+ * page/scrolling/ios/ScrollingTreeIOS.cpp: >+ (WebCore::ScrollingTreeIOS::fixedPositionRect): Deleted. >+ * page/scrolling/ios/ScrollingTreeIOS.h: >+ * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h: >+ * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm: >+ (WebCore::ScrollingTreeFrameScrollingNodeMac::commitStateBeforeChildren): >+ (WebCore::ScrollingTreeFrameScrollingNodeMac::commitStateAfterChildren): >+ (WebCore::ScrollingTreeFrameScrollingNodeMac::handleWheelEvent): >+ (WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollPosition): >+ (WebCore::ScrollingTreeFrameScrollingNodeMac::updateMainFramePinState): >+ (WebCore::ScrollingTreeFrameScrollingNodeMac::scrollPosition const): Deleted. >+ * page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.h: >+ * page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm: >+ (WebCore::ScrollingTreeOverflowScrollingNodeMac::scrollPosition const): Deleted. >+ > 2019-02-22 Simon Fraser <simon.fraser@apple.com> > > Clean up the setScrollPosition/setScrollPositionWithoutContentEdgeConstraints confusion in the scrolling tree nodes >diff --git a/Source/WebCore/page/scrolling/ScrollingTree.h b/Source/WebCore/page/scrolling/ScrollingTree.h >index 68ba220d2a6fd50b1b6e9c5e410b08f97d552ddc..3c3714aa0f4c42c8fc32b56e3830b05a12cb1279 100644 >--- a/Source/WebCore/page/scrolling/ScrollingTree.h >+++ b/Source/WebCore/page/scrolling/ScrollingTree.h >@@ -94,7 +94,6 @@ public: > FloatPoint mainFrameScrollPosition(); > > #if PLATFORM(IOS_FAMILY) >- virtual FloatRect fixedPositionRect() = 0; > virtual void scrollingTreeNodeWillStartPanGesture() { } > virtual void scrollingTreeNodeWillStartScroll() { } > virtual void scrollingTreeNodeDidEndScroll() { } >diff --git a/Source/WebCore/page/scrolling/ScrollingTreeFrameScrollingNode.cpp b/Source/WebCore/page/scrolling/ScrollingTreeFrameScrollingNode.cpp >index e2bb597978683409f4788d2c69cd98d77c86ec83..40f4e9d7a95169fa4ded09a71d69a815b8e0a619 100644 >--- a/Source/WebCore/page/scrolling/ScrollingTreeFrameScrollingNode.cpp >+++ b/Source/WebCore/page/scrolling/ScrollingTreeFrameScrollingNode.cpp >@@ -82,6 +82,12 @@ void ScrollingTreeFrameScrollingNode::commitStateBeforeChildren(const ScrollingS > m_maxLayoutViewportOrigin = state.maxLayoutViewportOrigin(); > } > >+void ScrollingTreeFrameScrollingNode::didChangeScrollPosition() >+{ >+ setLayoutViewport(layoutViewportForScrollPosition(scrollPosition(), frameScaleFactor())); >+ ScrollingTreeScrollingNode::didChangeScrollPosition(); >+} >+ > FloatRect ScrollingTreeFrameScrollingNode::layoutViewportForScrollPosition(const FloatPoint& visibleContentOrigin, float scale) const > { > FloatRect visibleContentRect(visibleContentOrigin, scrollableAreaSize()); >diff --git a/Source/WebCore/page/scrolling/ScrollingTreeFrameScrollingNode.h b/Source/WebCore/page/scrolling/ScrollingTreeFrameScrollingNode.h >index 945da246fddaac506115c8b9cf5ba1d2d6164915..10cb71c47fa94f067853c6c60f8ee9e4b638fb67 100644 >--- a/Source/WebCore/page/scrolling/ScrollingTreeFrameScrollingNode.h >+++ b/Source/WebCore/page/scrolling/ScrollingTreeFrameScrollingNode.h >@@ -56,7 +56,7 @@ public: > FloatSize viewToContentsOffset(const FloatPoint& scrollPosition) const; > FloatRect layoutViewportForScrollPosition(const FloatPoint& visibleContentOrigin, float scale) const; > >- FloatRect fixedPositionRect() { return FloatRect(lastCommittedScrollPosition(), scrollableAreaSize()); }; >+ FloatRect layoutViewport() const { return m_layoutViewport; }; > > float frameScaleFactor() const { return m_frameScaleFactor; } > >@@ -67,9 +67,6 @@ protected: > int footerHeight() const { return m_footerHeight; } > float topContentInset() const { return m_topContentInset; } > >- FloatRect layoutViewport() const { return m_layoutViewport; }; >- void setLayoutViewport(const FloatRect& r) { m_layoutViewport = r; }; >- > FloatPoint minLayoutViewportOrigin() const { return m_minLayoutViewportOrigin; } > FloatPoint maxLayoutViewportOrigin() const { return m_maxLayoutViewportOrigin; } > >@@ -79,6 +76,10 @@ private: > WEBCORE_EXPORT LayoutPoint parentToLocalPoint(LayoutPoint) const final; > WEBCORE_EXPORT LayoutPoint localToContentsPoint(LayoutPoint) const final; > >+ WEBCORE_EXPORT void didChangeScrollPosition() override; >+ >+ void setLayoutViewport(const FloatRect& r) { m_layoutViewport = r; }; >+ > WEBCORE_EXPORT void dumpProperties(WTF::TextStream&, ScrollingStateTreeAsTextBehavior) const override; > > FloatRect m_layoutViewport; >diff --git a/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp b/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp >index 6ccb6fdd3e1c1573cdfbc53d49b9237b7330f106..65849384a49af097be3cb3edf19afe60b1e53134 100644 >--- a/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp >+++ b/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp >@@ -128,10 +128,25 @@ void ScrollingTreeScrollingNode::setScrollPosition(const FloatPoint& scrollPosit > if (clamp == ScrollPositionClamp::ToContentEdges) > newScrollPosition = clampScrollPosition(scrollPosition); > >+ setScrollPositionInternal(scrollPosition); >+ > setScrollLayerPosition(scrollPosition, { }); > scrollingTree().scrollingTreeNodeDidScroll(scrollingNodeID(), scrollPosition, WTF::nullopt); > } > >+void ScrollingTreeScrollingNode::setScrollPositionInternal(FloatPoint position) >+{ >+ if (position == m_scrollPosition) >+ return; >+ >+ m_scrollPosition = position; >+ didChangeScrollPosition(); >+} >+ >+void ScrollingTreeScrollingNode::didChangeScrollPosition() >+{ >+} >+ > FloatPoint ScrollingTreeScrollingNode::clampScrollPosition(const FloatPoint& scrollPosition) const > { > return scrollPosition.constrainedBetween(minimumScrollPosition(), maximumScrollPosition()); >diff --git a/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h b/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h >index cb1ec97a4877068d6f4c9dec42f737048918e858..77261dc1b29c3f487a7323487de3e5f24a77191d 100644 >--- a/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h >+++ b/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h >@@ -60,7 +60,8 @@ public: > virtual void updateLayersAfterViewportChange(const FloatRect& fixedPositionRect, double scale) = 0; > virtual void updateLayersAfterDelegatedScroll(const FloatPoint&) { } > >- virtual FloatPoint scrollPosition() const = 0; >+ FloatPoint scrollPosition() const { return m_scrollPosition; } >+ > const FloatSize& scrollableAreaSize() const { return m_scrollableAreaSize; } > const FloatSize& totalContentsSize() const { return m_totalContentsSize; } > >@@ -87,6 +88,8 @@ protected: > WEBCORE_EXPORT virtual FloatPoint maximumScrollPosition() const; > > FloatPoint clampScrollPosition(const FloatPoint&) const; >+ void setScrollPositionInternal(FloatPoint); >+ WEBCORE_EXPORT virtual void didChangeScrollPosition(); > > virtual void setScrollLayerPosition(const FloatPoint&, const FloatRect& layoutViewport) = 0; > >@@ -128,6 +131,7 @@ private: > FloatSize m_reachableContentsSize; > FloatPoint m_lastCommittedScrollPosition; > LayoutRect m_parentRelativeScrollableRect; >+ FloatPoint m_scrollPosition; > IntPoint m_scrollOrigin; > #if ENABLE(CSS_SCROLL_SNAP) > ScrollSnapOffsetsInfo<float> m_snapOffsetsInfo; >diff --git a/Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.cpp b/Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.cpp >index ac9e861197438d7dc1a3cc70b83b4e74ecdd30c7..eebf2ef244c2fe93266c815818b1790b16e0c002 100644 >--- a/Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.cpp >+++ b/Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.cpp >@@ -104,14 +104,6 @@ Ref<ScrollingTreeNode> ScrollingTreeIOS::createScrollingTreeNode(ScrollingNodeTy > return ScrollingTreeFixedNode::create(*this, nodeID); > } > >-FloatRect ScrollingTreeIOS::fixedPositionRect() >-{ >- // When ScrollingTreeIOS starts being used for WK1 on iOS, this needs to get the customFixedPositionRect from >- // the ScrollingCoordinator. >- ASSERT_NOT_REACHED(); >- return FloatRect(); >-} >- > void ScrollingTreeIOS::currentSnapPointIndicesDidChange(WebCore::ScrollingNodeID nodeID, unsigned horizontal, unsigned vertical) > { > if (!m_scrollingCoordinator) >diff --git a/Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.h b/Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.h >index e9035d0a22c904e8008d73c920e130d7696e9b8e..97b2574668d6cb173d482863466d04849e403e95 100644 >--- a/Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.h >+++ b/Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.h >@@ -53,7 +53,6 @@ private: > Ref<ScrollingTreeNode> createScrollingTreeNode(ScrollingNodeType, ScrollingNodeID) final; > void scrollingTreeNodeDidScroll(ScrollingNodeID, const FloatPoint& scrollPosition, const Optional<FloatPoint>& layoutViewportOrigin, ScrollingLayerPositionAction = ScrollingLayerPositionAction::Sync) final; > void currentSnapPointIndicesDidChange(WebCore::ScrollingNodeID, unsigned horizontal, unsigned vertical) final; >- FloatRect fixedPositionRect() final; > > RefPtr<AsyncScrollingCoordinator> m_scrollingCoordinator; > }; >diff --git a/Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h b/Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h >index 610f6db385bca19e07899b94448eacd3733acee4..fb23911c8a116ad035216f596be06a2efdbbf871 100644 >--- a/Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h >+++ b/Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h >@@ -53,7 +53,6 @@ protected: > > ScrollingEventResult handleWheelEvent(const PlatformWheelEvent&) override; > >- FloatPoint scrollPosition() const override; > void setScrollPosition(const FloatPoint&, ScrollPositionClamp = ScrollPositionClamp::ToContentEdges) override; > > void updateLayersAfterViewportChange(const FloatRect& fixedPositionRect, double scale) override; >@@ -63,7 +62,7 @@ protected: > FloatPoint minimumScrollPosition() const override; > FloatPoint maximumScrollPosition() const override; > >- void updateMainFramePinState(const FloatPoint& scrollPosition); >+ void updateMainFramePinState(); > > unsigned exposedUnfilledArea() const; > >@@ -76,8 +75,7 @@ private: > RetainPtr<CALayer> m_footerLayer; > RetainPtr<NSScrollerImp> m_verticalScrollerImp; > RetainPtr<NSScrollerImp> m_horizontalScrollerImp; >- FloatPoint m_probableMainThreadScrollPosition; >- >+ > ScrollingTreeScrollingNodeDelegateMac m_delegate; > > bool m_lastScrollHadUnfilledPixels { false }; >diff --git a/Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm b/Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm >index 211ac8d88b76300d1be83e061b8ac042b5ef7ac4..813996b401fb3d99c4d53198b50f69aeec631495 100644 >--- a/Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm >+++ b/Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm >@@ -125,23 +125,10 @@ void ScrollingTreeFrameScrollingNodeMac::commitStateBeforeChildren(const Scrolli > } > > bool logScrollingMode = !m_hadFirstUpdate; >- if (scrollingStateNode.hasChangedProperty(ScrollingStateFrameScrollingNode::ReasonsForSynchronousScrolling)) { >- if (shouldUpdateScrollLayerPositionSynchronously()) { >- // We're transitioning to the slow "update scroll layer position on the main thread" mode. >- // Initialize the probable main thread scroll position with the current scroll layer position. >- if (scrollingStateNode.hasChangedProperty(ScrollingStateScrollingNode::RequestedScrollPosition)) >- m_probableMainThreadScrollPosition = scrollingStateNode.requestedScrollPosition(); >- else { >- CGPoint scrollLayerPosition = scrolledContentsLayer().position; >- m_probableMainThreadScrollPosition = FloatPoint(-scrollLayerPosition.x, -scrollLayerPosition.y); >- } >- } >- >+ if (scrollingStateNode.hasChangedProperty(ScrollingStateFrameScrollingNode::ReasonsForSynchronousScrolling)) > logScrollingMode = true; >- } > >- // FIXME: wrong if we're not the main frame. >- if (logScrollingMode && scrollingTree().scrollingPerformanceLoggingEnabled()) >+ if (logScrollingMode && isRootNode() && scrollingTree().scrollingPerformanceLoggingEnabled()) > scrollingTree().reportSynchronousScrollingReasonsChanged(MonotonicTime::now(), synchronousScrollingReasons()); > > #if ENABLE(CSS_SCROLL_SNAP) >@@ -171,10 +158,11 @@ void ScrollingTreeFrameScrollingNodeMac::commitStateAfterChildren(const Scrollin > if (scrollingStateNode.hasChangedProperty(ScrollingStateScrollingNode::RequestedScrollPosition)) > setScrollPosition(scrollingStateNode.requestedScrollPosition()); > >- if (scrollingStateNode.hasChangedProperty(ScrollingStateScrollingNode::ScrolledContentsLayer) >+ if (isRootNode() >+ && (scrollingStateNode.hasChangedProperty(ScrollingStateScrollingNode::ScrolledContentsLayer) > || scrollingStateNode.hasChangedProperty(ScrollingStateScrollingNode::TotalContentsSize) >- || scrollingStateNode.hasChangedProperty(ScrollingStateScrollingNode::ScrollableAreaSize)) >- updateMainFramePinState(scrollPosition()); >+ || scrollingStateNode.hasChangedProperty(ScrollingStateScrollingNode::ScrollableAreaSize))) >+ updateMainFramePinState(); > } > > ScrollingEventResult ScrollingTreeFrameScrollingNodeMac::handleWheelEvent(const PlatformWheelEvent& wheelEvent) >@@ -203,8 +191,9 @@ ScrollingEventResult ScrollingTreeFrameScrollingNodeMac::handleWheelEvent(const > m_delegate.handleWheelEvent(wheelEvent); > > #if ENABLE(CSS_SCROLL_SNAP) >- // FIXME: wrong if we're not the main frame. >- scrollingTree().setMainFrameIsScrollSnapping(m_delegate.isScrollSnapInProgress()); >+ if (isRootNode()) >+ scrollingTree().setMainFrameIsScrollSnapping(m_delegate.isScrollSnapInProgress()); >+ > if (m_delegate.activeScrollSnapIndexDidChange()) > scrollingTree().setActiveScrollSnapIndices(scrollingNodeID(), m_delegate.activeScrollSnapIndexForAxis(ScrollEventAxis::Horizontal), m_delegate.activeScrollSnapIndexForAxis(ScrollEventAxis::Vertical)); > #endif >@@ -215,14 +204,6 @@ ScrollingEventResult ScrollingTreeFrameScrollingNodeMac::handleWheelEvent(const > return ScrollingEventResult::DidHandleEvent; > } > >-FloatPoint ScrollingTreeFrameScrollingNodeMac::scrollPosition() const >-{ >- if (shouldUpdateScrollLayerPositionSynchronously()) >- return m_probableMainThreadScrollPosition; >- >- return -scrolledContentsLayer().position; >-} >- > void ScrollingTreeFrameScrollingNodeMac::setScrollPosition(const FloatPoint& position, ScrollPositionClamp clamp) > { > LOG_WITH_STREAM(Scrolling, stream << "ScrollingTreeFrameScrollingNodeMac::setScrollPosition " << position << " scrollPosition(): " << this->scrollPosition() << " min: " << minimumScrollPosition() << " max: " << maximumScrollPosition()); >@@ -234,21 +215,17 @@ void ScrollingTreeFrameScrollingNodeMac::setScrollPosition(const FloatPoint& pos > if (clamp == ScrollPositionClamp::ToContentEdges) > scrollPosition = clampScrollPosition(scrollPosition); > >- // FIXME: wrong if we're not the main frame. >- updateMainFramePinState(scrollPosition); >+ setScrollPositionInternal(scrollPosition); > >- FloatPoint visibleContentOrigin = scrollPosition; >- FloatRect newLayoutViewport = layoutViewportForScrollPosition(visibleContentOrigin, frameScaleFactor()); >- setLayoutViewport(newLayoutViewport); >- auto layoutViewportOrigin = newLayoutViewport.location(); >+ if (isRootNode()) >+ updateMainFramePinState(); > >- if (shouldUpdateScrollLayerPositionSynchronously()) { >- m_probableMainThreadScrollPosition = scrollPosition; >- scrollingTree().scrollingTreeNodeDidScroll(scrollingNodeID(), scrollPosition, layoutViewportOrigin, ScrollingLayerPositionAction::Set); >- } else { >+ if (shouldUpdateScrollLayerPositionSynchronously()) >+ scrollingTree().scrollingTreeNodeDidScroll(scrollingNodeID(), scrollPosition, layoutViewport().location(), ScrollingLayerPositionAction::Set); >+ else { > // This should call the base class once we clean up the layoutViewportOrigin stuff. > setScrollLayerPosition(scrollPosition, layoutViewport()); >- scrollingTree().scrollingTreeNodeDidScroll(scrollingNodeID(), scrollPosition, layoutViewportOrigin); >+ scrollingTree().scrollingTreeNodeDidScroll(scrollingNodeID(), scrollPosition, layoutViewport().location()); > } > > if (scrollingTree().scrollingPerformanceLoggingEnabled()) { >@@ -346,8 +323,11 @@ FloatPoint ScrollingTreeFrameScrollingNodeMac::maximumScrollPosition() const > return position; > } > >-void ScrollingTreeFrameScrollingNodeMac::updateMainFramePinState(const FloatPoint& scrollPosition) >+void ScrollingTreeFrameScrollingNodeMac::updateMainFramePinState() > { >+ ASSERT(isRootNode()); >+ >+ auto scrollPosition = this->scrollPosition(); > bool pinnedToTheLeft = scrollPosition.x() <= minimumScrollPosition().x(); > bool pinnedToTheRight = scrollPosition.x() >= maximumScrollPosition().x(); > bool pinnedToTheTop = scrollPosition.y() <= minimumScrollPosition().y(); >diff --git a/Source/WebCore/page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.h b/Source/WebCore/page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.h >index 80e9877177eaa8dbdc1eddd97ca8a3ea53f2ff4a..07789696cb15afa3e5a99b7c5987561d28550890 100644 >--- a/Source/WebCore/page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.h >+++ b/Source/WebCore/page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.h >@@ -45,7 +45,6 @@ private: > void commitStateBeforeChildren(const ScrollingStateNode&) override; > void commitStateAfterChildren(const ScrollingStateNode&) override; > >- FloatPoint scrollPosition() const override; > void setScrollPosition(const FloatPoint&, ScrollPositionClamp = ScrollPositionClamp::ToContentEdges) override; > > void setScrollLayerPosition(const FloatPoint&, const FloatRect& layoutViewport) override; >diff --git a/Source/WebCore/page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm b/Source/WebCore/page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm >index b49a32a82c03249440a4b7d799ccbba4750dead3..767faed0db8584eec292b30ad1ebd61de8e67edf 100644 >--- a/Source/WebCore/page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm >+++ b/Source/WebCore/page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm >@@ -100,11 +100,6 @@ void ScrollingTreeOverflowScrollingNodeMac::updateLayersAfterAncestorChange(cons > UNUSED_PARAM(cumulativeDelta); > } > >-FloatPoint ScrollingTreeOverflowScrollingNodeMac::scrollPosition() const >-{ >- return -scrolledContentsLayer().position; >-} >- > void ScrollingTreeOverflowScrollingNodeMac::setScrollPosition(const FloatPoint& scrollPosition, ScrollPositionClamp clamp) > { > LOG_WITH_STREAM(Scrolling, stream << "ScrollingTreeOverflowScrollingNodeMac::setScrollPosition " << scrollPosition << " from " << this->scrollPosition() << " (min: " << minimumScrollPosition() << " max: " << maximumScrollPosition() << ")");
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 194973
:
362809
|
362883
|
362884
|
362887
|
363068
|
363069
|
363071
|
363079