Reviewed by Hyatt
authorkocienda <kocienda@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 17 Feb 2005 17:28:00 +0000 (17:28 +0000)
committerkocienda <kocienda@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 17 Feb 2005 17:28:00 +0000 (17:28 +0000)
commit3fd8220167c3b7501412f43444559d7933769d85
tree1c6a3783d8c056b86f9cbf3ee29dbab78a8e0f3f
parentcc7e628f413f70bc0c26f1c747ff1a9bcdbd4042
    Reviewed by Hyatt

        Fix for this bug:

        <rdar://problem/3996737> REGRESSION (Mail): Copy/paste in Mail inserts returns

        The root cause of the problem is that a couple of pieces of code in AppKit and Mail
        insert newlines into markup as it is generated, and the paste code in WebCore was
        not smart about nodes that do not render (as is the case with these added newlines).
        So, the solution is to remove these unrendered nodes in the paste code in a pre-pass.
        Fortunately, my recent addition of such a pass to the paste code to handle styles
        gave me a convenient place to put this new logic.

        * khtml/editing/htmlediting.cpp:
        (khtml::ReplacementFragment::ReplacementFragment): Use new name for function below.
        (khtml::ReplacementFragment::computeStylesAndRemoveUnrendered): Name change from computeStylesForNodes().
        Now does the additional work of removing unrendered nodes, as mentioned above.
        (khtml::isNodeRendered): New helper function.
        * khtml/editing/htmlediting.h: Updated as necessary.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8608 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore/ChangeLog-2005-08-23
WebCore/khtml/editing/htmlediting.cpp
WebCore/khtml/editing/htmlediting.h