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