Skip to content
  • aestes@apple.com's avatar
    2010-09-20 Andy Estes <aestes@apple.com> · 7fb43f6f
    aestes@apple.com authored
            Reviewed by Adam Barth.
    
            REGRESSION (HTML5 Parser): Pages broken due to <tag<tag> parsing changes
            https://bugs.webkit.org/show_bug.cgi?id=40961
    
            Implement WebKitUsePreHTML5ParserQuirks preference.
    
            * WebView/WebPreferenceKeysPrivate.h:
            * WebView/WebPreferences.mm:
            (+[WebPreferences initialize]): Default WebKitUsePreHTML5ParserQuirks to
            false.
            (-[WebPreferences usePreHTML5ParserQuirks]):
            (-[WebPreferences setUsePreHTML5ParserQuirks:]):
            * WebView/WebPreferencesPrivate.h:
            * WebView/WebView.mm:
            (-[WebView _preferencesChangedNotification:]): Update WebCore::Settings
            with the value of WebKitUsePreHTML5ParserQuirks when a preference
            changes.
    2010-09-20  Andy Estes  <aestes@apple.com>
    
            Reviewed by Adam Barth.
    
            REGRESSION (HTML5 Parser): Pages broken due to <tag<tag> parsing changes
            https://bugs.webkit.org/show_bug.cgi?id=40961
    
            Add an optional quirk to the HTML5 tokenizer that reverts it to WebKit's
            legacy behavior when the start of a new token is encountered before the
            current token is finished parsing. The legacy behavior is to emit the
            current token as if it were properly closed and being parsing the new
            token.
    
            Test: fast/parser/pre-html5-parser-quirks.html
    
            * html/parser/HTMLDocumentParser.cpp:
            (WebCore::HTMLDocumentParser::HTMLDocumentParser): Instantiate
            m_tokenizer with the value of Settings::usePreHTML5ParserQuirks().
            (WebCore::usePreHTMLParserQuirks): Add a helper function to return the
            value of Settings::usePreHTML5ParserQuirks() if Settings is non-NULL.
            * html/parser/HTMLPreloadScanner.cpp:
            (WebCore::HTMLPreloadScanner::HTMLPreloadScanner): Instantiate
            m_tokenizer with the value of Settings::usePreHTML5ParserQuirks().
            * html/parser/HTMLTokenizer.cpp:
            (WebCore::HTMLTokenizer::HTMLTokenizer):
            (WebCore::HTMLTokenizer::nextToken): If the quirk is enabled and an
            unexpected '<' is encountered in certain states, emit the current token
            and reprocess the '<' as the start of a new token.
            * html/parser/HTMLTokenizer.h:
            (WebCore::HTMLTokenizer::create):
            * html/parser/HTMLViewSourceParser.cpp:
            (WebCore::HTMLViewSourceParser::HTMLViewSourceParser): Instantiate
            m_tokenizer with the value of Settings::usePreHTML5ParserQuirks().
            * page/Settings.cpp:
            (WebCore::Settings::Settings):
            * page/Settings.h:
            (WebCore::Settings::setUsePreHTML5ParserQuirks):
            (WebCore::Settings::usePreHTML5ParserQuirks):
    2010-09-20  Andy Estes  <aestes@apple.com>
    
            Reviewed by Adam Barth.
    
            REGRESSION (HTML5 Parser): Pages broken due to <tag<tag> parsing changes
            https://bugs.webkit.org/show_bug.cgi?id=40961
    
            * fast/parser/pre-html5-parser-quirks-expected.txt: Added.
            * fast/parser/pre-html5-parser-quirks.html: Added.
            * fast/parser/resources/pre-html5-parser-quirk-after-attribute-name-state.html: Added.
            * fast/parser/resources/pre-html5-parser-quirk-after-attribute-value-quoted-state.html: Added.
            * fast/parser/resources/pre-html5-parser-quirk-after-attribute-value-unquoted-state.html: Added.
            * fast/parser/resources/pre-html5-parser-quirk-attribute-name-state.html: Added.
            * fast/parser/resources/pre-html5-parser-quirk-before-attribute-name-state.html: Added.
            * fast/parser/resources/pre-html5-parser-quirk-document-fragment.html: Added.
            * fast/parser/resources/pre-html5-parser-quirk-tag-name-state.html: Added.
            * platform/chromium/test_expectations.txt: Skip pre-html5-parser-quirks.html.
            * platform/gtk/Skipped: Skip pre-html5-parser-quirks.html.
            * platform/mac-wk2/Skipped: Skip pre-html5-parser-quirks.html.
            * platform/qt/Skipped: Skip pre-html5-parser-quirks.html.
            * platform/win/Skipped: Skip pre-html5-parser-quirks.html.
    2010-09-20  Andy Estes  <aestes@apple.com>
    
            Reviewed by Adam Barth.
    
            REGRESSION (HTML5 Parser): Pages broken due to <tag<tag> parsing changes
            https://bugs.webkit.org/show_bug.cgi?id=40961
    
            Implement WebKitUsePreHTML5ParserQuirks preference.
    
            * DumpRenderTree/mac/DumpRenderTree.mm:
            (resetDefaultsToConsistentValues): Reset WebKitUsePreHTML5ParserQuirks
            to false after a test finishes.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67890 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    7fb43f6f