⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 238429 in webkit


Ignore:
Timestamp:
Nov 21, 2018, 1:33:48 PM (8 years ago)
Author:
rniwa@webkit.org
Message:

Mutation observers doesn't get notified of character data mutation made by the parser
https://bugs.webkit.org/show_bug.cgi?id=191874

Reviewed by Antti Koivisto.

Source/WebCore:

Fixed the bug that CharacterData::parserAppendData was never notifying MutationObserver.

Test: fast/dom/MutationObserver/observe-parser-character-data-change.html

  • dom/CharacterData.cpp:

(WebCore::CharacterData::parserAppendData):

LayoutTests:

Added a regression test.

  • fast/dom/MutationObserver/observe-parser-character-data-change-expected.txt: Added.
  • fast/dom/MutationObserver/observe-parser-character-data-change.html: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r238422 r238429  
     12018-11-21  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        Mutation observers doesn't get notified of character data mutation made by the parser
     4        https://bugs.webkit.org/show_bug.cgi?id=191874
     5
     6        Reviewed by Antti Koivisto.
     7
     8        Added a regression test.
     9
     10        * fast/dom/MutationObserver/observe-parser-character-data-change-expected.txt: Added.
     11        * fast/dom/MutationObserver/observe-parser-character-data-change.html: Added.
     12
    1132018-11-21  Zalan Bujtas <zalan@apple.com>
    214
  • trunk/Source/WebCore/ChangeLog

    r238426 r238429  
     12018-11-20  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        Mutation observers doesn't get notified of character data mutation made by the parser
     4        https://bugs.webkit.org/show_bug.cgi?id=191874
     5
     6        Reviewed by Antti Koivisto.
     7
     8        Fixed the bug that CharacterData::parserAppendData was never notifying MutationObserver.
     9
     10        Test: fast/dom/MutationObserver/observe-parser-character-data-change.html
     11
     12        * dom/CharacterData.cpp:
     13        (WebCore::CharacterData::parserAppendData):
     14
    1152018-11-21  Claudio Saavedra  <csaavedra@igalia.com>
    216
  • trunk/Source/WebCore/dom/CharacterData.cpp

    r236607 r238429  
    9797        return 0;
    9898
     99    String oldData = m_data;
    99100    if (string.is8Bit())
    100101        m_data.append(string.characters8() + offset, characterLengthLimit);
     
    107108
    108109    notifyParentAfterChange(ContainerNode::ChildChangeSource::Parser);
     110
     111    auto mutationRecipients = MutationObserverInterestGroup::createForCharacterDataMutation(*this);
     112    if (UNLIKELY(mutationRecipients))
     113        mutationRecipients->enqueueMutationRecord(MutationRecord::createCharacterData(*this, oldData));
    109114
    110115    return characterLengthLimit;
Note: See TracChangeset for help on using the changeset viewer.