Changeset 63779 in webkit


Ignore:
Timestamp:
Jul 20, 2010 3:12:17 PM (14 years ago)
Author:
abarth@webkit.org
Message:

2010-07-20 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

Fix fast/dom/title-content-write-set.html for HTML5 tree builder
https://bugs.webkit.org/show_bug.cgi?id=42668

When I split parserAppendData from appendData, it was tempting to cut
the function at dispatchModifiedEvent, but that's not quite right. We
still need to notify the parent that it's children have changed.

  • dom/CharacterData.cpp: (WebCore::CharacterData::appendDataCommon): (WebCore::CharacterData::parserAppendData): (WebCore::CharacterData::appendData):
  • dom/CharacterData.h:
Location:
trunk/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r63774 r63779  
     12010-07-20  Adam Barth  <abarth@webkit.org>
     2
     3        Reviewed by Darin Adler.
     4
     5        Fix fast/dom/title-content-write-set.html for HTML5 tree builder
     6        https://bugs.webkit.org/show_bug.cgi?id=42668
     7
     8        When I split parserAppendData from appendData, it was tempting to cut
     9        the function at dispatchModifiedEvent, but that's not quite right.  We
     10        still need to notify the parent that it's children have changed.
     11
     12        * dom/CharacterData.cpp:
     13        (WebCore::CharacterData::appendDataCommon):
     14        (WebCore::CharacterData::parserAppendData):
     15        (WebCore::CharacterData::appendData):
     16        * dom/CharacterData.h:
     17
    1182010-07-20  Chris Fleizach  <cfleizach@apple.com>
    219
  • trunk/WebCore/dom/CharacterData.cpp

    r62520 r63779  
    6060}
    6161
    62 PassRefPtr<StringImpl> CharacterData::parserAppendData(const String& arg)
     62PassRefPtr<StringImpl> CharacterData::appendDataCommon(const String& arg)
    6363{
    6464    String newStr = m_data;
     
    7777}
    7878
     79void CharacterData::parserAppendData(const String& arg)
     80{
     81    appendDataCommon(arg);
     82    // We don't call dispatchModifiedEvent here because we don't want the
     83    // parser to dispatch DOM mutation events.
     84    if (parentNode())
     85        parentNode()->childrenChanged();
     86}
     87
    7988void CharacterData::appendData(const String& arg, ExceptionCode&)
    8089{
    81     RefPtr<StringImpl> oldStr = parserAppendData(arg);
     90    RefPtr<StringImpl> oldStr = appendDataCommon(arg);
    8291    dispatchModifiedEvent(oldStr.get());
    8392}
  • trunk/WebCore/dom/CharacterData.h

    r62520 r63779  
    4444
    4545    // Like appendData, but optimized for the parser (e.g., no mutation events).
    46     PassRefPtr<StringImpl> parserAppendData(const String&);
     46    void parserAppendData(const String&);
    4747
    4848protected:
     
    6767
    6868    void checkCharDataOperation(unsigned offset, ExceptionCode&);
     69    PassRefPtr<StringImpl> appendDataCommon(const String& arg);
    6970
    7071    RefPtr<StringImpl> m_data;
Note: See TracChangeset for help on using the changeset viewer.