Changeset 293672 in webkit


Ignore:
Timestamp:
May 2, 2022 12:01:44 PM (3 months ago)
Author:
Fujii Hironori
Message:

HTML Parser: Wrong column number in CR-LF line ending style (DOS EOL style) HTML files
https://bugs.webkit.org/show_bug.cgi?id=239947

Reviewed by Myles C. Maxfield.

Source/WebCore:

JS stack trace reported wrong column numbers in CR-LF line ending
HTML files. m_numberOfCharactersConsumedPriorToCurrentLine was the
number of characters included the preceding CR but the following
LF in those files.

In SegmentedString::advance, startNewLine() is called after
decrementing m_currentSubstring.length. In
SegmentedString::advancePastNewline, however, startNewLine() was
called before calling decrementAndCheckLength(). startNewLine()
should be called after decrementing.

Test: js/dom/line-column-numbers-cr-lf.html

  • platform/text/SegmentedString.h:

(WebCore::SegmentedString::advancePastNewline):
Call startNewLine() after decrementAndCheckLength() is called.

LayoutTests:

  • js/dom/line-column-numbers-cr-lf-expected.txt: Added.
  • js/dom/line-column-numbers-cr-lf.html: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r293670 r293672  
     12022-05-02  Fujii Hironori  <Hironori.Fujii@sony.com>
     2
     3        HTML Parser: Wrong column number in CR-LF line ending style (DOS EOL style) HTML files
     4        https://bugs.webkit.org/show_bug.cgi?id=239947
     5
     6        Reviewed by Myles C. Maxfield.
     7
     8        * js/dom/line-column-numbers-cr-lf-expected.txt: Added.
     9        * js/dom/line-column-numbers-cr-lf.html: Added.
     10
    1112022-05-02  Oriol Brufau  <obrufau@igalia.com>
    212
  • trunk/Source/WebCore/ChangeLog

    r293670 r293672  
     12022-05-02  Fujii Hironori  <Hironori.Fujii@sony.com>
     2
     3        HTML Parser: Wrong column number in CR-LF line ending style (DOS EOL style) HTML files
     4        https://bugs.webkit.org/show_bug.cgi?id=239947
     5
     6        Reviewed by Myles C. Maxfield.
     7
     8        JS stack trace reported wrong column numbers in CR-LF line ending
     9        HTML files. m_numberOfCharactersConsumedPriorToCurrentLine was the
     10        number of characters included the preceding CR but the following
     11        LF in those files.
     12
     13        In SegmentedString::advance, startNewLine() is called after
     14        decrementing m_currentSubstring.length. In
     15        SegmentedString::advancePastNewline, however, startNewLine() was
     16        called before calling decrementAndCheckLength(). startNewLine()
     17        should be called after decrementing.
     18
     19        Test: js/dom/line-column-numbers-cr-lf.html
     20
     21        * platform/text/SegmentedString.h:
     22        (WebCore::SegmentedString::advancePastNewline):
     23        Call startNewLine() after decrementAndCheckLength() is called.
     24
    1252022-05-02  Oriol Brufau  <obrufau@igalia.com>
    226
  • trunk/Source/WebCore/platform/text/SegmentedString.h

    r209129 r293672  
    248248    ASSERT(m_currentCharacter == '\n');
    249249    if (m_currentSubstring.length > 1) {
     250        m_currentCharacter = m_currentSubstring.currentCharacterPreIncrement();
     251        decrementAndCheckLength();
    250252        if (m_currentSubstring.doNotExcludeLineNumbers)
    251253            startNewLine();
    252         m_currentCharacter = m_currentSubstring.currentCharacterPreIncrement();
    253         decrementAndCheckLength();
    254254        return;
    255255    }
Note: See TracChangeset for help on using the changeset viewer.