Reviewed by John
authorkocienda <kocienda@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 24 Aug 2004 15:23:51 +0000 (15:23 +0000)
committerkocienda <kocienda@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 24 Aug 2004 15:23:51 +0000 (15:23 +0000)
commita2e6fdbd9c8a045b4697b592fb6a90f75f0977ee
tree6efaa1ec9e36ad7916b4dd75cf925440ae30407f
parentd58905123e461233ed63a131db7faa60181b88ba
    Reviewed by John

        Fix for this bug:

        <rdar://problem/3765535> paste of text with newlines into text with newlines results in broken doc, crash

        This is a "belt and suspenders" fix. The issue is with the paste code path which was creating
        zero-length DOM text nodes when a selection being pasted ended with a newline. The normal
        code path for parsing HTML does not allow this, but the code to convert newlines to BR's
        during paste was creating such nodes. This will no longer happen.

        In the case where someone inserts such zero-length nodes using the DOM API, the render tree
        will no longer create render objects for these nodes, and it was these empty render text
        nodes that was confusing the code doing editing navigation.

        * khtml/xml/dom_textimpl.cpp:
        (CharacterDataImpl::rendererIsNeeded): Do not create renderers for zero-length DOM text nodes.
        * khtml/xml/dom_textimpl.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge documentFragmentWithText:]): Do not insert zero-length DOM text nodes as part
        of converting line-end sequences to BR's.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7334 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore/ChangeLog-2005-08-23
WebCore/khtml/editing/htmlediting_impl.cpp
WebCore/khtml/xml/dom_textimpl.cpp
WebCore/khtml/xml/dom_textimpl.h
WebCore/kwq/WebCoreBridge.mm