Changeset 87248 in webkit


Ignore:
Timestamp:
May 24, 2011 6:26:53 PM (13 years ago)
Author:
leo.yang@torchmobile.com.cn
Message:

2011-05-24 Leo Yang <leo.yang@torchmobile.com.cn>

Reviewed by Ryosuke Niwa.

[SVG] Assertion failure by dragging text between input fields inside <foreignObject>s
https://bugs.webkit.org/show_bug.cgi?id=60692

Add NULL check of 'holder' in WebCore::ReplacementFragment::ReplacementFragment()
before call VisibleSelection::selectionFromContentsOfNode() to prevent crashing.

Test: editing/pasteboard/drag-drop-input-in-svg.svg

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment):

2011-05-24 Leo Yang <leo.yang@torchmobile.com.cn>

Reviewed by Ryosuke Niwa.

[SVG] Assertion failure by dragging text between input fields inside <foreignObject>s
https://bugs.webkit.org/show_bug.cgi?id=60692

Test case to verify dragging and dropping text between input fields
inside SVG <foreignObject>s. Test passes if no crash occurs in debug mode.

Drag and drop is not supported in Qt DRT, so skip this case on Qt platform.

  • editing/pasteboard/drag-drop-input-in-svg-expected.txt: Added.
  • editing/pasteboard/drag-drop-input-in-svg.svg: Added.
  • platform/qt/Skipped:
Location:
trunk
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r87247 r87248  
     12011-05-24  Leo Yang  <leo.yang@torchmobile.com.cn>
     2
     3        Reviewed by Ryosuke Niwa.
     4
     5        [SVG] Assertion failure by dragging text between input fields inside <foreignObject>s
     6        https://bugs.webkit.org/show_bug.cgi?id=60692
     7
     8        Test case to verify dragging and dropping text between input fields
     9        inside SVG <foreignObject>s. Test passes if no crash occurs in debug mode.
     10
     11        Drag and drop is not supported in Qt DRT, so skip this case on Qt platform.
     12
     13        * editing/pasteboard/drag-drop-input-in-svg-expected.txt: Added.
     14        * editing/pasteboard/drag-drop-input-in-svg.svg: Added.
     15        * platform/qt/Skipped:
     16
    1172011-05-24  Ryosuke Niwa  <rniwa@webkit.org>
    218
  • trunk/LayoutTests/platform/qt/Skipped

    r87210 r87248  
    145145editing/pasteboard/drag-drop-dead-frame.html
    146146editing/pasteboard/drag-drop-input-textarea.html
     147editing/pasteboard/drag-drop-input-in-svg.svg
    147148editing/pasteboard/drag-drop-iframe-refresh-crash.html
    148149editing/pasteboard/drag-drop-modifies-page.html
  • trunk/Source/WebCore/ChangeLog

    r87244 r87248  
     12011-05-24  Leo Yang  <leo.yang@torchmobile.com.cn>
     2
     3        Reviewed by Ryosuke Niwa.
     4
     5        [SVG] Assertion failure by dragging text between input fields inside <foreignObject>s
     6        https://bugs.webkit.org/show_bug.cgi?id=60692
     7
     8        Add NULL check of 'holder' in WebCore::ReplacementFragment::ReplacementFragment()
     9        before call VisibleSelection::selectionFromContentsOfNode() to prevent crashing.
     10
     11        Test: editing/pasteboard/drag-drop-input-in-svg.svg
     12
     13        * editing/ReplaceSelectionCommand.cpp:
     14        (WebCore::ReplacementFragment::ReplacementFragment):
     15
    1162011-05-24  Andy Estes  <aestes@apple.com>
    217
  • trunk/Source/WebCore/editing/ReplaceSelectionCommand.cpp

    r87067 r87248  
    157157    Node* styleNode = selection.base().deprecatedNode();
    158158    RefPtr<StyledElement> holder = insertFragmentForTestRendering(styleNode);
     159    if (!holder) {
     160        removeInterchangeNodes(m_fragment.get());
     161        return;
     162    }
    159163   
    160164    RefPtr<Range> range = VisibleSelection::selectionFromContentsOfNode(holder.get()).toNormalizedRange();
Note: See TracChangeset for help on using the changeset viewer.