Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(258)

Unified Diff: content/browser/web_contents/web_drag_source_mac.mm

Issue 10966023: Fix the crash that could occur when the window is closed while web contents drag is in progress. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Patch to land Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/browser/web_contents/web_drag_source_mac.h ('k') | content/public/browser/web_contents_view.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/web_contents/web_drag_source_mac.mm
diff --git a/content/browser/web_contents/web_drag_source_mac.mm b/content/browser/web_contents/web_drag_source_mac.mm
index 67010e3bc2abaacd9d3795669abc8afc45f09c80..8cccff57a478d956c2fb7c252b3e432a0671a62a 100644
--- a/content/browser/web_contents/web_drag_source_mac.mm
+++ b/content/browser/web_contents/web_drag_source_mac.mm
@@ -135,6 +135,11 @@ void PromiseWriterHelper(const WebDropData& drop_data,
return self;
}
+- (void)clearWebContentsView {
+ contents_ = nil;
+ contentsView_ = nil;
+}
+
- (NSDragOperation)draggingSourceOperationMaskForLocal:(BOOL)isLocal {
return dragOperationMask_;
}
@@ -268,6 +273,8 @@ void PromiseWriterHelper(const WebDropData& drop_data,
- (void)endDragAt:(NSPoint)screenPoint
operation:(NSDragOperation)operation {
+ if (!contents_)
+ return;
contents_->SystemDragEnded();
RenderViewHostImpl* rvh = static_cast<RenderViewHostImpl*>(
@@ -299,6 +306,8 @@ void PromiseWriterHelper(const WebDropData& drop_data,
}
- (void)moveDragTo:(NSPoint)screenPoint {
+ if (!contents_)
+ return;
RenderViewHostImpl* rvh = static_cast<RenderViewHostImpl*>(
contents_->GetRenderViewHost());
if (rvh) {
« no previous file with comments | « content/browser/web_contents/web_drag_source_mac.h ('k') | content/public/browser/web_contents_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698