Changeset 149405 in webkit
- Timestamp:
- Apr 30, 2013 3:23:29 PM (11 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r149402 r149405 1 2013-04-30 Andrei Bucur <abucur@adobe.com> 2 3 Cleanup HTMLOListElement<->RenderListItem bridge 4 https://bugs.webkit.org/show_bug.cgi?id=115434 5 6 Reviewed by Darin Adler. 7 8 Refactor the way HTMLOListElement is accessing its list items. Instead 9 of exposing the nextListItem function, wrap the desiredfunctionality 10 in static methods on RenderListItem. This should make the code more readable. 11 I've also added more constness to some functions in RenderListItem. 12 13 Tests: No new tests, just refactoring. 14 15 * html/HTMLOListElement.cpp: 16 (WebCore::HTMLOListElement::updateItemValues): Use updateItemValuesForOrderedList. 17 (WebCore::HTMLOListElement::recalculateItemCount): Use itemCountForOrderedList. 18 * rendering/RenderListItem.cpp: 19 (WebCore::isList): Add more constness. 20 (WebCore::nextListItem): Make local to the CPP and add constness. 21 (WebCore::previousListItem): Add constness. 22 (WebCore::RenderListItem::updateItemValuesForOrderedList): Called by OL elements. 23 (WebCore::RenderListItem::itemCountForOrderedList): Called by OL elements. 24 (WebCore::previousOrNextItem): 25 * rendering/RenderListItem.h: Add updateItemValuesForOrderedList and itemCountForOrderedList. 26 1 27 2013-04-30 Anders Carlsson <andersca@apple.com> 2 28 -
trunk/Source/WebCore/html/HTMLOListElement.cpp
r148863 r149405 107 107 void HTMLOListElement::updateItemValues() 108 108 { 109 for (RenderListItem* listItem = RenderListItem::nextListItem(this); listItem; listItem = RenderListItem::nextListItem(this, listItem)) 110 listItem->updateValue(); 109 RenderListItem::updateItemValuesForOrderedList(this); 111 110 } 112 111 113 112 void HTMLOListElement::recalculateItemCount() 114 113 { 115 m_itemCount = 0; 116 117 for (RenderListItem* listItem = RenderListItem::nextListItem(this); listItem; listItem = RenderListItem::nextListItem(this, listItem)) 118 m_itemCount++; 119 114 m_itemCount = RenderListItem::itemCountForOrderedList(this); 120 115 m_shouldRecalculateItemCount = false; 121 116 } -
trunk/Source/WebCore/rendering/RenderListItem.cpp
r148863 r149405 93 93 } 94 94 95 static bool isList( Node* node)95 static bool isList(const Node* node) 96 96 { 97 97 return (node->hasTagName(ulTag) || node->hasTagName(olTag)); … … 118 118 119 119 // Returns the next list item with respect to the DOM order. 120 RenderListItem* RenderListItem::nextListItem(Node* listNode, const RenderListItem* item)120 static RenderListItem* nextListItem(const Node* listNode, const RenderListItem* item = 0) 121 121 { 122 122 if (!listNode) 123 123 return 0; 124 124 125 Node* current = item ? item->node() : listNode;125 const Node* current = item ? item->node() : listNode; 126 126 current = ElementTraversal::nextIncludingPseudo(current, listNode); 127 127 … … 145 145 146 146 // Returns the previous list item with respect to the DOM order. 147 static RenderListItem* previousListItem( Node* listNode, const RenderListItem* item)147 static RenderListItem* previousListItem(const Node* listNode, const RenderListItem* item) 148 148 { 149 149 Node* current = item->node(); … … 164 164 } 165 165 return 0; 166 } 167 168 void RenderListItem::updateItemValuesForOrderedList(const HTMLOListElement* listNode) 169 { 170 ASSERT(listNode); 171 172 for (RenderListItem* listItem = nextListItem(listNode); listItem; listItem = nextListItem(listNode, listItem)) 173 listItem->updateValue(); 174 } 175 176 unsigned RenderListItem::itemCountForOrderedList(const HTMLOListElement* listNode) 177 { 178 ASSERT(listNode); 179 180 unsigned itemCount = 0; 181 for (RenderListItem* listItem = nextListItem(listNode); listItem; listItem = nextListItem(listNode, listItem)) 182 itemCount++; 183 184 return itemCount; 166 185 } 167 186 … … 465 484 static RenderListItem* previousOrNextItem(bool isListReversed, Node* list, RenderListItem* item) 466 485 { 467 return isListReversed ? previousListItem(list, item) : RenderListItem::nextListItem(list, item);486 return isListReversed ? previousListItem(list, item) : nextListItem(list, item); 468 487 } 469 488 -
trunk/Source/WebCore/rendering/RenderListItem.h
r148863 r149405 28 28 namespace WebCore { 29 29 30 class HTMLOListElement; 30 31 class RenderListMarker; 31 32 … … 50 51 void updateListMarkerNumbers(); 51 52 52 static RenderListItem* nextListItem(Node*, const RenderListItem* = 0); 53 static void updateItemValuesForOrderedList(const HTMLOListElement*); 54 static unsigned itemCountForOrderedList(const HTMLOListElement*); 53 55 54 56 private:
Note: See TracChangeset
for help on using the changeset viewer.