Changeset 162747 in webkit
- Timestamp:
- Jan 24, 2014 6:32:23 PM (10 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r162745 r162747 1 2014-01-24 Simon Fraser <simon.fraser@apple.com> 2 3 Add typesafe casts for ScrollingTreeNode classes 4 https://bugs.webkit.org/show_bug.cgi?id=127597 5 6 Reviewed by Tim Horton. 7 8 Add a ScrollingNodeType member to ScrollingTreeNodes and 9 use it for type-safe casting. 10 11 * page/scrolling/ScrollingTreeNode.cpp: 12 (WebCore::ScrollingTreeNode::ScrollingTreeNode): 13 * page/scrolling/ScrollingTreeNode.h: 14 (WebCore::ScrollingTreeNode::nodeType): 15 (WebCore::ScrollingTreeNode::scrollingNodeID): 16 * page/scrolling/ScrollingTreeScrollingNode.cpp: 17 (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode): 18 * page/scrolling/ScrollingTreeScrollingNode.h: 19 * page/scrolling/mac/ScrollingTreeFixedNode.h: 20 * page/scrolling/mac/ScrollingTreeFixedNode.mm: 21 (WebCore::ScrollingTreeFixedNode::ScrollingTreeFixedNode): 22 * page/scrolling/mac/ScrollingTreeStickyNode.h: 23 * page/scrolling/mac/ScrollingTreeStickyNode.mm: 24 (WebCore::ScrollingTreeStickyNode::ScrollingTreeStickyNode): 25 1 26 2014-01-24 Anders Carlsson <andersca@apple.com> 2 27 -
trunk/Source/WebCore/page/scrolling/ScrollingTreeNode.cpp
r160944 r162747 33 33 namespace WebCore { 34 34 35 ScrollingTreeNode::ScrollingTreeNode(ScrollingTree& scrollingTree, ScrollingNode ID nodeID)35 ScrollingTreeNode::ScrollingTreeNode(ScrollingTree& scrollingTree, ScrollingNodeType nodeType, ScrollingNodeID nodeID) 36 36 : m_scrollingTree(scrollingTree) 37 , m_nodeType(nodeType) 37 38 , m_nodeID(nodeID) 38 39 , m_parent(0) -
trunk/Source/WebCore/page/scrolling/ScrollingTreeNode.h
r161194 r162747 44 44 virtual ~ScrollingTreeNode(); 45 45 46 ScrollingNodeType nodeType() const { return m_nodeType; } 47 ScrollingNodeID scrollingNodeID() const { return m_nodeID; } 48 46 49 virtual void updateBeforeChildren(const ScrollingStateNode&) = 0; 47 50 virtual void updateAfterChildren(const ScrollingStateNode&) { } 48 51 49 52 virtual void parentScrollPositionDidChange(const IntRect& viewportRect, const FloatSize& cumulativeDelta) = 0; 50 51 ScrollingNodeID scrollingNodeID() const { return m_nodeID; }52 53 53 54 ScrollingTreeNode* parent() const { return m_parent; } … … 58 59 59 60 protected: 60 ScrollingTreeNode(ScrollingTree&, ScrollingNode ID);61 ScrollingTreeNode(ScrollingTree&, ScrollingNodeType, ScrollingNodeID); 61 62 ScrollingTree& scrollingTree() const { return m_scrollingTree; } 62 63 … … 67 68 ScrollingTree& m_scrollingTree; 68 69 69 ScrollingNodeID m_nodeID; 70 const ScrollingNodeType m_nodeType; 71 const ScrollingNodeID m_nodeID; 70 72 71 73 ScrollingTreeNode* m_parent; 72 74 }; 75 76 #define SCROLLING_NODE_TYPE_CASTS(ToValueTypeName, predicate) \ 77 TYPE_CASTS_BASE(ToValueTypeName, ScrollingTreeNode, value, value->predicate, value.predicate) 73 78 74 79 } // namespace WebCore -
trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp
r161194 r162747 35 35 36 36 ScrollingTreeScrollingNode::ScrollingTreeScrollingNode(ScrollingTree& scrollingTree, ScrollingNodeID nodeID) 37 : ScrollingTreeNode(scrollingTree, nodeID)37 : ScrollingTreeNode(scrollingTree, ScrollingNode, nodeID) 38 38 , m_frameScaleFactor(1) 39 39 , m_headerHeight(0) -
trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h
r162139 r162747 101 101 }; 102 102 103 SCROLLING_NODE_TYPE_CASTS(ScrollingTreeScrollingNode, nodeType() == ScrollingNode); 104 103 105 } // namespace WebCore 104 106 -
trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.h
r162139 r162747 55 55 }; 56 56 57 SCROLLING_NODE_TYPE_CASTS(ScrollingTreeFixedNode, nodeType() == FixedNode); 58 57 59 } // namespace WebCore 58 60 -
trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.mm
r161610 r162747 41 41 42 42 ScrollingTreeFixedNode::ScrollingTreeFixedNode(ScrollingTree& scrollingTree, ScrollingNodeID nodeID) 43 : ScrollingTreeNode(scrollingTree, nodeID)43 : ScrollingTreeNode(scrollingTree, FixedNode, nodeID) 44 44 { 45 45 } -
trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeStickyNode.h
r162139 r162747 55 55 }; 56 56 57 SCROLLING_NODE_TYPE_CASTS(ScrollingTreeStickyNode, nodeType() == StickyNode); 58 57 59 } // namespace WebCore 58 60 -
trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeStickyNode.mm
r161610 r162747 41 41 42 42 ScrollingTreeStickyNode::ScrollingTreeStickyNode(ScrollingTree& scrollingTree, ScrollingNodeID nodeID) 43 : ScrollingTreeNode(scrollingTree, nodeID)43 : ScrollingTreeNode(scrollingTree, StickyNode, nodeID) 44 44 { 45 45 }
Note: See TracChangeset
for help on using the changeset viewer.