Changeset 29214 in webkit


Ignore:
Timestamp:
Jan 6, 2008 2:33:25 PM (16 years ago)
Author:
andrew@webkit.org
Message:

WebCore:

Reviewed by Darin.


DOMRange doesn't correctly re-size when inserting items (Acid3)
http://bugs.webkit.org/show_bug.cgi?id=16764


Update the offset for the range when inserting items into the range.

Test: fast/dom/Range/range-modifycontents.html

  • dom/Range.cpp: (WebCore::Range::insertNode):

LayoutTests:

Reviewed by Darin.


DOMRange doesn't correctly re-size when inserting items (Acid3)
http://bugs.webkit.org/show_bug.cgi?id=16764


Update the offset for the range when inserting items into the range.

  • fast/dom/Range/range-modifycontents-expected.txt: Added.
  • fast/dom/Range/range-modifycontents.html: Added.
  • fast/dom/Range/resources/range-modifycontents.js: Added.
Location:
trunk
Files:
3 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r29213 r29214  
     12008-01-06  Andrew Wellington  <proton@wiretapped.net>
     2
     3        Reviewed by Darin.
     4       
     5        DOMRange doesn't correctly re-size when inserting items (Acid3)
     6        http://bugs.webkit.org/show_bug.cgi?id=16764
     7       
     8        Update the offset for the range when inserting items into the range.
     9
     10        * fast/dom/Range/range-modifycontents-expected.txt: Added.
     11        * fast/dom/Range/range-modifycontents.html: Added.
     12        * fast/dom/Range/resources/range-modifycontents.js: Added.
     13
    1142008-01-06  Sam Weinig  <sam@webkit.org>
    215
  • trunk/WebCore/ChangeLog

    r29212 r29214  
     12008-01-06  Andrew Wellington  <proton@wiretapped.net>
     2
     3        Reviewed by Darin.
     4       
     5        DOMRange doesn't correctly re-size when inserting items (Acid3)
     6        http://bugs.webkit.org/show_bug.cgi?id=16764
     7       
     8        Update the offset for the range when inserting items into the range.
     9
     10        Test: fast/dom/Range/range-modifycontents.html
     11
     12        * dom/Range.cpp:
     13        (WebCore::Range::insertNode):
     14
    1152008-01-06  Alexey Proskuryakov  <ap@webkit.org>
    216
  • trunk/WebCore/dom/Range.cpp

    r29207 r29214  
    10551055    }
    10561056
     1057    unsigned offsetDelta = 0;
     1058    if (m_startContainer == m_endContainer) {
     1059        bool isFragment = newNode->nodeType() == Node::DOCUMENT_FRAGMENT_NODE;
     1060        offsetDelta = isFragment ? newNode->childNodeCount() : 1;
     1061    }
     1062   
    10571063    if(m_startContainer->nodeType() == Node::TEXT_NODE ||
    10581064       m_startContainer->nodeType() == Node::CDATA_SECTION_NODE) {
     
    10651071        m_startContainer->insertBefore(newNode, m_startContainer->childNode(m_startOffset), ec);
    10661072    }
     1073   
     1074    m_endOffset += offsetDelta;
    10671075}
    10681076
Note: See TracChangeset for help on using the changeset viewer.