⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 244772 in webkit


Ignore:
Timestamp:
Apr 30, 2019, 8:12:26 AM (7 years ago)
Author:
Antti Koivisto
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:
Location:
trunk/Source
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r244771 r244772  
     12019-04-30  Antti Koivisto  <antti@apple.com>
     2
     3        Tighten type of ScrollingTree:rootNode() to ScrollingTreeFrameScrollingNode
     4        https://bugs.webkit.org/show_bug.cgi?id=197414
     5
     6        Reviewed by Frédéric Wang.
     7
     8        * page/scrolling/ScrollingTree.cpp:
     9        (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
     10        (WebCore::ScrollingTree::handleWheelEvent):
     11        (WebCore::ScrollingTree::mainFrameViewportChangedViaDelegatedScrolling):
     12        (WebCore::ScrollingTree::updateTreeFromStateNode):
     13        * page/scrolling/ScrollingTree.h:
     14        (WebCore::ScrollingTree::rootNode const):
     15
    1162019-04-30  Youenn Fablet  <youenn@apple.com>
    217
  • trunk/Source/WebCore/page/scrolling/ScrollingTree.cpp

    r243926 r244772  
    6161   
    6262    if (!m_treeState.eventTrackingRegions.isEmpty() && m_rootNode) {
    63         auto& frameScrollingNode = downcast<ScrollingTreeFrameScrollingNode>(*m_rootNode);
    6463        FloatPoint position = wheelEvent.position();
    65         position.move(frameScrollingNode.viewToContentsOffset(m_treeState.mainFrameScrollPosition));
     64        position.move(m_rootNode->viewToContentsOffset(m_treeState.mainFrameScrollPosition));
    6665
    6766        const EventNames& names = eventNames();
     
    9897    if (!asyncFrameOrOverflowScrollingEnabled()) {
    9998        if (m_rootNode)
    100             downcast<ScrollingTreeScrollingNode>(*m_rootNode).handleWheelEvent(wheelEvent);
     99            m_rootNode->handleWheelEvent(wheelEvent);
    101100        return ScrollingEventResult::DidNotHandleEvent;
    102101    }
     
    110109
    111110    if (m_rootNode) {
    112         auto& frameScrollingNode = downcast<ScrollingTreeFrameScrollingNode>(*m_rootNode);
    113 
    114111        FloatPoint position = wheelEvent.position();
    115         ScrollingTreeNode* node = frameScrollingNode.scrollingNodeForPoint(LayoutPoint(position));
     112        ScrollingTreeNode* node = m_rootNode->scrollingNodeForPoint(LayoutPoint(position));
    116113
    117114        LOG_WITH_STREAM(Scrolling, stream << "ScrollingTree::handleWheelEvent found node " << (node ? node->scrollingNodeID() : 0) << " for point " << position << "\n");
     
    137134        return;
    138135
    139     auto& frameScrollingNode = downcast<ScrollingTreeFrameScrollingNode>(*m_rootNode);
    140     frameScrollingNode.wasScrolledByDelegatedScrolling(scrollPosition, layoutViewport);
     136    m_rootNode->wasScrolledByDelegatedScrolling(scrollPosition, layoutViewport);
    141137}
    142138
     
    213209            // This is the root node. Clear the node map.
    214210            ASSERT(stateNode->isFrameScrollingNode());
    215             m_rootNode = node;
     211            m_rootNode = downcast<ScrollingTreeFrameScrollingNode>(node.get());
    216212            m_nodeMap.clear();
    217213        }
  • trunk/Source/WebCore/page/scrolling/ScrollingTree.h

    r243926 r244772  
    4343class ScrollingStateTree;
    4444class ScrollingStateNode;
     45class ScrollingTreeFrameScrollingNode;
    4546class ScrollingTreeNode;
    4647class ScrollingTreeScrollingNode;
     
    130131    bool scrollingPerformanceLoggingEnabled();
    131132
    132     ScrollingTreeNode* rootNode() const { return m_rootNode.get(); }
     133    ScrollingTreeFrameScrollingNode* rootNode() const { return m_rootNode.get(); }
    133134
    134135    ScrollingNodeID latchedNode();
     
    171172    Lock m_treeMutex; // Protects the scrolling tree.
    172173
    173     RefPtr<ScrollingTreeNode> m_rootNode;
     174    RefPtr<ScrollingTreeFrameScrollingNode> m_rootNode;
    174175
    175176    using ScrollingTreeNodeMap = HashMap<ScrollingNodeID, ScrollingTreeNode*>;
  • trunk/Source/WebKit/ChangeLog

    r244767 r244772  
     12019-04-30  Antti Koivisto  <antti@apple.com>
     2
     3        Tighten type of ScrollingTree:rootNode() to ScrollingTreeFrameScrollingNode
     4        https://bugs.webkit.org/show_bug.cgi?id=197414
     5
     6        Reviewed by Frédéric Wang.
     7
     8        * UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
     9
    1102019-04-30  Carlos Garcia Campos  <cgarcia@igalia.com>
    211
  • trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp

    r243926 r244772  
    4040#include <WebCore/ScrollingStatePositionedNode.h>
    4141#include <WebCore/ScrollingStateTree.h>
    42 #include <WebCore/ScrollingTreeScrollingNode.h>
     42#include <WebCore/ScrollingTreeFrameScrollingNode.h>
    4343
    4444namespace WebKit {
Note: See TracChangeset for help on using the changeset viewer.