Title: [99085] trunk
Revision
99085
Author
[email protected]
Date
2011-11-02 11:43:29 -0700 (Wed, 02 Nov 2011)

Log Message

Assert in MoveSelectionCommand::doApply
https://bugs.webkit.org/show_bug.cgi?id=70277

Patch by Devdatta Deshpande <[email protected]> on 2011-11-02
Reviewed by Ryosuke Niwa.

Source/WebCore:

A MoveSelectionCommand should be fired only if the selection type is
RangeSelection, since nothing is selected in other cases.

Test: fast/events/drag-link.html

* page/DragController.cpp:
(WebCore::DragController::dragIsMove):

LayoutTests:

Test to drag-drop anchor element on an already focused editable div
element.

* fast/events/drag-link-expected.txt: Added.
* fast/events/drag-link.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (99084 => 99085)


--- trunk/LayoutTests/ChangeLog	2011-11-02 18:40:21 UTC (rev 99084)
+++ trunk/LayoutTests/ChangeLog	2011-11-02 18:43:29 UTC (rev 99085)
@@ -1,3 +1,16 @@
+2011-11-02  Devdatta Deshpande  <[email protected]>
+
+        Assert in MoveSelectionCommand::doApply
+        https://bugs.webkit.org/show_bug.cgi?id=70277
+
+        Reviewed by Ryosuke Niwa.
+
+        Test to drag-drop anchor element on an already focused editable div
+        element.
+
+        * fast/events/drag-link-expected.txt: Added.
+        * fast/events/drag-link.html: Added.
+
 2011-11-02  Tony Chang  <[email protected]>
 
         Try to deflake http/tests/multipart/policy-ignore-crash.php by

Added: trunk/LayoutTests/fast/events/drag-link-expected.txt (0 => 99085)


--- trunk/LayoutTests/fast/events/drag-link-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/events/drag-link-expected.txt	2011-11-02 18:43:29 UTC (rev 99085)
@@ -0,0 +1,8 @@
+Test for bug 70277. This tests that a link is dragged and dropped properly in an already focused editable area. This test passes only if it does not hit an assertion.
+
+Test Link
+Editable area
+
+Test Link
+
+PASS

Added: trunk/LayoutTests/fast/events/drag-link.html (0 => 99085)


--- trunk/LayoutTests/fast/events/drag-link.html	                        (rev 0)
+++ trunk/LayoutTests/fast/events/drag-link.html	2011-11-02 18:43:29 UTC (rev 99085)
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<html>
+<body>
+<div>
+<p>Test for <a href="" 70277</a>.
+This tests that a link is dragged and dropped properly in an already focused editable area.
+This test passes only if it does not hit an assertion.
+</p>
+<a href=# id="anchorElement">Test Link</a>
+</div>
+<div id="editableDiv" contenteditable="true">
+<h3>Editable area</h3>
+<br>
+<br>
+</div>
+<div id="result">
+</div>
+<script>
+function dragElement(srcElement, destElement) 
+{
+    eventSender.mouseMoveTo(srcElement.offsetLeft + srcElement.offsetWidth / 2,
+        srcElement.offsetTop + srcElement.offsetHeight / 2);
+    eventSender.mouseDown();
+    eventSender.leapForward(100);
+    eventSender.mouseMoveTo(destElement.offsetLeft + destElement.offsetWidth / 2,
+        destElement.offsetTop + destElement.offsetHeight / 2);
+    eventSender.mouseUp();
+
+    document.getElementById('result').innerHTML = "PASS";
+}
+
+if (window.layoutTestController)
+    layoutTestController.dumpAsText();
+
+var editableDiv = document.getElementById('editableDiv');
+editableDiv.focus();
+dragElement(document.getElementById('anchorElement'), editableDiv);
+</script>
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (99084 => 99085)


--- trunk/Source/WebCore/ChangeLog	2011-11-02 18:40:21 UTC (rev 99084)
+++ trunk/Source/WebCore/ChangeLog	2011-11-02 18:43:29 UTC (rev 99085)
@@ -1,3 +1,18 @@
+2011-11-02  Devdatta Deshpande  <[email protected]>
+
+        Assert in MoveSelectionCommand::doApply
+        https://bugs.webkit.org/show_bug.cgi?id=70277
+
+        Reviewed by Ryosuke Niwa.
+
+        A MoveSelectionCommand should be fired only if the selection type is
+        RangeSelection, since nothing is selected in other cases.
+
+        Test: fast/events/drag-link.html
+
+        * page/DragController.cpp:
+        (WebCore::DragController::dragIsMove):
+
 2011-11-02  Jon Lee  <[email protected]>
 
         <input=file multiple> default text uses singular instead of plural

Modified: trunk/Source/WebCore/page/DragController.cpp (99084 => 99085)


--- trunk/Source/WebCore/page/DragController.cpp	2011-11-02 18:40:21 UTC (rev 99084)
+++ trunk/Source/WebCore/page/DragController.cpp	2011-11-02 18:43:29 UTC (rev 99085)
@@ -144,7 +144,7 @@
 
 bool DragController::dragIsMove(FrameSelection* selection, DragData* dragData)
 {
-    return m_documentUnderMouse == m_dragInitiator && selection->isContentEditable() && !isCopyKeyDown(dragData);
+    return m_documentUnderMouse == m_dragInitiator && selection->isContentEditable() && selection->isRange() && !isCopyKeyDown(dragData);
 }
 
 // FIXME: This method is poorly named.  We're just clearing the selection from the document this drag is exiting.
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to