Title: [244772] trunk/Source
Revision
244772
Author
[email protected]
Date
2019-04-30 08:12:26 -0700 (Tue, 30 Apr 2019)

Log Message

Tighten type of ScrollingTree:rootNode() to ScrollingTreeFrameScrollingNode
https://bugs.webkit.org/show_bug.cgi?id=197414

Reviewed by Frédéric Wang.

Source/WebCore:

* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
(WebCore::ScrollingTree::handleWheelEvent):
(WebCore::ScrollingTree::mainFrameViewportChangedViaDelegatedScrolling):
(WebCore::ScrollingTree::updateTreeFromStateNode):
* page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::rootNode const):

Source/WebKit:

* UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (244771 => 244772)


--- trunk/Source/WebCore/ChangeLog	2019-04-30 15:03:38 UTC (rev 244771)
+++ trunk/Source/WebCore/ChangeLog	2019-04-30 15:12:26 UTC (rev 244772)
@@ -1,3 +1,18 @@
+2019-04-30  Antti Koivisto  <[email protected]>
+
+        Tighten type of ScrollingTree:rootNode() to ScrollingTreeFrameScrollingNode
+        https://bugs.webkit.org/show_bug.cgi?id=197414
+
+        Reviewed by Frédéric Wang.
+
+        * page/scrolling/ScrollingTree.cpp:
+        (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
+        (WebCore::ScrollingTree::handleWheelEvent):
+        (WebCore::ScrollingTree::mainFrameViewportChangedViaDelegatedScrolling):
+        (WebCore::ScrollingTree::updateTreeFromStateNode):
+        * page/scrolling/ScrollingTree.h:
+        (WebCore::ScrollingTree::rootNode const):
+
 2019-04-30  Youenn Fablet  <[email protected]>
 
         Refactor AudioContext to register/unregister itself at construction/destruction time

Modified: trunk/Source/WebCore/page/scrolling/ScrollingTree.cpp (244771 => 244772)


--- trunk/Source/WebCore/page/scrolling/ScrollingTree.cpp	2019-04-30 15:03:38 UTC (rev 244771)
+++ trunk/Source/WebCore/page/scrolling/ScrollingTree.cpp	2019-04-30 15:12:26 UTC (rev 244772)
@@ -60,9 +60,8 @@
         m_treeState.latchedNodeID = 0;
     
     if (!m_treeState.eventTrackingRegions.isEmpty() && m_rootNode) {
-        auto& frameScrollingNode = downcast<ScrollingTreeFrameScrollingNode>(*m_rootNode);
         FloatPoint position = wheelEvent.position();
-        position.move(frameScrollingNode.viewToContentsOffset(m_treeState.mainFrameScrollPosition));
+        position.move(m_rootNode->viewToContentsOffset(m_treeState.mainFrameScrollPosition));
 
         const EventNames& names = eventNames();
         IntPoint roundedPosition = roundedIntPoint(position);
@@ -97,7 +96,7 @@
 
     if (!asyncFrameOrOverflowScrollingEnabled()) {
         if (m_rootNode)
-            downcast<ScrollingTreeScrollingNode>(*m_rootNode).handleWheelEvent(wheelEvent);
+            m_rootNode->handleWheelEvent(wheelEvent);
         return ScrollingEventResult::DidNotHandleEvent;
     }
 
@@ -109,10 +108,8 @@
     }
 
     if (m_rootNode) {
-        auto& frameScrollingNode = downcast<ScrollingTreeFrameScrollingNode>(*m_rootNode);
-
         FloatPoint position = wheelEvent.position();
-        ScrollingTreeNode* node = frameScrollingNode.scrollingNodeForPoint(LayoutPoint(position));
+        ScrollingTreeNode* node = m_rootNode->scrollingNodeForPoint(LayoutPoint(position));
 
         LOG_WITH_STREAM(Scrolling, stream << "ScrollingTree::handleWheelEvent found node " << (node ? node->scrollingNodeID() : 0) << " for point " << position << "\n");
 
@@ -136,8 +133,7 @@
     if (!m_rootNode)
         return;
 
-    auto& frameScrollingNode = downcast<ScrollingTreeFrameScrollingNode>(*m_rootNode);
-    frameScrollingNode.wasScrolledByDelegatedScrolling(scrollPosition, layoutViewport);
+    m_rootNode->wasScrolledByDelegatedScrolling(scrollPosition, layoutViewport);
 }
 
 void ScrollingTree::commitTreeState(std::unique_ptr<ScrollingStateTree> scrollingStateTree)
@@ -212,7 +208,7 @@
         if (!parentNodeID) {
             // This is the root node. Clear the node map.
             ASSERT(stateNode->isFrameScrollingNode());
-            m_rootNode = node;
+            m_rootNode = downcast<ScrollingTreeFrameScrollingNode>(node.get());
             m_nodeMap.clear();
         } 
         m_nodeMap.set(nodeID, node.get());

Modified: trunk/Source/WebCore/page/scrolling/ScrollingTree.h (244771 => 244772)


--- trunk/Source/WebCore/page/scrolling/ScrollingTree.h	2019-04-30 15:03:38 UTC (rev 244771)
+++ trunk/Source/WebCore/page/scrolling/ScrollingTree.h	2019-04-30 15:12:26 UTC (rev 244772)
@@ -42,6 +42,7 @@
 class IntPoint;
 class ScrollingStateTree;
 class ScrollingStateNode;
+class ScrollingTreeFrameScrollingNode;
 class ScrollingTreeNode;
 class ScrollingTreeScrollingNode;
 
@@ -129,7 +130,7 @@
     WEBCORE_EXPORT void setScrollingPerformanceLoggingEnabled(bool flag);
     bool scrollingPerformanceLoggingEnabled();
 
-    ScrollingTreeNode* rootNode() const { return m_rootNode.get(); }
+    ScrollingTreeFrameScrollingNode* rootNode() const { return m_rootNode.get(); }
 
     ScrollingNodeID latchedNode();
     void setLatchedNode(ScrollingNodeID);
@@ -170,7 +171,7 @@
 
     Lock m_treeMutex; // Protects the scrolling tree.
 
-    RefPtr<ScrollingTreeNode> m_rootNode;
+    RefPtr<ScrollingTreeFrameScrollingNode> m_rootNode;
 
     using ScrollingTreeNodeMap = HashMap<ScrollingNodeID, ScrollingTreeNode*>;
     ScrollingTreeNodeMap m_nodeMap;

Modified: trunk/Source/WebKit/ChangeLog (244771 => 244772)


--- trunk/Source/WebKit/ChangeLog	2019-04-30 15:03:38 UTC (rev 244771)
+++ trunk/Source/WebKit/ChangeLog	2019-04-30 15:12:26 UTC (rev 244772)
@@ -1,3 +1,12 @@
+2019-04-30  Antti Koivisto  <[email protected]>
+
+        Tighten type of ScrollingTree:rootNode() to ScrollingTreeFrameScrollingNode
+        https://bugs.webkit.org/show_bug.cgi?id=197414
+
+        Reviewed by Frédéric Wang.
+
+        * UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
+
 2019-04-30  Carlos Garcia Campos  <[email protected]>
 
         REGRESSION(r244750): [GTK][WPE] Network process is crashing in all layout tests

Modified: trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp (244771 => 244772)


--- trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp	2019-04-30 15:03:38 UTC (rev 244771)
+++ trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp	2019-04-30 15:12:26 UTC (rev 244772)
@@ -39,7 +39,7 @@
 #include <WebCore/ScrollingStateOverflowScrollingNode.h>
 #include <WebCore/ScrollingStatePositionedNode.h>
 #include <WebCore/ScrollingStateTree.h>
-#include <WebCore/ScrollingTreeScrollingNode.h>
+#include <WebCore/ScrollingTreeFrameScrollingNode.h>
 
 namespace WebKit {
 using namespace WebCore;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to