Changeset 62909 in webkit


Ignore:
Timestamp:
Jul 9, 2010 12:48:06 AM (14 years ago)
Author:
eric@webkit.org
Message:

2010-07-09 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

Add new popUntilPopped functions to clean up code
https://bugs.webkit.org/show_bug.cgi?id=41936

Pretty self explanatory. Much awesome code reduction.

No functional changes, thus no tests.

  • html/HTMLElementStack.cpp: (WebCore::HTMLElementStack::popUntilPopped):
  • html/HTMLElementStack.h:
  • html/HTMLTreeBuilder.cpp: (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody): (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): (WebCore::HTMLTreeBuilder::processEndTagForInBody): (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption): (WebCore::HTMLTreeBuilder::processTableEndTagForInTable): (WebCore::HTMLTreeBuilder::processEndTag):
Location:
trunk/WebCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r62907 r62909  
     12010-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
    1232010-07-09  Eric Seidel  <eric@webkit.org>
    224
  • trunk/WebCore/html/HTMLElementStack.cpp

    r62642 r62909  
    153153}
    154154
     155void HTMLElementStack::popUntilPopped(const AtomicString& tagName)
     156{
     157    popUntil(tagName);
     158    pop();
     159}
     160
    155161void HTMLElementStack::popUntil(Element* element)
    156162{
    157163    while (top() != element)
    158164        pop();
     165}
     166
     167void HTMLElementStack::popUntilPopped(Element* element)
     168{
     169    popUntil(element);
     170    pop();
    159171}
    160172
  • trunk/WebCore/html/HTMLElementStack.h

    r62642 r62909  
    8585    void popUntil(const AtomicString& tagName);
    8686    void popUntil(Element*);
     87    void popUntilPopped(const AtomicString& tagName);
     88    void popUntilPopped(Element*);
    8789    void popUntilTableScopeMarker(); // "clear the stack back to a table context" in the spec.
    8890    void popUntilTableBodyScopeMarker(); // "clear the stack back to a table body context" in the spec.
  • trunk/WebCore/html/HTMLTreeBuilder.cpp

    r62907 r62909  
    13031303                    return;
    13041304            }
    1305             m_tree.openElements()->popUntil(node);
    1306             m_tree.openElements()->pop();
     1305            m_tree.openElements()->popUntilPopped(node);
    13071306            return;
    13081307        }
     
    13671366        // 3.
    13681367        if (!furthestBlock) {
    1369             m_tree.openElements()->popUntil(formattingElement);
    1370             m_tree.openElements()->pop();
     1368            m_tree.openElements()->popUntilPopped(formattingElement);
    13711369            m_tree.activeFormattingElements()->remove(formattingElement);
    13721370            return;
     
    15581556        if (!m_tree.currentElement()->hasLocalName(token.name()))
    15591557            parseError(token);
    1560         m_tree.openElements()->popUntil(token.name());
    1561         m_tree.openElements()->pop();
     1558        m_tree.openElements()->popUntilPopped(token.name());
    15621559        return;
    15631560    }
     
    15841581        if (!m_tree.currentElement()->hasLocalName(token.name()))
    15851582            parseError(token);
    1586         m_tree.openElements()->popUntil(token.name());
    1587         m_tree.openElements()->pop();
     1583        m_tree.openElements()->popUntilPopped(token.name());
    15881584        return;
    15891585    }
     
    15961592        if (!m_tree.currentElement()->hasLocalName(token.name()))
    15971593            parseError(token);
    1598         m_tree.openElements()->popUntil(token.name());
    1599         m_tree.openElements()->pop();
     1594        m_tree.openElements()->popUntilPopped(token.name());
    16001595        return;
    16011596    }
     
    16091604        if (!m_tree.currentElement()->hasLocalName(token.name()))
    16101605            parseError(token);
    1611         m_tree.openElements()->popUntil(token.name());
    1612         m_tree.openElements()->pop();
     1606        m_tree.openElements()->popUntilPopped(token.name());
    16131607        return;
    16141608    }
     
    16211615        if (!m_tree.currentElement()->hasLocalName(token.name()))
    16221616            parseError(token);
    1623         m_tree.openElements()->popUntil(token.name());
    1624         m_tree.openElements()->pop();
     1617        m_tree.openElements()->popUntilPopped(token.name());
    16251618        return;
    16261619    }
     
    16431636        if (!m_tree.currentElement()->hasLocalName(token.name()))
    16441637            parseError(token);
    1645         m_tree.openElements()->popUntil(token.name());
    1646         m_tree.openElements()->pop();
     1638        m_tree.openElements()->popUntilPopped(token.name());
    16471639        m_tree.activeFormattingElements()->clearToLastMarker();
    16481640        return;
     
    16651657    m_tree.generateImpliedEndTags();
    16661658    // 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());
    16691660    m_tree.activeFormattingElements()->clearToLastMarker();
    16701661    m_insertionMode = InTableMode;
     
    16931684        return false;
    16941685    }
    1695     m_tree.openElements()->popUntil(tableTag.localName());
    1696     m_tree.openElements()->pop();
     1686    m_tree.openElements()->popUntilPopped(tableTag.localName());
    16971687    resetInsertionModeAppropriately();
    16981688    return true;
     
    18601850            if (!m_tree.currentElement()->hasLocalName(token.name()))
    18611851                parseError(token);
    1862             m_tree.openElements()->popUntil(token.name());
    1863             m_tree.openElements()->pop();
     1852            m_tree.openElements()->popUntilPopped(token.name());
    18641853            m_tree.activeFormattingElements()->clearToLastMarker();
    18651854            m_insertionMode = InRowMode;
     
    20322021        if (token.name() == selectTag) {
    20332022            notImplemented(); // fragment case
    2034             m_tree.openElements()->popUntil(selectTag.localName());
    2035             m_tree.openElements()->pop();
     2023            m_tree.openElements()->popUntilPopped(selectTag.localName());
    20362024            resetInsertionModeAppropriately();
    20372025            return;
Note: See TracChangeset for help on using the changeset viewer.