Index: third_party/WebKit/Source/core/page/FocusController.cpp |
diff --git a/third_party/WebKit/Source/core/page/FocusController.cpp b/third_party/WebKit/Source/core/page/FocusController.cpp |
index c7d11a226f30bdcff86214c2462d43f70a5ee4cc..9ec49ab3ac17cf3e90a38db115f94786029d39fc 100644 |
--- a/third_party/WebKit/Source/core/page/FocusController.cpp |
+++ b/third_party/WebKit/Source/core/page/FocusController.cpp |
@@ -772,6 +772,11 @@ void FocusController::focusDocumentView(Frame* frame, bool notifyEmbedder) |
dispatchFocusEvent(*document, *focusedElement); |
} |
+ // dispatchBlurEvent/dispatchFocusEvent could have changed the focused frame, or |
+ // detached the frame. |
+ if (newFocusedFrame && !newFocusedFrame->view()) |
+ return; |
+ |
setFocusedFrame(frame, notifyEmbedder); |
} |