Changeset 62522 in webkit


Ignore:
Timestamp:
Jul 5, 2010 10:38:36 PM (14 years ago)
Author:
abarth@webkit.org
Message:

2010-07-05 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

ASSERT that we're processing the correct type of token
https://bugs.webkit.org/show_bug.cgi?id=41647

Making these asserts work required a small (non-observable) tweak to
some old code.

  • html/HTMLTreeBuilder.cpp: (WebCore::HTMLTreeBuilder::processDoctypeToken): (WebCore::HTMLTreeBuilder::processStartTag): (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody): (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody): (WebCore::HTMLTreeBuilder::processEndTag): (WebCore::HTMLTreeBuilder::processComment): (WebCore::HTMLTreeBuilder::processCharacter): (WebCore::HTMLTreeBuilder::processEndOfFile): (WebCore::HTMLTreeBuilder::processStartTagForInHead):
Location:
trunk/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r62521 r62522  
     12010-07-05  Adam Barth  <abarth@webkit.org>
     2
     3        Reviewed by Eric Seidel.
     4
     5        ASSERT that we're processing the correct type of token
     6        https://bugs.webkit.org/show_bug.cgi?id=41647
     7
     8        Making these asserts work required a small (non-observable) tweak to
     9        some old code.
     10
     11        * html/HTMLTreeBuilder.cpp:
     12        (WebCore::HTMLTreeBuilder::processDoctypeToken):
     13        (WebCore::HTMLTreeBuilder::processStartTag):
     14        (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
     15        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
     16        (WebCore::HTMLTreeBuilder::processEndTag):
     17        (WebCore::HTMLTreeBuilder::processComment):
     18        (WebCore::HTMLTreeBuilder::processCharacter):
     19        (WebCore::HTMLTreeBuilder::processEndOfFile):
     20        (WebCore::HTMLTreeBuilder::processStartTagForInHead):
     21
    1222010-07-05  Adam Barth  <abarth@webkit.org>
    223
  • trunk/WebCore/html/HTMLTreeBuilder.cpp

    r62521 r62522  
    415415void HTMLTreeBuilder::processDoctypeToken(AtomicHTMLToken& token)
    416416{
     417    ASSERT(token.type() == HTMLToken::DOCTYPE);
    417418    if (insertionMode() == InitialMode) {
    418419        insertDoctype(token);
     
    458459void HTMLTreeBuilder::processStartTag(AtomicHTMLToken& token)
    459460{
     461    ASSERT(token.type() == HTMLToken::StartTag);
    460462    switch (insertionMode()) {
    461463    case InitialMode:
     
    963965bool HTMLTreeBuilder::processBodyEndTagForInBody(AtomicHTMLToken& token)
    964966{
     967    ASSERT(token.type() == HTMLToken::EndTag);
     968    ASSERT(token.name() == bodyTag);
    965969    if (!m_openElements.inScope(bodyTag.localName())) {
    966970        parseError(token);
     
    974978void HTMLTreeBuilder::processAnyOtherEndTagForInBody(AtomicHTMLToken& token)
    975979{
     980    ASSERT(token.type() == HTMLToken::EndTag);
    976981    HTMLElementStack::ElementRecord* record = m_openElements.topRecord();
    977982    while (1) {
     
    12281233void HTMLTreeBuilder::processEndTag(AtomicHTMLToken& token)
    12291234{
     1235    ASSERT(token.type() == HTMLToken::EndTag);
    12301236    switch (insertionMode()) {
    12311237    case InitialMode:
     
    12771283        }
    12781284        if (token.name() == htmlTag) {
    1279             if (processBodyEndTagForInBody(token))
     1285            AtomicHTMLToken endBody(HTMLToken::EndTag, bodyTag.localName());
     1286            if (processBodyEndTagForInBody(endBody))
    12801287                processEndTag(token);
    12811288            return;
     
    15201527void HTMLTreeBuilder::processComment(AtomicHTMLToken& token)
    15211528{
     1529    ASSERT(token.type() == HTMLToken::Comment);
    15221530    if (m_insertionMode == InitialMode || m_insertionMode == BeforeHTMLMode || m_insertionMode == AfterAfterBodyMode || m_insertionMode == AfterAfterFramesetMode) {
    15231531        insertCommentOnDocument(token);
     
    15331541void HTMLTreeBuilder::processCharacter(AtomicHTMLToken& token)
    15341542{
     1543    ASSERT(token.type() == HTMLToken::Character);
    15351544    // FIXME: We need to figure out how to handle each character individually.
    15361545    switch (insertionMode()) {
     
    15991608void HTMLTreeBuilder::processEndOfFile(AtomicHTMLToken& token)
    16001609{
     1610    ASSERT(token.type() == HTMLToken::EndOfFile);
    16011611    switch (insertionMode()) {
    16021612    case InitialMode:
     
    16951705bool HTMLTreeBuilder::processStartTagForInHead(AtomicHTMLToken& token)
    16961706{
     1707    ASSERT(token.type() == HTMLToken::StartTag);
    16971708    if (token.name() == htmlTag) {
    16981709        insertHTMLStartTagInBody(token);
Note: See TracChangeset for help on using the changeset viewer.