Title: [133352] branches/safari-536.28-branch/Source/WebCore
Revision
133352
Author
[email protected]
Date
2012-11-02 14:38:10 -0700 (Fri, 02 Nov 2012)

Log Message

Merged r124588.  <rdar://problem/12516365>

Modified Paths

Diff

Modified: branches/safari-536.28-branch/Source/WebCore/ChangeLog (133351 => 133352)


--- branches/safari-536.28-branch/Source/WebCore/ChangeLog	2012-11-02 21:35:02 UTC (rev 133351)
+++ branches/safari-536.28-branch/Source/WebCore/ChangeLog	2012-11-02 21:38:10 UTC (rev 133352)
@@ -1,5 +1,20 @@
 2012-11-02  Lucas Forschler  <[email protected]>
 
+        Merge r124588
+
+    2012-08-03  Adam Barth  <[email protected]>
+
+            WebCore::DragController::cleanupAfterSystemDrag should null-check page
+            https://bugs.webkit.org/show_bug.cgi?id=61815
+
+            Reviewed by Eric Seidel.
+
+            * page/DragController.cpp:
+            (WebCore::DragController::dragEnteredOrUpdated):
+            (WebCore::DragController::doSystemDrag):
+
+2012-11-02  Lucas Forschler  <[email protected]>
+
         Merge r124580
 
     2012-08-03  Abhishek Arya  <[email protected]>
@@ -206069,3 +206084,4 @@
 .
 .
 .
+.

Modified: branches/safari-536.28-branch/Source/WebCore/page/DragController.cpp (133351 => 133352)


--- branches/safari-536.28-branch/Source/WebCore/page/DragController.cpp	2012-11-02 21:35:02 UTC (rev 133351)
+++ branches/safari-536.28-branch/Source/WebCore/page/DragController.cpp	2012-11-02 21:38:10 UTC (rev 133352)
@@ -247,7 +247,7 @@
 DragSession DragController::dragEnteredOrUpdated(DragData* dragData)
 {
     ASSERT(dragData);
-    ASSERT(m_page->mainFrame()); // It is not possible in Mac WebKit to have a Page without a mainFrame()
+    ASSERT(m_page->mainFrame());
     mouseMovedIntoDocument(m_page->mainFrame()->documentAtPoint(dragData->clientPosition()));
 
     m_dragDestinationAction = m_client->actionMaskForDrag(dragData);
@@ -891,6 +891,9 @@
     RefPtr<FrameView> viewProtector = frameProtector->view();
     m_client->startDrag(image, viewProtector->rootViewToContents(frame->view()->contentsToRootView(dragLoc)),
         viewProtector->rootViewToContents(frame->view()->contentsToRootView(eventPos)), clipboard, frameProtector.get(), forLink);
+    // DragClient::startDrag can cause our Page to dispear, deallocating |this|.
+    if (!frameProtector->page())
+        return;
 
     cleanupAfterSystemDrag();
 }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to