Changeset 62624 in webkit


Ignore:
Timestamp:
Jul 6, 2010 10:08:59 PM (14 years ago)
Author:
abarth@webkit.org
Message:

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

Reviewed by Adam Barth.

Fix <nobr><nobr> case in HTMLTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=41735

We were both not handling <nobr> correctly, as well as
never hitting the <nobr> case because our formatting
elements check was overzealous.

  • html/HTMLTreeBuilder.cpp: (WebCore::HTMLTreeBuilder::processStartTagForInBody):

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

Reviewed by Eric Seidel.

Implement start table tag in table mode
https://bugs.webkit.org/show_bug.cgi?id=41736

  • html5lib/runner-expected-html5.txt:
Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r62623 r62624  
     12010-07-06  Adam Barth  <abarth@webkit.org>
     2
     3        Reviewed by Eric Seidel.
     4
     5        Implement start table tag in table mode
     6        https://bugs.webkit.org/show_bug.cgi?id=41736
     7
     8        * html5lib/runner-expected-html5.txt:
     9
    1102010-07-06  Eric Seidel  <eric@webkit.org>
    211
  • trunk/LayoutTests/html5lib/runner-expected-html5.txt

    r62623 r62624  
    55655630
    55755737
    558 42
    55955844
    56055945
     
    719718Expected:
    720719| <tr>
    721 
    722 Test 42 of 51 in resources/tests6.dat failed. Input:
    723 <table><table>
    724 Got:
    725 | <html>
    726 |   <head>
    727 |   <body>
    728 |     <table>
    729 Expected:
    730 | <html>
    731 |   <head>
    732 |   <body>
    733 |     <table>
    734 |     <table>
    735720
    736721Test 44 of 51 in resources/tests6.dat failed. Input:
     
    11781163|   <body>
    11791164|     "x"
     1165|     <table>
    11801166|     <table>
    11811167|       "x"
     
    35823568resources/tables01.dat:
    358335694
    3584 8
    35853570
    35863571Test 4 of 15 in resources/tables01.dat failed. Input:
     
    36003585|     <table>
    36013586|       <colgroup>
    3602 
    3603 Test 8 of 15 in resources/tables01.dat failed. Input:
    3604 <table><select><table></table></select></table>
    3605 Got:
    3606 | <html>
    3607 |   <head>
    3608 |   <body>
    3609 |     <select>
    3610 |     <table>
    3611 Expected:
    3612 | <html>
    3613 |   <head>
    3614 |   <body>
    3615 |     <select>
    3616 |     <table>
    3617 |     <table>
    36183587#EOF
  • trunk/WebCore/ChangeLog

    r62623 r62624  
    1212        * html/HTMLTreeBuilder.cpp:
    1313        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
     14
     152010-07-06  Adam Barth  <abarth@webkit.org>
     16
     17        Reviewed by Eric Seidel.
     18
     19        Implement start table tag in table mode
     20        https://bugs.webkit.org/show_bug.cgi?id=41736
     21
     22        * html/HTMLTreeBuilder.cpp:
     23        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
     24        (WebCore::HTMLTreeBuilder::processTableEndTagForInTable):
     25        (WebCore::HTMLTreeBuilder::processEndTagForInTable):
     26        * html/HTMLTreeBuilder.h:
    1427
    15282010-07-06  Adam Barth  <abarth@webkit.org>
  • trunk/WebCore/html/HTMLTreeBuilder.cpp

    r62623 r62624  
    853853    }
    854854    if (token.name() == tableTag) {
    855         notImplemented();
     855        parseError(token);
     856        if (!processTableEndTagForInTable()) {
     857            ASSERT(m_isParsingFragment);
     858            return;
     859        }
     860        processStartTag(token);
    856861        return;
    857862    }
     
    15711576}
    15721577
     1578bool HTMLTreeBuilder::processTableEndTagForInTable()
     1579{
     1580    if (!m_tree.openElements()->inTableScope(tableTag)) {
     1581        ASSERT(m_isParsingFragment);
     1582        // FIXME: parse error.
     1583        return false;
     1584    }
     1585    m_tree.openElements()->popUntil(tableTag.localName());
     1586    m_tree.openElements()->pop();
     1587    resetInsertionModeAppropriately();
     1588    return true;
     1589}
     1590
    15731591void HTMLTreeBuilder::processEndTagForInTable(AtomicHTMLToken& token)
    15741592{
    15751593    ASSERT(token.type() == HTMLToken::EndTag);
    15761594    if (token.name() == tableTag) {
    1577         if (!m_tree.openElements()->inTableScope(token.name())) {
    1578             ASSERT(m_isParsingFragment);
    1579             parseError(token);
    1580             return;
    1581         }
    1582         m_tree.openElements()->popUntil(tableTag.localName());
    1583         m_tree.openElements()->pop();
    1584         resetInsertionModeAppropriately();
     1595        processTableEndTagForInTable();
    15851596        return;
    15861597    }
  • trunk/WebCore/html/HTMLTreeBuilder.h

    r62621 r62624  
    123123    void processIsindexStartTagForInBody(AtomicHTMLToken&);
    124124    bool processBodyEndTagForInBody(AtomicHTMLToken&);
     125    bool processTableEndTagForInTable();
    125126    bool processCaptionEndTagForInCaption();
    126127    bool processColgroupEndTagForInColumnGroup();
Note: See TracChangeset for help on using the changeset viewer.