Index: Source/core/page/DragController.cpp |
diff --git a/Source/core/page/DragController.cpp b/Source/core/page/DragController.cpp |
index 859a6d926ef415846432a365b829c0cebd826fe3..3f324a723d2bac1ed811dfb6b1716ab726fff17b 100644 |
--- a/Source/core/page/DragController.cpp |
+++ b/Source/core/page/DragController.cpp |
@@ -239,7 +239,7 @@ bool DragController::performDrag(DragData* dragData) |
ASSERT(dragData); |
m_documentUnderMouse = m_page->deprecatedLocalMainFrame()->documentAtPoint(dragData->clientPosition()); |
if ((m_dragDestinationAction & DragDestinationActionDHTML) && m_documentIsHandlingDrag) { |
- RefPtr<LocalFrame> mainFrame = m_page->deprecatedLocalMainFrame(); |
+ RefPtrWillBeRawPtr<LocalFrame> mainFrame = m_page->deprecatedLocalMainFrame(); |
bool preventedDefault = false; |
if (mainFrame->view()) { |
// Sending an event can result in the destruction of the view and part. |
@@ -460,7 +460,7 @@ bool DragController::concludeEditDrag(DragData* dragData) |
Element* element = elementUnderMouse(m_documentUnderMouse.get(), point); |
if (!element) |
return false; |
- RefPtr<LocalFrame> innerFrame = element->ownerDocument()->frame(); |
+ RefPtrWillBeRawPtr<LocalFrame> innerFrame = element->ownerDocument()->frame(); |
ASSERT(innerFrame); |
if (m_page->dragCaretController().hasCaret() && !dispatchTextInputEventFor(innerFrame.get(), dragData)) |
@@ -590,11 +590,11 @@ bool DragController::tryDHTMLDrag(DragData* dragData, DragOperation& operation) |
{ |
ASSERT(dragData); |
ASSERT(m_documentUnderMouse); |
- RefPtr<LocalFrame> mainFrame = m_page->deprecatedLocalMainFrame(); |
- RefPtr<FrameView> viewProtector = mainFrame->view(); |
- if (!viewProtector) |
+ RefPtrWillBeRawPtr<LocalFrame> mainFrame = m_page->deprecatedLocalMainFrame(); |
+ if (!mainFrame->view()) |
return false; |
+ RefPtr<FrameView> viewProtector(mainFrame->view()); |
DataTransferAccessPolicy policy = m_documentUnderMouse->securityOrigin()->isLocal() ? DataTransferReadable : DataTransferTypesReadable; |
RefPtrWillBeRawPtr<DataTransfer> dataTransfer = createDraggingDataTransfer(policy, dragData); |
DragOperation srcOpMask = dragData->draggingSourceOperationMask(); |
@@ -928,12 +928,13 @@ void DragController::doSystemDrag(DragImage* image, const IntPoint& dragLocation |
m_didInitiateDrag = true; |
m_dragInitiator = frame->document(); |
// Protect this frame and view, as a load may occur mid drag and attempt to unload this frame |
- RefPtr<LocalFrame> frameProtector = m_page->deprecatedLocalMainFrame(); |
- RefPtr<FrameView> viewProtector = frameProtector->view(); |
- m_client->startDrag(image, viewProtector->rootViewToContents(frame->view()->contentsToRootView(dragLocation)), |
- viewProtector->rootViewToContents(frame->view()->contentsToRootView(eventPos)), dataTransfer, frameProtector.get(), forLink); |
+ RefPtrWillBeRawPtr<LocalFrame> mainFrame = m_page->deprecatedLocalMainFrame(); |
+ RefPtr<FrameView> mainFrameView = mainFrame->view(); |
+ |
+ m_client->startDrag(image, mainFrameView->rootViewToContents(frame->view()->contentsToRootView(dragLocation)), |
+ mainFrameView->rootViewToContents(frame->view()->contentsToRootView(eventPos)), dataTransfer, frame, forLink); |
// DragClient::startDrag can cause our Page to dispear, deallocating |this|. |
- if (!frameProtector->page()) |
+ if (!frame->page()) |
return; |
cleanupAfterSystemDrag(); |