Diff
Modified: trunk/Source/WebCore/ChangeLog (286350 => 286351)
--- trunk/Source/WebCore/ChangeLog 2021-12-01 06:32:24 UTC (rev 286350)
+++ trunk/Source/WebCore/ChangeLog 2021-12-01 07:18:03 UTC (rev 286351)
@@ -1,3 +1,39 @@
+2021-11-30 Simon Fraser <[email protected]>
+
+ Remove the scrolling tree plumbing of the momentumScrollingAnimatorEnabled() setting, which is no longer needed
+ https://bugs.webkit.org/show_bug.cgi?id=233680
+
+ Reviewed by Tim Horton.
+
+ We no longer consult the momentumScrollingAnimatorEnabled setting in the scrolling tree, so remove
+ the plumbing.
+
+ * page/scrolling/AsyncScrollingCoordinator.cpp:
+ (WebCore::AsyncScrollingCoordinator::setFrameScrollingNodeState):
+ * page/scrolling/ScrollingStateFrameScrollingNode.cpp:
+ (WebCore::ScrollingStateFrameScrollingNode::ScrollingStateFrameScrollingNode):
+ (WebCore::ScrollingStateFrameScrollingNode::applicableProperties const):
+ (WebCore::ScrollingStateFrameScrollingNode::setMomentumScrollingAnimatorEnabled): Deleted.
+ * page/scrolling/ScrollingStateFrameScrollingNode.h:
+ * page/scrolling/ScrollingStateNode.h:
+ * page/scrolling/ScrollingTree.cpp:
+ (WebCore::ScrollingTree::commitTreeState):
+ * page/scrolling/ScrollingTree.h:
+ (WebCore::ScrollingTree::momentumScrollingAnimatorEnabled const): Deleted.
+ (WebCore::ScrollingTree::setMomentumScrollingAnimatorEnabled): Deleted.
+ * page/scrolling/ScrollingTreeScrollingNode.cpp:
+ (WebCore::ScrollingTreeScrollingNode::momentumScrollingAnimatorEnabled const): Deleted.
+ * page/scrolling/ScrollingTreeScrollingNode.h:
+ * page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h:
+ * page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
+ (WebCore::ScrollingTreeScrollingNodeDelegateMac::momentumScrollingAnimatorEnabled const): Deleted.
+ * platform/ScrollingEffectsController.cpp:
+ (WebCore::ScrollingEffectsController::ScrollingEffectsController):
+ * platform/ScrollingEffectsController.h:
+ (WebCore::ScrollingEffectsControllerClient::scrollAnimationEnabled const):
+ (WebCore::ScrollingEffectsControllerClient::momentumScrollingAnimatorEnabled const): Deleted.
+ (WebCore::ScrollingEffectsController::momentumScrollingAnimatorEnabled const): Deleted.
+
2021-11-30 Devin Rousso <[email protected]>
[css-values-4] Dynamic `dv*` viewport units should not respect the page scale
Modified: trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp (286350 => 286351)
--- trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp 2021-12-01 06:32:24 UTC (rev 286350)
+++ trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp 2021-12-01 07:18:03 UTC (rev 286351)
@@ -746,7 +746,6 @@
frameScrollingNode.setAsyncFrameOrOverflowScrollingEnabled(settings.asyncFrameScrollingEnabled() || settings.asyncOverflowScrollingEnabled());
frameScrollingNode.setScrollingPerformanceTestingEnabled(settings.scrollingPerformanceTestingEnabled());
frameScrollingNode.setWheelEventGesturesBecomeNonBlocking(settings.wheelEventGesturesBecomeNonBlocking());
- frameScrollingNode.setMomentumScrollingAnimatorEnabled(settings.momentumScrollingAnimatorEnabled());
frameScrollingNode.setMinLayoutViewportOrigin(frameView.minStableLayoutViewportOrigin());
frameScrollingNode.setMaxLayoutViewportOrigin(frameView.maxStableLayoutViewportOrigin());
Modified: trunk/Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp (286350 => 286351)
--- trunk/Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp 2021-12-01 06:32:24 UTC (rev 286350)
+++ trunk/Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp 2021-12-01 07:18:03 UTC (rev 286351)
@@ -61,7 +61,6 @@
, m_asyncFrameOrOverflowScrollingEnabled(stateNode.asyncFrameOrOverflowScrollingEnabled())
, m_wheelEventGesturesBecomeNonBlocking(stateNode.wheelEventGesturesBecomeNonBlocking())
, m_scrollingPerformanceTestingEnabled(stateNode.scrollingPerformanceTestingEnabled())
- , m_momentumScrollingAnimatorEnabled(stateNode.momentumScrollingAnimatorEnabled())
{
if (hasChangedProperty(Property::RootContentsLayer))
setRootContentsLayer(stateNode.rootContentsLayer().toRepresentation(adoptiveTree.preferredLayerRepresentation()));
@@ -113,7 +112,6 @@
Property::MinLayoutViewportOrigin,
Property::MaxLayoutViewportOrigin,
Property::OverrideVisualViewportSize,
- Property::MomentumScrollingAnimatorEnabled,
};
auto properties = ScrollingStateScrollingNode::applicableProperties();
@@ -311,15 +309,6 @@
setPropertyChanged(Property::ScrollingPerformanceTestingEnabled);
}
-void ScrollingStateFrameScrollingNode::setMomentumScrollingAnimatorEnabled(bool enabled)
-{
- if (enabled == m_momentumScrollingAnimatorEnabled)
- return;
-
- m_momentumScrollingAnimatorEnabled = enabled;
- setPropertyChanged(Property::MomentumScrollingAnimatorEnabled);
-}
-
void ScrollingStateFrameScrollingNode::dumpProperties(TextStream& ts, OptionSet<ScrollingStateTreeAsTextBehavior> behavior) const
{
ts << "Frame scrolling node";
Modified: trunk/Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.h (286350 => 286351)
--- trunk/Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.h 2021-12-01 06:32:24 UTC (rev 286350)
+++ trunk/Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.h 2021-12-01 07:18:03 UTC (rev 286351)
@@ -117,9 +117,6 @@
bool wheelEventGesturesBecomeNonBlocking() const { return m_wheelEventGesturesBecomeNonBlocking; }
WEBCORE_EXPORT void setWheelEventGesturesBecomeNonBlocking(bool);
- bool momentumScrollingAnimatorEnabled() const { return m_momentumScrollingAnimatorEnabled; }
- WEBCORE_EXPORT void setMomentumScrollingAnimatorEnabled(bool);
-
void dumpProperties(WTF::TextStream&, OptionSet<ScrollingStateTreeAsTextBehavior>) const override;
private:
@@ -152,7 +149,6 @@
bool m_asyncFrameOrOverflowScrollingEnabled { false };
bool m_wheelEventGesturesBecomeNonBlocking { false };
bool m_scrollingPerformanceTestingEnabled { false };
- bool m_momentumScrollingAnimatorEnabled { false };
};
} // namespace WebCore
Modified: trunk/Source/WebCore/page/scrolling/ScrollingStateNode.h (286350 => 286351)
--- trunk/Source/WebCore/page/scrolling/ScrollingStateNode.h 2021-12-01 06:32:24 UTC (rev 286350)
+++ trunk/Source/WebCore/page/scrolling/ScrollingStateNode.h 2021-12-01 07:18:03 UTC (rev 286351)
@@ -255,20 +255,19 @@
FixedElementsLayoutRelativeToFrame = 1LLU << 31,
VisualViewportIsSmallerThanLayoutViewport = 1LLU << 32,
AsyncFrameOrOverflowScrollingEnabled = 1LLU << 33,
- MomentumScrollingAnimatorEnabled = 1LLU << 34,
- WheelEventGesturesBecomeNonBlocking = 1LLU << 35,
- ScrollingPerformanceTestingEnabled = 1LLU << 36,
- LayoutViewport = 1LLU << 37,
- MinLayoutViewportOrigin = 1LLU << 38,
- MaxLayoutViewportOrigin = 1LLU << 39,
- OverrideVisualViewportSize = 1LLU << 40,
+ WheelEventGesturesBecomeNonBlocking = 1LLU << 34,
+ ScrollingPerformanceTestingEnabled = 1LLU << 35,
+ LayoutViewport = 1LLU << 36,
+ MinLayoutViewportOrigin = 1LLU << 37,
+ MaxLayoutViewportOrigin = 1LLU << 38,
+ OverrideVisualViewportSize = 1LLU << 39,
// ScrollingStatePositionedNode
- RelatedOverflowScrollingNodes = 1LLU << 41,
- LayoutConstraintData = 1LLU << 42,
+ RelatedOverflowScrollingNodes = 1LLU << 40,
+ LayoutConstraintData = 1LLU << 41,
// ScrollingStateFixedNode, ScrollingStateStickyNode
- ViewportConstraints = 1LLU << 43,
+ ViewportConstraints = 1LLU << 42,
// ScrollingStateOverflowScrollProxyNode
- OverflowScrollingNode = 1LLU << 44,
+ OverflowScrollingNode = 1LLU << 43,
};
bool hasChangedProperties() const { return !m_changedProperties.isEmpty(); }
Modified: trunk/Source/WebCore/page/scrolling/ScrollingTree.cpp (286350 => 286351)
--- trunk/Source/WebCore/page/scrolling/ScrollingTree.cpp 2021-12-01 06:32:24 UTC (rev 286350)
+++ trunk/Source/WebCore/page/scrolling/ScrollingTree.cpp 2021-12-01 07:18:03 UTC (rev 286351)
@@ -298,8 +298,7 @@
|| rootNode->hasChangedProperty(ScrollingStateNode::Property::AsyncFrameOrOverflowScrollingEnabled)
|| rootNode->hasChangedProperty(ScrollingStateNode::Property::WheelEventGesturesBecomeNonBlocking)
|| rootNode->hasChangedProperty(ScrollingStateNode::Property::ScrollingPerformanceTestingEnabled)
- || rootNode->hasChangedProperty(ScrollingStateNode::Property::IsMonitoringWheelEvents)
- || rootNode->hasChangedProperty(ScrollingStateNode::Property::MomentumScrollingAnimatorEnabled))) {
+ || rootNode->hasChangedProperty(ScrollingStateNode::Property::IsMonitoringWheelEvents))) {
Locker locker { m_treeStateLock };
if (rootStateNodeChanged || rootNode->hasChangedProperty(ScrollingStateNode::Property::ScrolledContentsLayer))
@@ -319,9 +318,6 @@
if (rootStateNodeChanged || rootNode->hasChangedProperty(ScrollingStateNode::Property::IsMonitoringWheelEvents))
m_isMonitoringWheelEvents = scrollingStateTree->rootStateNode()->isMonitoringWheelEvents();
-
- if (rootStateNodeChanged || rootNode->hasChangedProperty(ScrollingStateNode::Property::MomentumScrollingAnimatorEnabled))
- m_momentumScrollingAnimatorEnabled = scrollingStateTree->rootStateNode()->momentumScrollingAnimatorEnabled();
}
m_overflowRelatedNodesMap.clear();
@@ -344,9 +340,6 @@
node->willBeDestroyed();
}
- if (rootNode && (rootStateNodeChanged || rootNode->hasChangedProperty(ScrollingStateNode::Property::MomentumScrollingAnimatorEnabled)))
- RELEASE_LOG(Scrolling, "ScrollingTree momentum scrolling animator enabled: %d", rootNode->momentumScrollingAnimatorEnabled());
-
didCommitTree();
LOG_WITH_STREAM(ScrollingTree, stream << "committed ScrollingTree" << scrollingTreeAsText(debugScrollingStateTreeAsTextBehaviors));
Modified: trunk/Source/WebCore/page/scrolling/ScrollingTree.h (286350 => 286351)
--- trunk/Source/WebCore/page/scrolling/ScrollingTree.h 2021-12-01 06:32:24 UTC (rev 286350)
+++ trunk/Source/WebCore/page/scrolling/ScrollingTree.h 2021-12-01 07:18:03 UTC (rev 286351)
@@ -100,9 +100,6 @@
bool scrollingPerformanceTestingEnabled() const { return m_scrollingPerformanceTestingEnabled; }
void setScrollingPerformanceTestingEnabled(bool value) { m_scrollingPerformanceTestingEnabled = value; }
- bool momentumScrollingAnimatorEnabled() const { return m_momentumScrollingAnimatorEnabled; }
- void setMomentumScrollingAnimatorEnabled(bool value) { m_momentumScrollingAnimatorEnabled = value; }
-
WEBCORE_EXPORT bool isUserScrollInProgressAtEventLocation(const PlatformWheelEvent&);
WEBCORE_EXPORT OptionSet<WheelEventProcessingSteps> determineWheelEventProcessing(const PlatformWheelEvent&);
WEBCORE_EXPORT virtual WheelEventHandlingResult handleWheelEvent(const PlatformWheelEvent&, OptionSet<WheelEventProcessingSteps> = { });
@@ -336,7 +333,6 @@
bool m_scrollingPerformanceTestingEnabled { false };
bool m_asyncFrameOrOverflowScrollingEnabled { false };
bool m_wheelEventGesturesBecomeNonBlocking { false };
- bool m_momentumScrollingAnimatorEnabled { false };
bool m_needsApplyLayerPositionsAfterCommit { false };
bool m_inCommitTreeState { false };
};
Modified: trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp (286350 => 286351)
--- trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp 2021-12-01 06:32:24 UTC (rev 286350)
+++ trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp 2021-12-01 07:18:03 UTC (rev 286351)
@@ -225,11 +225,6 @@
scrollingTree().setNodeScrollSnapInProgress(scrollingNodeID(), isSnapping);
}
-bool ScrollingTreeScrollingNode::momentumScrollingAnimatorEnabled() const
-{
- return scrollingTree().momentumScrollingAnimatorEnabled();
-}
-
void ScrollingTreeScrollingNode::willStartAnimatedScroll()
{
}
Modified: trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h (286350 => 286351)
--- trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h 2021-12-01 06:32:24 UTC (rev 286350)
+++ trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h 2021-12-01 07:18:03 UTC (rev 286351)
@@ -133,8 +133,6 @@
void willStartAnimatedScroll();
void didStopAnimatedScroll();
- bool momentumScrollingAnimatorEnabled() const;
-
void setScrollAnimationInProgress(bool);
virtual void currentScrollPositionChanged(ScrollType, ScrollingLayerPositionAction = ScrollingLayerPositionAction::Sync);
Modified: trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h (286350 => 286351)
--- trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h 2021-12-01 06:32:24 UTC (rev 286350)
+++ trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h 2021-12-01 07:18:03 UTC (rev 286351)
@@ -93,8 +93,6 @@
void rubberBandingStateChanged(bool) final;
void adjustScrollPositionToBoundsIfNecessary() final;
- bool momentumScrollingAnimatorEnabled() const final;
-
bool scrollPositionIsNotRubberbandingEdge(const FloatPoint&) const;
FloatPoint scrollOffset() const final;
Modified: trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm (286350 => 286351)
--- trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm 2021-12-01 06:32:24 UTC (rev 286350)
+++ trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm 2021-12-01 07:18:03 UTC (rev 286351)
@@ -442,11 +442,6 @@
}
}
-bool ScrollingTreeScrollingNodeDelegateMac::momentumScrollingAnimatorEnabled() const
-{
- return scrollingNode().momentumScrollingAnimatorEnabled();
-}
-
} // namespace WebCore
#endif // PLATFORM(MAC) && ENABLE(ASYNC_SCROLLING)
Modified: trunk/Source/WebCore/platform/ScrollingEffectsController.cpp (286350 => 286351)
--- trunk/Source/WebCore/platform/ScrollingEffectsController.cpp 2021-12-01 06:32:24 UTC (rev 286350)
+++ trunk/Source/WebCore/platform/ScrollingEffectsController.cpp 2021-12-01 07:18:03 UTC (rev 286351)
@@ -48,7 +48,6 @@
ScrollingEffectsController::ScrollingEffectsController(ScrollingEffectsControllerClient& client)
: m_client(client)
- , m_momentumScrollingAnimatorEnabled(client.momentumScrollingAnimatorEnabled())
{
}
Modified: trunk/Source/WebCore/platform/ScrollingEffectsController.h (286350 => 286351)
--- trunk/Source/WebCore/platform/ScrollingEffectsController.h 2021-12-01 06:32:24 UTC (rev 286350)
+++ trunk/Source/WebCore/platform/ScrollingEffectsController.h 2021-12-01 07:18:03 UTC (rev 286351)
@@ -120,8 +120,6 @@
virtual float pageScaleFactor() const = 0;
virtual ScrollExtents scrollExtents() const = 0;
virtual bool scrollAnimationEnabled() const { return true; }
-
- virtual bool momentumScrollingAnimatorEnabled() const { return false; }
};
class ScrollingEffectsController : public ScrollAnimationClient {
@@ -221,8 +219,6 @@
void startOrStopAnimationCallbacks();
- bool momentumScrollingAnimatorEnabled() const { return m_momentumScrollingAnimatorEnabled; }
-
void startDeferringWheelEventTestCompletion(WheelEventTestMonitor::DeferReason);
void stopDeferringWheelEventTestCompletion(WheelEventTestMonitor::DeferReason);
@@ -253,7 +249,6 @@
bool m_isAnimatingScrollSnap { false };
bool m_isAnimatingKeyboardScrolling { false };
bool m_inScrollGesture { false };
- bool m_momentumScrollingAnimatorEnabled { false };
#if PLATFORM(MAC)
WallTime m_lastMomentumScrollTimestamp;
Modified: trunk/Source/WebKit/ChangeLog (286350 => 286351)
--- trunk/Source/WebKit/ChangeLog 2021-12-01 06:32:24 UTC (rev 286350)
+++ trunk/Source/WebKit/ChangeLog 2021-12-01 07:18:03 UTC (rev 286351)
@@ -1,3 +1,17 @@
+2021-11-30 Simon Fraser <[email protected]>
+
+ Remove the scrolling tree plumbing of the momentumScrollingAnimatorEnabled() setting, which is no longer needed
+ https://bugs.webkit.org/show_bug.cgi?id=233680
+
+ Reviewed by Tim Horton.
+
+ We no longer consult the momentumScrollingAnimatorEnabled setting in the scrolling tree, so remove
+ the plumbing.
+
+ * Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:
+ (ArgumentCoder<ScrollingStateFrameScrollingNode>::encode):
+ (ArgumentCoder<ScrollingStateFrameScrollingNode>::decode):
+
2021-11-30 Tim Horton <[email protected]>
Add a momentum event synthesizer
Modified: trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp (286350 => 286351)
--- trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp 2021-12-01 06:32:24 UTC (rev 286350)
+++ trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp 2021-12-01 07:18:03 UTC (rev 286351)
@@ -149,7 +149,6 @@
WebCore::ScrollingStateNode::Property::FixedElementsLayoutRelativeToFrame,
WebCore::ScrollingStateNode::Property::VisualViewportIsSmallerThanLayoutViewport,
WebCore::ScrollingStateNode::Property::AsyncFrameOrOverflowScrollingEnabled,
- WebCore::ScrollingStateNode::Property::MomentumScrollingAnimatorEnabled,
WebCore::ScrollingStateNode::Property::WheelEventGesturesBecomeNonBlocking,
WebCore::ScrollingStateNode::Property::ScrollingPerformanceTestingEnabled,
WebCore::ScrollingStateNode::Property::LayoutViewport,
@@ -252,7 +251,6 @@
SCROLLING_NODE_ENCODE(ScrollingStateNode::Property::MinLayoutViewportOrigin, minLayoutViewportOrigin)
SCROLLING_NODE_ENCODE(ScrollingStateNode::Property::MaxLayoutViewportOrigin, maxLayoutViewportOrigin)
SCROLLING_NODE_ENCODE(ScrollingStateNode::Property::OverrideVisualViewportSize, overrideVisualViewportSize)
- // MomentumScrollingAnimatorEnabled is not relevant for UI-side compositing.
if (node.hasChangedProperty(ScrollingStateNode::Property::CounterScrollingLayer))
encoder << static_cast<GraphicsLayer::PlatformLayerID>(node.counterScrollingLayer());
@@ -367,7 +365,6 @@
SCROLLING_NODE_DECODE(ScrollingStateNode::Property::MinLayoutViewportOrigin, FloatPoint, setMinLayoutViewportOrigin)
SCROLLING_NODE_DECODE(ScrollingStateNode::Property::MaxLayoutViewportOrigin, FloatPoint, setMaxLayoutViewportOrigin)
SCROLLING_NODE_DECODE(ScrollingStateNode::Property::OverrideVisualViewportSize, std::optional<FloatSize>, setOverrideVisualViewportSize)
- // MomentumScrollingAnimatorEnabled is not encoded.
if (node.hasChangedProperty(ScrollingStateNode::Property::CounterScrollingLayer)) {
GraphicsLayer::PlatformLayerID layerID;