Index: content/browser/web_contents/web_contents_view_mac.mm |
diff --git a/content/browser/web_contents/web_contents_view_mac.mm b/content/browser/web_contents/web_contents_view_mac.mm |
index 93e7c317dd0aea595a4d0ae52e2d981ecf87e593..5da7917c30f795dc1b8058a9c74db823546f2cf7 100644 |
--- a/content/browser/web_contents/web_contents_view_mac.mm |
+++ b/content/browser/web_contents/web_contents_view_mac.mm |
@@ -248,10 +248,17 @@ void WebContentsViewMac::ShowPopupMenu( |
const std::vector<MenuItem>& items, |
bool right_aligned, |
bool allow_multiple_selection) { |
- PopupMenuHelper popup_menu_helper(web_contents_->GetRenderViewHost()); |
- popup_menu_helper.ShowPopupMenu(bounds, item_height, item_font_size, |
- selected_item, items, right_aligned, |
- allow_multiple_selection); |
+ popup_menu_helper_.reset( |
+ new PopupMenuHelper(web_contents_->GetRenderViewHost())); |
+ popup_menu_helper_->ShowPopupMenu(bounds, item_height, item_font_size, |
+ selected_item, items, right_aligned, |
+ allow_multiple_selection); |
+ popup_menu_helper_.reset(); |
+} |
+ |
+void WebContentsViewMac::HidePopupMenu() { |
+ if (popup_menu_helper_) |
+ popup_menu_helper_->Hide(); |
} |
gfx::Rect WebContentsViewMac::GetViewBounds() const { |