When dragging a selection, clearing the selection in dragstart should not crash the...
[WebKit-https.git] / Source / WebCore / ChangeLog
index 54de44ee739afbdcd5224e9a6390508754f0337b..7e9833bcbda3ae0b5f49852073db6e165bb9ae61 100644 (file)
@@ -1,3 +1,25 @@
+2017-07-05  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        When dragging a selection, clearing the selection in dragstart should not crash the web process
+        https://bugs.webkit.org/show_bug.cgi?id=174142
+        <rdar://problem/33067501>
+
+        Reviewed by Tim Horton.
+
+        Currenly, if the page clears the current selection after dragging starts on selected content, the web process
+        will crash while attempting to write pasteboard data for a nonexistent selection. This patch adds a trivial
+        check for this case, bailing if no DHTML dragging data was specified by the page during a selection drag and the
+        selection has been cleared.
+
+        Also removes some unused code for estimating the bounds of the current selection. On iOS, dragging was actually
+        crashing earlier, in this codepath. However, this information isn't even used anymore, since the drag anchor
+        point is no longer necessary on iOS.
+
+        Test: DataInteractionTests.DoNotCrashWhenSelectionIsClearedInDragStart
+
+        * page/DragController.cpp:
+        (WebCore::DragController::startDrag):
+
 2017-07-05  Simon Fraser  <simon.fraser@apple.com>
 
         Try to fix iOS 10.3 public SDK builds.