Changeset 60916 in webkit


Ignore:
Timestamp:
Jun 9, 2010 3:05:20 PM (14 years ago)
Author:
abarth@webkit.org
Message:

2010-06-09 Tony Gentilcore <tonyg@chromium.org>

Reviewed by Adam Barth.

Fix fast/parser/hex-entities-length.html for HTML5 parser
https://bugs.webkit.org/show_bug.cgi?id=40385

Stripping surrogate pair values appears to be a problem with the spec
in "Preprocessing the input stream." Minefield doesn't appear to
implement the part in question. So this patch removes that guard and
adds a FIXME to track the issue.

No new tests because covered by fast/parser/hex-entities-length.html

  • html/HTML5Lexer.h: (WebCore::HTML5Lexer::InputStreamPreprocessor::peek):
Location:
trunk/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r60914 r60916  
     12010-06-09  Tony Gentilcore  <tonyg@chromium.org>
     2
     3        Reviewed by Adam Barth.
     4
     5        Fix fast/parser/hex-entities-length.html for HTML5 parser
     6        https://bugs.webkit.org/show_bug.cgi?id=40385
     7
     8        Stripping surrogate pair values appears to be a problem with the spec
     9        in "Preprocessing the input stream." Minefield doesn't appear to
     10        implement the part in question. So this patch removes that guard and
     11        adds a FIXME to track the issue.
     12
     13        No new tests because covered by fast/parser/hex-entities-length.html
     14
     15        * html/HTML5Lexer.h:
     16        (WebCore::HTML5Lexer::InputStreamPreprocessor::peek):
     17
    1182010-06-09  Kenneth Russell  <kbr@google.com>
    219
  • trunk/WebCore/html/HTML5Lexer.h

    r60791 r60916  
    160160                } else {
    161161                    m_skipNextNewLine = false;
    162                     if (m_nextInputCharacter == '\0' || (m_nextInputCharacter >= 0xD800 && m_nextInputCharacter <= 0xDFFF))
     162                    // FIXME: The spec indicates that the surrogate pair range as well as
     163                    // a number of specific character values are parse errors and should be replaced
     164                    // by the replacement character. We suspect this is a problem with the spec as doing
     165                    // that filtering breaks surrogate pair handling and causes us not to match Minefield.
     166                    if (m_nextInputCharacter == '\0')
    163167                        m_nextInputCharacter = 0xFFFD;
    164168                }
Note: See TracChangeset for help on using the changeset viewer.