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