Diff
Modified: trunk/Source/WebCore/ChangeLog (270337 => 270338)
--- trunk/Source/WebCore/ChangeLog 2020-12-02 02:46:49 UTC (rev 270337)
+++ trunk/Source/WebCore/ChangeLog 2020-12-02 03:25:42 UTC (rev 270338)
@@ -1,3 +1,49 @@
+2020-12-01 Simon Fraser <[email protected]>
+
+ Simplify some callsites of WheelEventTestMonitor
+ https://bugs.webkit.org/show_bug.cgi?id=219416
+
+ Reviewed by Daniel Bates.
+
+ Migrate towards more usage of WheelEventTestMonitorCompletionDeferrer, using a pattern
+ where we WTFMove() one into a completion handler to pair the defer/undefer pairs,
+ rather than having manual deferral/undeferral.
+
+ To make this work, WheelEventTestMonitorCompletionDeferrer gains a move constructor,
+ that nullifies the m_monitor in the source to prevent double firing.
+
+ Remove the WheelEventTestMonitor::RequestedScrollPosition deferral, since that code path
+ is now synchronous.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleWheelEventInternal):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scrollOffsetChangedViaPlatformWidgetImpl):
+ * page/WheelEventTestMonitor.cpp:
+ (WebCore::WheelEventTestMonitor::removeDeferralForReason):
+ * page/WheelEventTestMonitor.h:
+ (WebCore::WheelEventTestMonitorCompletionDeferrer::WheelEventTestMonitorCompletionDeferrer):
+ * page/scrolling/AsyncScrollingCoordinator.cpp:
+ (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
+ (WebCore::AsyncScrollingCoordinator::synchronizeStateFromScrollingTree):
+ (WebCore::AsyncScrollingCoordinator::applyPendingScrollUpdates):
+ (WebCore::AsyncScrollingCoordinator::applyScrollUpdate):
+ (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
+ (WebCore::AsyncScrollingCoordinator::noteScrollingThreadSyncCompleteForNode): Deleted.
+ * page/scrolling/AsyncScrollingCoordinator.h:
+ * page/scrolling/ScrollingTree.h:
+ (WebCore::ScrollingTree::wheelEventTestMonitor):
+ * page/scrolling/ThreadedScrollingTree.cpp:
+ (WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
+ (WebCore::ThreadedScrollingTree::setActiveScrollSnapIndices):
+ (WebCore::ThreadedScrollingTree::scrollingTreeNodeRequestsScroll): Deleted.
+ * page/scrolling/ThreadedScrollingTree.h:
+ * page/scrolling/mac/ScrollingCoordinatorMac.mm:
+ (WebCore::ScrollingCoordinatorMac::wheelEventWasProcessedByMainThread):
+ * page/scrolling/mac/ScrollingTreeMac.h:
+ * page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
+ (WebCore::ScrollingTreeScrollingNodeDelegateMac::handleWheelEvent):
+
2020-12-01 Peng Liu <[email protected]>
[Media In GPU Process][MSE] Add the support to forward initialization segment from the GPU Process to Web processes
Modified: trunk/Source/WebCore/page/EventHandler.cpp (270337 => 270338)
--- trunk/Source/WebCore/page/EventHandler.cpp 2020-12-02 02:46:49 UTC (rev 270337)
+++ trunk/Source/WebCore/page/EventHandler.cpp 2020-12-02 03:25:42 UTC (rev 270338)
@@ -2899,10 +2899,11 @@
#if PLATFORM(COCOA)
LOG_WITH_STREAM(Scrolling, stream << "EventHandler::handleWheelEvent " << event << " processing steps " << processingSteps);
- if (auto monitor = m_frame.page()->wheelEventTestMonitor())
+ auto monitor = m_frame.page()->wheelEventTestMonitor();
+ if (monitor)
monitor->receivedWheelEvent(event);
- WheelEventTestMonitorCompletionDeferrer deferrer(m_frame.page()->wheelEventTestMonitor().get(), this, WheelEventTestMonitor::DeferReason::HandlingWheelEventOnMainThread);
+ auto deferrer = WheelEventTestMonitorCompletionDeferrer { monitor.get(), this, WheelEventTestMonitor::DeferReason::HandlingWheelEventOnMainThread };
#endif
m_isHandlingWheelEvent = true;
Modified: trunk/Source/WebCore/page/FrameView.cpp (270337 => 270338)
--- trunk/Source/WebCore/page/FrameView.cpp 2020-12-02 02:46:49 UTC (rev 270337)
+++ trunk/Source/WebCore/page/FrameView.cpp 2020-12-02 03:25:42 UTC (rev 270338)
@@ -2484,7 +2484,7 @@
void FrameView::scrollOffsetChangedViaPlatformWidgetImpl(const ScrollOffset& oldOffset, const ScrollOffset& newOffset)
{
#if PLATFORM(COCOA)
- WheelEventTestMonitorCompletionDeferrer deferrer(frame().page()->wheelEventTestMonitor().get(), this, WheelEventTestMonitor::DeferReason::ContentScrollInProgress);
+ auto deferrer = WheelEventTestMonitorCompletionDeferrer { frame().page()->wheelEventTestMonitor().get(), this, WheelEventTestMonitor::DeferReason::ContentScrollInProgress };
#endif
updateLayerPositionsAfterScrolling();
Modified: trunk/Source/WebCore/page/WheelEventTestMonitor.cpp (270337 => 270338)
--- trunk/Source/WebCore/page/WheelEventTestMonitor.cpp 2020-12-02 02:46:49 UTC (rev 270337)
+++ trunk/Source/WebCore/page/WheelEventTestMonitor.cpp 2020-12-02 03:25:42 UTC (rev 270338)
@@ -95,8 +95,10 @@
LockHolder lock(m_mutex);
auto it = m_deferCompletionReasons.find(identifier);
- if (it == m_deferCompletionReasons.end())
+ if (it == m_deferCompletionReasons.end()) {
+ LOG_WITH_STREAM(WheelEventTestMonitor, stream << " (=) WheelEventTestMonitor::removeDeferralForReason: failed to find defer for id=" << identifier << ", reason=" << reason);
return;
+ }
LOG_WITH_STREAM(WheelEventTestMonitor, stream << " (=) WheelEventTestMonitor::removeDeferralForReason: id=" << identifier << ", reason=" << reason);
it->value.remove(reason);
Modified: trunk/Source/WebCore/page/WheelEventTestMonitor.h (270337 => 270338)
--- trunk/Source/WebCore/page/WheelEventTestMonitor.h 2020-12-02 02:46:49 UTC (rev 270337)
+++ trunk/Source/WebCore/page/WheelEventTestMonitor.h 2020-12-02 03:25:42 UTC (rev 270338)
@@ -93,6 +93,13 @@
m_monitor->deferForReason(m_identifier, m_reason);
}
+ WheelEventTestMonitorCompletionDeferrer(WheelEventTestMonitorCompletionDeferrer&& other)
+ : m_monitor(WTFMove(other.m_monitor))
+ , m_identifier(other.m_identifier)
+ , m_reason(other.m_reason)
+ {
+ }
+
~WheelEventTestMonitorCompletionDeferrer()
{
if (m_monitor)
Modified: trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp (270337 => 270338)
--- trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp 2020-12-02 02:46:49 UTC (rev 270337)
+++ trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp 2020-12-02 03:25:42 UTC (rev 270338)
@@ -270,7 +270,7 @@
bool inBackForwardCache = frameView->frame().document()->backForwardCacheState() != Document::NotInBackForwardCache;
bool inProgrammaticScroll = scrollableArea.currentScrollType() == ScrollType::Programmatic;
if (inProgrammaticScroll || inBackForwardCache)
- applyScrollUpdate(scrollingNodeID, scrollPosition, { }, ScrollType::Programmatic, ScrollingLayerPositionAction::Set, InformWheelEventMonitor::No);
+ applyScrollUpdate(scrollingNodeID, scrollPosition, { }, ScrollType::Programmatic, ScrollingLayerPositionAction::Set);
ASSERT(inProgrammaticScroll == (scrollType == ScrollType::Programmatic));
@@ -283,13 +283,6 @@
if (!stateNode)
return false;
-#if PLATFORM(MAC)
- if (m_page && m_page->isMonitoringWheelEvents()) {
- LOG_WITH_STREAM(WheelEventTestMonitor, stream << " (!) AsyncScrollingCoordinator::requestScrollPositionUpdate: Adding deferral on " << scrollingNodeID << " for reason " << WheelEventTestMonitor::RequestedScrollPosition);
- m_page->wheelEventTestMonitor()->deferForReason(reinterpret_cast<WheelEventTestMonitor::ScrollableAreaIdentifier>(scrollingNodeID), WheelEventTestMonitor::RequestedScrollPosition);
- }
-#endif
-
stateNode->setRequestedScrollData({ scrollPosition, scrollType, clamping });
commitTreeStateIfNeeded();
return true;
@@ -308,23 +301,11 @@
m_scrollingTree->traverseScrollingTree([&](ScrollingNodeID nodeID, ScrollingNodeType, Optional<FloatPoint> scrollPosition, Optional<FloatPoint> layoutViewportOrigin, bool scrolledSinceLastCommit) {
if (scrollPosition && scrolledSinceLastCommit) {
LOG_WITH_STREAM(Scrolling, stream << "AsyncScrollingCoordinator::synchronizeStateFromScrollingTree - node " << nodeID << " scroll position " << scrollPosition);
- updateScrollPositionAfterAsyncScroll(nodeID, scrollPosition.value(), layoutViewportOrigin, ScrollType::User, ScrollingLayerPositionAction::Set, InformWheelEventMonitor::No);
+ updateScrollPositionAfterAsyncScroll(nodeID, scrollPosition.value(), layoutViewportOrigin, ScrollType::User, ScrollingLayerPositionAction::Set);
}
});
}
-void AsyncScrollingCoordinator::noteScrollingThreadSyncCompleteForNode(ScrollingNodeID nodeID)
-{
-#if PLATFORM(MAC)
- if (m_page && m_page->isMonitoringWheelEvents()) {
- LOG_WITH_STREAM(WheelEventTestMonitor, stream << " (!) AsyncScrollingCoordinator::noteScrollingThreadSyncCompleteForNode: Removing deferral on " << nodeID << " for reason " << WheelEventTestMonitor::ScrollingThreadSyncNeeded);
- m_page->wheelEventTestMonitor()->removeDeferralForReason(reinterpret_cast<WheelEventTestMonitor::ScrollableAreaIdentifier>(nodeID), WheelEventTestMonitor::ScrollingThreadSyncNeeded);
- }
-#else
- UNUSED_PARAM(nodeID);
-#endif
-}
-
void AsyncScrollingCoordinator::applyPendingScrollUpdates()
{
if (!m_scrollingTree)
@@ -333,7 +314,7 @@
auto scrollUpdates = m_scrollingTree->takePendingScrollUpdates();
for (auto& update : scrollUpdates) {
LOG_WITH_STREAM(Scrolling, stream << "AsyncScrollingCoordinator::applyPendingScrollUpdates - node " << update.nodeID << " scroll position " << update.scrollPosition);
- updateScrollPositionAfterAsyncScroll(update.nodeID, update.scrollPosition, update.layoutViewportOrigin, ScrollType::User, update.updateLayerPositionAction, InformWheelEventMonitor::Yes);
+ updateScrollPositionAfterAsyncScroll(update.nodeID, update.scrollPosition, update.layoutViewportOrigin, ScrollType::User, update.updateLayerPositionAction);
}
}
@@ -369,19 +350,16 @@
return nullptr;
}
-void AsyncScrollingCoordinator::applyScrollUpdate(ScrollingNodeID scrollingNodeID, const FloatPoint& scrollPosition, Optional<FloatPoint> layoutViewportOrigin, ScrollType scrollType, ScrollingLayerPositionAction scrollingLayerPositionAction, InformWheelEventMonitor informWheelEventMonitor)
+void AsyncScrollingCoordinator::applyScrollUpdate(ScrollingNodeID scrollingNodeID, const FloatPoint& scrollPosition, Optional<FloatPoint> layoutViewportOrigin, ScrollType scrollType, ScrollingLayerPositionAction scrollingLayerPositionAction)
{
applyPendingScrollUpdates();
- updateScrollPositionAfterAsyncScroll(scrollingNodeID, scrollPosition, layoutViewportOrigin, scrollType, scrollingLayerPositionAction, informWheelEventMonitor);
+ updateScrollPositionAfterAsyncScroll(scrollingNodeID, scrollPosition, layoutViewportOrigin, scrollType, scrollingLayerPositionAction);
}
-void AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll(ScrollingNodeID scrollingNodeID, const FloatPoint& scrollPosition, Optional<FloatPoint> layoutViewportOrigin, ScrollType scrollType, ScrollingLayerPositionAction scrollingLayerPositionAction, InformWheelEventMonitor informWheelEventMonitor)
+void AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll(ScrollingNodeID scrollingNodeID, const FloatPoint& scrollPosition, Optional<FloatPoint> layoutViewportOrigin, ScrollType scrollType, ScrollingLayerPositionAction scrollingLayerPositionAction)
{
ASSERT(isMainThread());
- if (informWheelEventMonitor == InformWheelEventMonitor::Yes)
- noteScrollingThreadSyncCompleteForNode(scrollingNodeID);
-
if (!m_page)
return;
Modified: trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h (270337 => 270338)
--- trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h 2020-12-02 02:46:49 UTC (rev 270337)
+++ trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h 2020-12-02 03:25:42 UTC (rev 270338)
@@ -53,8 +53,7 @@
void applyPendingScrollUpdates();
- enum class InformWheelEventMonitor { Yes, No };
- WEBCORE_EXPORT void applyScrollUpdate(ScrollingNodeID, const FloatPoint&, Optional<FloatPoint> layoutViewportOrigin, ScrollType, ScrollingLayerPositionAction, InformWheelEventMonitor = InformWheelEventMonitor::Yes);
+ WEBCORE_EXPORT void applyScrollUpdate(ScrollingNodeID, const FloatPoint&, Optional<FloatPoint> layoutViewportOrigin, ScrollType, ScrollingLayerPositionAction);
#if PLATFORM(COCOA)
WEBCORE_EXPORT void handleWheelEventPhase(ScrollingNodeID, PlatformWheelEventPhase) final;
@@ -159,9 +158,7 @@
void setEventTrackingRegionsDirty();
void updateEventTrackingRegions();
- void noteScrollingThreadSyncCompleteForNode(ScrollingNodeID);
-
- void updateScrollPositionAfterAsyncScroll(ScrollingNodeID, const FloatPoint&, Optional<FloatPoint> layoutViewportOrigin, ScrollType, ScrollingLayerPositionAction, InformWheelEventMonitor);
+ void updateScrollPositionAfterAsyncScroll(ScrollingNodeID, const FloatPoint&, Optional<FloatPoint> layoutViewportOrigin, ScrollType, ScrollingLayerPositionAction);
FrameView* frameViewForScrollingNode(ScrollingNodeID) const;
Modified: trunk/Source/WebCore/page/scrolling/ScrollingTree.h (270337 => 270338)
--- trunk/Source/WebCore/page/scrolling/ScrollingTree.h 2020-12-02 02:46:49 UTC (rev 270337)
+++ trunk/Source/WebCore/page/scrolling/ScrollingTree.h 2020-12-02 03:25:42 UTC (rev 270338)
@@ -145,6 +145,8 @@
WEBCORE_EXPORT TrackingType eventTrackingTypeForPoint(const AtomString& eventName, IntPoint);
+ virtual WheelEventTestMonitor* wheelEventTestMonitor() { return nullptr; }
+
#if PLATFORM(MAC)
virtual void handleWheelEventPhase(ScrollingNodeID, PlatformWheelEventPhase) = 0;
virtual void setActiveScrollSnapIndices(ScrollingNodeID, unsigned /*horizontalIndex*/, unsigned /*verticalIndex*/) { }
Modified: trunk/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp (270337 => 270338)
--- trunk/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp 2020-12-02 02:46:49 UTC (rev 270337)
+++ trunk/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp 2020-12-02 03:25:42 UTC (rev 270338)
@@ -148,11 +148,6 @@
if (is<ScrollingTreeFrameScrollingNode>(node))
layoutViewportOrigin = downcast<ScrollingTreeFrameScrollingNode>(node).layoutViewport().location();
-#if PLATFORM(MAC)
- if (isMonitoringWheelEvents())
- deferWheelEventTestCompletionForReason(reinterpret_cast<WheelEventTestMonitor::ScrollableAreaIdentifier>(node.scrollingNodeID()), WheelEventTestMonitor::ScrollingThreadSyncNeeded);
-#endif
-
if (RunLoop::isMain()) {
m_scrollingCoordinator->applyScrollUpdate(node.scrollingNodeID(), scrollPosition, layoutViewportOrigin, ScrollType::User, scrollingLayerPositionAction);
return;
@@ -163,7 +158,8 @@
auto scrollUpdate = ScrollUpdate { node.scrollingNodeID(), scrollPosition, layoutViewportOrigin, scrollingLayerPositionAction };
addPendingScrollUpdate(WTFMove(scrollUpdate));
- RunLoop::main().dispatch([strongThis = makeRef(*this)] {
+ auto deferrer = WheelEventTestMonitorCompletionDeferrer { wheelEventTestMonitor(), reinterpret_cast<WheelEventTestMonitor::ScrollableAreaIdentifier>(node.scrollingNodeID()), WheelEventTestMonitor::ScrollingThreadSyncNeeded };
+ RunLoop::main().dispatch([strongThis = makeRef(*this), deferrer = WTFMove(deferrer)] {
if (auto* scrollingCoordinator = strongThis->m_scrollingCoordinator.get())
scrollingCoordinator->applyPendingScrollUpdates();
});
@@ -215,11 +211,6 @@
scrollingCoordinator->setActiveScrollSnapIndices(nodeID, horizontalIndex, verticalIndex);
});
}
-
-void ThreadedScrollingTree::scrollingTreeNodeRequestsScroll(ScrollingNodeID nodeID, const FloatPoint& /*scrollPosition*/, ScrollType, ScrollClamping)
-{
- removeWheelEventTestCompletionDeferralForReason(reinterpret_cast<WheelEventTestMonitor::ScrollableAreaIdentifier>(nodeID), WheelEventTestMonitor::RequestedScrollPosition);
-}
#endif
void ThreadedScrollingTree::willStartRenderingUpdate()
Modified: trunk/Source/WebCore/page/scrolling/ThreadedScrollingTree.h (270337 => 270338)
--- trunk/Source/WebCore/page/scrolling/ThreadedScrollingTree.h 2020-12-02 02:46:49 UTC (rev 270337)
+++ trunk/Source/WebCore/page/scrolling/ThreadedScrollingTree.h 2020-12-02 03:25:42 UTC (rev 270338)
@@ -68,7 +68,6 @@
#if PLATFORM(MAC)
void handleWheelEventPhase(ScrollingNodeID, PlatformWheelEventPhase) override;
void setActiveScrollSnapIndices(ScrollingNodeID, unsigned horizontalIndex, unsigned verticalIndex) override;
- void scrollingTreeNodeRequestsScroll(ScrollingNodeID, const FloatPoint& /*scrollPosition*/, ScrollType, ScrollClamping) override;
#endif
#if PLATFORM(COCOA)
Modified: trunk/Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm (270337 => 270338)
--- trunk/Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm 2020-12-02 02:46:49 UTC (rev 270337)
+++ trunk/Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm 2020-12-02 03:25:42 UTC (rev 270338)
@@ -98,18 +98,11 @@
void ScrollingCoordinatorMac::wheelEventWasProcessedByMainThread(const PlatformWheelEvent& wheelEvent, OptionSet<EventHandling> defaultHandling)
{
- uint64_t deferIdentifier = 0;
- if (m_page && m_page->isMonitoringWheelEvents()) {
- deferIdentifier = nextDeferIdentifier();
- m_page->wheelEventTestMonitor()->deferForReason(reinterpret_cast<WheelEventTestMonitor::ScrollableAreaIdentifier>(deferIdentifier), WheelEventTestMonitor::ReportDOMEventHandling);
- }
+ auto deferrer = WheelEventTestMonitorCompletionDeferrer { m_page->wheelEventTestMonitor().get(), reinterpret_cast<WheelEventTestMonitor::ScrollableAreaIdentifier>(nextDeferIdentifier()), WheelEventTestMonitor::ReportDOMEventHandling };
RefPtr<ThreadedScrollingTree> threadedScrollingTree = downcast<ThreadedScrollingTree>(scrollingTree());
- ScrollingThread::dispatch([threadedScrollingTree, wheelEvent, defaultHandling, deferIdentifier] {
+ ScrollingThread::dispatch([threadedScrollingTree, wheelEvent, defaultHandling, deferrer = WTFMove(deferrer)] {
threadedScrollingTree->wheelEventWasProcessedByMainThread(wheelEvent, defaultHandling);
-
- if (threadedScrollingTree->isMonitoringWheelEvents())
- threadedScrollingTree->removeWheelEventTestCompletionDeferralForReason(reinterpret_cast<WheelEventTestMonitor::ScrollableAreaIdentifier>(deferIdentifier), WheelEventTestMonitor::ReportDOMEventHandling);
});
}
Modified: trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeMac.h (270337 => 270338)
--- trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeMac.h 2020-12-02 02:46:49 UTC (rev 270337)
+++ trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeMac.h 2020-12-02 03:25:42 UTC (rev 270338)
@@ -48,6 +48,7 @@
#endif
void setWheelEventTestMonitor(RefPtr<WheelEventTestMonitor>&&) final;
+ WheelEventTestMonitor* wheelEventTestMonitor() final { return m_wheelEventTestMonitor.get(); }
void receivedWheelEvent(const PlatformWheelEvent&) final;
Modified: trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm (270337 => 270338)
--- trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm 2020-12-02 02:46:49 UTC (rev 270337)
+++ trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm 2020-12-02 03:25:42 UTC (rev 270338)
@@ -135,8 +135,7 @@
}
#if ENABLE(CSS_SCROLL_SNAP) || ENABLE(RUBBER_BANDING)
- if (scrollingTree().isMonitoringWheelEvents())
- deferWheelEventTestCompletionForReason(reinterpret_cast<WheelEventTestMonitor::ScrollableAreaIdentifier>(scrollingNode().scrollingNodeID()), WheelEventTestMonitor::HandlingWheelEvent);
+ auto deferrer = WheelEventTestMonitorCompletionDeferrer { scrollingTree().wheelEventTestMonitor(), reinterpret_cast<WheelEventTestMonitor::ScrollableAreaIdentifier>(scrollingNode().scrollingNodeID()), WheelEventTestMonitor::HandlingWheelEvent };
#endif
bool wasInUserScroll = m_scrollController.isUserScrollInProgress();
@@ -150,14 +149,7 @@
if (wheelEvent.phase() == PlatformWheelEventPhase::MayBegin)
return true;
- auto handled = m_scrollController.handleWheelEvent(wheelEvent);
-
-#if ENABLE(CSS_SCROLL_SNAP) || ENABLE(RUBBER_BANDING)
- if (scrollingTree().isMonitoringWheelEvents())
- removeWheelEventTestCompletionDeferralForReason(reinterpret_cast<WheelEventTestMonitor::ScrollableAreaIdentifier>(scrollingNode().scrollingNodeID()), WheelEventTestMonitor::HandlingWheelEvent);
-#endif
-
- return handled;
+ return m_scrollController.handleWheelEvent(wheelEvent);
}
void ScrollingTreeScrollingNodeDelegateMac::willDoProgrammaticScroll(const FloatPoint& targetPosition)