Changeset 62439 in webkit


Ignore:
Timestamp:
Jul 3, 2010 12:03:51 AM (14 years ago)
Author:
abarth@webkit.org
Message:

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

Reviewed by Eric Seidel.

Implement InFramesetMode
https://bugs.webkit.org/show_bug.cgi?id=41559

And the tests keep progressing.

  • html5lib/runner-expected-html5.txt:

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

Reviewed by Eric Seidel.

Implement InFramesetMode
https://bugs.webkit.org/show_bug.cgi?id=41559

Pretty straighforward. We still don't handle character tokens
correctly.

  • html/HTMLTreeBuilder.cpp: (WebCore::HTMLTreeBuilder::processStartTag): (WebCore::HTMLTreeBuilder::processEndTag): (WebCore::HTMLTreeBuilder::processCharacter): (WebCore::HTMLTreeBuilder::processEndOfFile):
Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r62438 r62439  
     12010-07-02  Adam Barth  <abarth@webkit.org>
     2
     3        Reviewed by Eric Seidel.
     4
     5        Implement InFramesetMode
     6        https://bugs.webkit.org/show_bug.cgi?id=41559
     7
     8        And the tests keep progressing.
     9
     10        * html5lib/runner-expected-html5.txt:
     11
    1122010-07-02  Adam Barth  <abarth@webkit.org>
    213
  • trunk/LayoutTests/html5lib/runner-expected-html5.txt

    r62438 r62439  
    5353103
    5454104
    55 106
    5655107
    5756108
     
    12711270|           <em>
    12721271|       <li>
    1273 
    1274 Test 106 of 113 in resources/tests1.dat failed. Input:
    1275 <frameset><frame><frameset><frame></frameset><noframes></noframes></frameset>
    1276 Got:
    1277 | <html>
    1278 |   <head>
    1279 |   <frameset>
    1280 Expected:
    1281 | <html>
    1282 |   <head>
    1283 |   <frameset>
    1284 |     <frame>
    1285 |     <frameset>
    1286 |       <frame>
    1287 |     <noframes>
    12881272
    12891273Test 107 of 113 in resources/tests1.dat failed. Input:
     
    5199518311
    5200518412
    5201 13
    52025185
    52035186Test 1 of 14 in resources/tests15.dat failed. Input:
     
    53895372|               "bar"
    53905373|             " "
    5391 
    5392 Test 13 of 14 in resources/tests15.dat failed. Input:
    5393 <frame></frame></frame><frameset><frame><frameset><frame></frameset><noframes></frameset><noframes>
    5394 Got:
    5395 | <html>
    5396 |   <head>
    5397 |   <frameset>
    5398 Expected:
    5399 | <html>
    5400 |   <head>
    5401 |   <frameset>
    5402 |     <frame>
    5403 |     <frameset>
    5404 |       <frame>
    5405 |     <noframes>
    5406 |       "</frameset><noframes>"
    54075374resources/tests16.dat:
    54085375187
  • trunk/WebCore/ChangeLog

    r62438 r62439  
     12010-07-02  Adam Barth  <abarth@webkit.org>
     2
     3        Reviewed by Eric Seidel.
     4
     5        Implement InFramesetMode
     6        https://bugs.webkit.org/show_bug.cgi?id=41559
     7
     8        Pretty straighforward.  We still don't handle character tokens
     9        correctly.
     10
     11        * html/HTMLTreeBuilder.cpp:
     12        (WebCore::HTMLTreeBuilder::processStartTag):
     13        (WebCore::HTMLTreeBuilder::processEndTag):
     14        (WebCore::HTMLTreeBuilder::processCharacter):
     15        (WebCore::HTMLTreeBuilder::processEndOfFile):
     16
    1172010-07-02  Adam Barth  <abarth@webkit.org>
    218
  • trunk/WebCore/html/HTMLTreeBuilder.cpp

    r62438 r62439  
    625625        processToken(token);
    626626        break;
     627    case InFramesetMode:
     628        ASSERT(insertionMode() == InFramesetMode);
     629        if (token.name() == htmlTag) {
     630            insertHTMLStartTagInBody(token);
     631            return;
     632        }
     633        if (token.name() == framesetTag) {
     634            insertElement(token);
     635            return;
     636        }
     637        if (token.name() == frameTag) {
     638            insertSelfClosingElement(token);
     639            return;
     640        }
     641        if (token.name() == noframesTag) {
     642            processStartTagForInHead(token);
     643            return;
     644        }
     645        parseError(token);
     646        break;
    627647    default:
    628648        notImplemented();
     
    852872        m_insertionMode = m_originalInsertionMode;
    853873        break;
     874    case InFramesetMode:
     875        ASSERT(insertionMode() == InFramesetMode);
     876        if (token.name() == framesetTag) {
     877            if (currentElement() == m_openElements.htmlElement()) {
     878                parseError(token);
     879                return;
     880            }
     881            m_openElements.pop();
     882            if (!m_isParsingFragment && !currentElement()->hasTagName(framesetTag))
     883                m_insertionMode = AfterFramesetMode;
     884            return;
     885        }
     886        break;
    854887    default:
    855888        notImplemented();
     
    920953        processToken(token);
    921954        break;
     955    case InFramesetMode:
     956        ASSERT(insertionMode() == InFramesetMode);
     957        parseError(token);
     958        break;
    922959    default:
    923960        notImplemented();
     
    961998        processDefaultForInHeadNoscriptMode(token);
    962999        processToken(token);
     1000        break;
     1001    case InFramesetMode:
     1002        ASSERT(insertionMode() == InFramesetMode);
     1003        if (currentElement() != m_openElements.htmlElement())
     1004            parseError(token);
    9631005        break;
    9641006    default:
Note: See TracChangeset for help on using the changeset viewer.