Changeset 62909 in webkit
- Timestamp:
- Jul 9, 2010 12:48:06 AM (14 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r62907 r62909 1 2010-07-09 Eric Seidel <eric@webkit.org> 2 3 Reviewed by Adam Barth. 4 5 Add new popUntilPopped functions to clean up code 6 https://bugs.webkit.org/show_bug.cgi?id=41936 7 8 Pretty self explanatory. Much awesome code reduction. 9 10 No functional changes, thus no tests. 11 12 * html/HTMLElementStack.cpp: 13 (WebCore::HTMLElementStack::popUntilPopped): 14 * html/HTMLElementStack.h: 15 * html/HTMLTreeBuilder.cpp: 16 (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody): 17 (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): 18 (WebCore::HTMLTreeBuilder::processEndTagForInBody): 19 (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption): 20 (WebCore::HTMLTreeBuilder::processTableEndTagForInTable): 21 (WebCore::HTMLTreeBuilder::processEndTag): 22 1 23 2010-07-09 Eric Seidel <eric@webkit.org> 2 24 -
trunk/WebCore/html/HTMLElementStack.cpp
r62642 r62909 153 153 } 154 154 155 void HTMLElementStack::popUntilPopped(const AtomicString& tagName) 156 { 157 popUntil(tagName); 158 pop(); 159 } 160 155 161 void HTMLElementStack::popUntil(Element* element) 156 162 { 157 163 while (top() != element) 158 164 pop(); 165 } 166 167 void HTMLElementStack::popUntilPopped(Element* element) 168 { 169 popUntil(element); 170 pop(); 159 171 } 160 172 -
trunk/WebCore/html/HTMLElementStack.h
r62642 r62909 85 85 void popUntil(const AtomicString& tagName); 86 86 void popUntil(Element*); 87 void popUntilPopped(const AtomicString& tagName); 88 void popUntilPopped(Element*); 87 89 void popUntilTableScopeMarker(); // "clear the stack back to a table context" in the spec. 88 90 void popUntilTableBodyScopeMarker(); // "clear the stack back to a table body context" in the spec. -
trunk/WebCore/html/HTMLTreeBuilder.cpp
r62907 r62909 1303 1303 return; 1304 1304 } 1305 m_tree.openElements()->popUntil(node); 1306 m_tree.openElements()->pop(); 1305 m_tree.openElements()->popUntilPopped(node); 1307 1306 return; 1308 1307 } … … 1367 1366 // 3. 1368 1367 if (!furthestBlock) { 1369 m_tree.openElements()->popUntil(formattingElement); 1370 m_tree.openElements()->pop(); 1368 m_tree.openElements()->popUntilPopped(formattingElement); 1371 1369 m_tree.activeFormattingElements()->remove(formattingElement); 1372 1370 return; … … 1558 1556 if (!m_tree.currentElement()->hasLocalName(token.name())) 1559 1557 parseError(token); 1560 m_tree.openElements()->popUntil(token.name()); 1561 m_tree.openElements()->pop(); 1558 m_tree.openElements()->popUntilPopped(token.name()); 1562 1559 return; 1563 1560 } … … 1584 1581 if (!m_tree.currentElement()->hasLocalName(token.name())) 1585 1582 parseError(token); 1586 m_tree.openElements()->popUntil(token.name()); 1587 m_tree.openElements()->pop(); 1583 m_tree.openElements()->popUntilPopped(token.name()); 1588 1584 return; 1589 1585 } … … 1596 1592 if (!m_tree.currentElement()->hasLocalName(token.name())) 1597 1593 parseError(token); 1598 m_tree.openElements()->popUntil(token.name()); 1599 m_tree.openElements()->pop(); 1594 m_tree.openElements()->popUntilPopped(token.name()); 1600 1595 return; 1601 1596 } … … 1609 1604 if (!m_tree.currentElement()->hasLocalName(token.name())) 1610 1605 parseError(token); 1611 m_tree.openElements()->popUntil(token.name()); 1612 m_tree.openElements()->pop(); 1606 m_tree.openElements()->popUntilPopped(token.name()); 1613 1607 return; 1614 1608 } … … 1621 1615 if (!m_tree.currentElement()->hasLocalName(token.name())) 1622 1616 parseError(token); 1623 m_tree.openElements()->popUntil(token.name()); 1624 m_tree.openElements()->pop(); 1617 m_tree.openElements()->popUntilPopped(token.name()); 1625 1618 return; 1626 1619 } … … 1643 1636 if (!m_tree.currentElement()->hasLocalName(token.name())) 1644 1637 parseError(token); 1645 m_tree.openElements()->popUntil(token.name()); 1646 m_tree.openElements()->pop(); 1638 m_tree.openElements()->popUntilPopped(token.name()); 1647 1639 m_tree.activeFormattingElements()->clearToLastMarker(); 1648 1640 return; … … 1665 1657 m_tree.generateImpliedEndTags(); 1666 1658 // FIXME: parse error if (!m_tree.currentElement()->hasTagName(captionTag)) 1667 m_tree.openElements()->popUntil(captionTag.localName()); 1668 m_tree.openElements()->pop(); 1659 m_tree.openElements()->popUntilPopped(captionTag.localName()); 1669 1660 m_tree.activeFormattingElements()->clearToLastMarker(); 1670 1661 m_insertionMode = InTableMode; … … 1693 1684 return false; 1694 1685 } 1695 m_tree.openElements()->popUntil(tableTag.localName()); 1696 m_tree.openElements()->pop(); 1686 m_tree.openElements()->popUntilPopped(tableTag.localName()); 1697 1687 resetInsertionModeAppropriately(); 1698 1688 return true; … … 1860 1850 if (!m_tree.currentElement()->hasLocalName(token.name())) 1861 1851 parseError(token); 1862 m_tree.openElements()->popUntil(token.name()); 1863 m_tree.openElements()->pop(); 1852 m_tree.openElements()->popUntilPopped(token.name()); 1864 1853 m_tree.activeFormattingElements()->clearToLastMarker(); 1865 1854 m_insertionMode = InRowMode; … … 2032 2021 if (token.name() == selectTag) { 2033 2022 notImplemented(); // fragment case 2034 m_tree.openElements()->popUntil(selectTag.localName()); 2035 m_tree.openElements()->pop(); 2023 m_tree.openElements()->popUntilPopped(selectTag.localName()); 2036 2024 resetInsertionModeAppropriately(); 2037 2025 return;
Note: See TracChangeset
for help on using the changeset viewer.