WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch
bug-41559-20100702203348.patch (text/plain), 5.42 KB, created by
Adam Barth
on 2010-07-02 20:33:49 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Adam Barth
Created:
2010-07-02 20:33:49 PDT
Size:
5.42 KB
patch
obsolete
>diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index 7e727b313c65b62312eedef2d23362ca35f30bb2..186b3ba4828651c497c2ee526191628d8ce09b0e 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -2,6 +2,17 @@ > > Reviewed by NOBODY (OOPS!). > >+ 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 NOBODY (OOPS!). >+ > Handle <frameset> InBody > https://bugs.webkit.org/show_bug.cgi?id=41558 > >diff --git a/LayoutTests/html5lib/runner-expected-html5.txt b/LayoutTests/html5lib/runner-expected-html5.txt >index 2a1699cdc81b2c29a7151d9f1c395cea2148e3ec..c3f3e13d43d981139c7ec19c4e5b916a11fc88fd 100644 >--- a/LayoutTests/html5lib/runner-expected-html5.txt >+++ b/LayoutTests/html5lib/runner-expected-html5.txt >@@ -52,7 +52,6 @@ resources/tests1.dat: > 101 > 103 > 104 >-106 > 107 > 108 > 109 >@@ -1271,21 +1270,6 @@ Expected: > | <em> > | <li> > >-Test 106 of 113 in resources/tests1.dat failed. Input: >-<frameset><frame><frameset><frame></frameset><noframes></noframes></frameset> >-Got: >-| <html> >-| <head> >-| <frameset> >-Expected: >-| <html> >-| <head> >-| <frameset> >-| <frame> >-| <frameset> >-| <frame> >-| <noframes> >- > Test 107 of 113 in resources/tests1.dat failed. Input: > <h1><table><td><h3></table><h3></h1> > Got: >@@ -5198,7 +5182,6 @@ resources/tests15.dat: > 10 > 11 > 12 >-13 > > Test 1 of 14 in resources/tests15.dat failed. Input: > <!DOCTYPE html><p><b><i><u></p> <p>X >@@ -5388,22 +5371,6 @@ Expected: > | <td> > | "bar" > | " " >- >-Test 13 of 14 in resources/tests15.dat failed. Input: >-<frame></frame></frame><frameset><frame><frameset><frame></frameset><noframes></frameset><noframes> >-Got: >-| <html> >-| <head> >-| <frameset> >-Expected: >-| <html> >-| <head> >-| <frameset> >-| <frame> >-| <frameset> >-| <frame> >-| <noframes> >-| "</frameset><noframes>" > resources/tests16.dat: > 187 > 188 >diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog >index 45f533c61ff1f100553e69974aa28b9f500527b3..b163a14ce301c76ab3746b33616e9a526d5ffa63 100644 >--- a/WebCore/ChangeLog >+++ b/WebCore/ChangeLog >@@ -2,6 +2,22 @@ > > Reviewed by NOBODY (OOPS!). > >+ 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): >+ >+2010-07-02 Adam Barth <abarth@webkit.org> >+ >+ Reviewed by NOBODY (OOPS!). >+ > Handle <frameset> InBody > https://bugs.webkit.org/show_bug.cgi?id=41558 > >diff --git a/WebCore/html/HTMLTreeBuilder.cpp b/WebCore/html/HTMLTreeBuilder.cpp >index d3a34df1766c6aa95955d5dfd8fa376bd227a2a7..93628c1837b0c029f3363584b17c87abad159cec 100644 >--- a/WebCore/html/HTMLTreeBuilder.cpp >+++ b/WebCore/html/HTMLTreeBuilder.cpp >@@ -624,6 +624,26 @@ void HTMLTreeBuilder::processStartTag(AtomicHTMLToken& token) > processDefaultForInHeadNoscriptMode(token); > processToken(token); > break; >+ case InFramesetMode: >+ ASSERT(insertionMode() == InFramesetMode); >+ if (token.name() == htmlTag) { >+ insertHTMLStartTagInBody(token); >+ return; >+ } >+ if (token.name() == framesetTag) { >+ insertElement(token); >+ return; >+ } >+ if (token.name() == frameTag) { >+ insertSelfClosingElement(token); >+ return; >+ } >+ if (token.name() == noframesTag) { >+ processStartTagForInHead(token); >+ return; >+ } >+ parseError(token); >+ break; > default: > notImplemented(); > } >@@ -851,6 +871,19 @@ void HTMLTreeBuilder::processEndTag(AtomicHTMLToken& token) > m_openElements.pop(); > m_insertionMode = m_originalInsertionMode; > break; >+ case InFramesetMode: >+ ASSERT(insertionMode() == InFramesetMode); >+ if (token.name() == framesetTag) { >+ if (currentElement() == m_openElements.htmlElement()) { >+ parseError(token); >+ return; >+ } >+ m_openElements.pop(); >+ if (!m_isParsingFragment && !currentElement()->hasTagName(framesetTag)) >+ m_insertionMode = AfterFramesetMode; >+ return; >+ } >+ break; > default: > notImplemented(); > } >@@ -919,6 +952,10 @@ void HTMLTreeBuilder::processCharacter(AtomicHTMLToken& token) > processDefaultForInHeadNoscriptMode(token); > processToken(token); > break; >+ case InFramesetMode: >+ ASSERT(insertionMode() == InFramesetMode); >+ parseError(token); >+ break; > default: > notImplemented(); > } >@@ -961,6 +998,11 @@ void HTMLTreeBuilder::processEndOfFile(AtomicHTMLToken& token) > processDefaultForInHeadNoscriptMode(token); > processToken(token); > break; >+ case InFramesetMode: >+ ASSERT(insertionMode() == InFramesetMode); >+ if (currentElement() != m_openElements.htmlElement()) >+ parseError(token); >+ break; > default: > notImplemented(); > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 41559
: 60433