Index: chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.cc |
diff --git a/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.cc b/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.cc |
index 170a56111249dc4fab8ee22858a3f9603cdbaa29..3b8fe542d34c5d51bbb4877f675afe4802e9e4c5 100644 |
--- a/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.cc |
+++ b/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.cc |
@@ -50,6 +50,11 @@ bool ChromeWebViewGuestDelegate::HandleContextMenu( |
DCHECK(menu_delegate); |
pending_menu_ = menu_delegate->BuildMenu(guest_web_contents(), params); |
+ // It's possible for the returned menu to be null, so early out to avoid |
+ // a crash. TODO(wjmaclean): find out why it's possible for this to happen |
+ // in the first place, and if it's an error. |
+ if (!pending_menu_) |
+ return false; |
// Pass it to embedder. |
int request_id = ++pending_context_menu_request_id_; |