| Index: content/browser/web_contents/web_drag_dest_mac.mm
|
| diff --git a/content/browser/web_contents/web_drag_dest_mac.mm b/content/browser/web_contents/web_drag_dest_mac.mm
|
| index 625df3f1ecf6d60aa7f1306ead3da079e8f30172..95a28ebf5664bf142fb2627446b68011fc6976c8 100644
|
| --- a/content/browser/web_contents/web_drag_dest_mac.mm
|
| +++ b/content/browser/web_contents/web_drag_dest_mac.mm
|
| @@ -134,6 +134,13 @@ int GetModifierFlags() {
|
| NSPoint viewPoint = [self flipWindowPointToView:windowPoint view:view];
|
| NSPoint screenPoint = [self flipWindowPointToScreen:windowPoint view:view];
|
| gfx::Point transformedPt;
|
| + if (!webContents_->GetRenderWidgetHostView()) {
|
| + // TODO(ekaramad, paulmeyer): Find a better way than toggling |canceled_|.
|
| + // This could happen when the renderer process for the top-level RWH crashes
|
| + // (see https://crbug.com/670645).
|
| + canceled_ = true;
|
| + return NSDragOperationNone;
|
| + }
|
| currentRWHForDrag_ =
|
| [self GetRenderWidgetHostAtPoint:viewPoint transformedPt:&transformedPt]
|
| ->GetWeakPtr();
|
| @@ -201,8 +208,13 @@ int GetModifierFlags() {
|
| dropData_.reset();
|
| }
|
|
|
| -- (NSDragOperation)draggingUpdated:(id<NSDraggingInfo>)info
|
| - view:(NSView*)view {
|
| +- (NSDragOperation)draggingUpdated:(id<NSDraggingInfo>)info view:(NSView*)view {
|
| + if (canceled_) {
|
| + // TODO(ekaramad,paulmeyer): We probably shouldn't be checking for
|
| + // |canceled_| twice in this method.
|
| + return NSDragOperationNone;
|
| + }
|
| +
|
| // Create the appropriate mouse locations for WebCore. The draggingLocation
|
| // is in window coordinates. Both need to be flipped.
|
| NSPoint windowPoint = [info draggingLocation];
|
|
|