Index: chrome/browser/ui/views/toolbar/browser_action_view.cc |
diff --git a/chrome/browser/ui/views/toolbar/browser_action_view.cc b/chrome/browser/ui/views/toolbar/browser_action_view.cc |
index 772a4056b9c3cf2bfbfdaa8219fee267fafca302..0eb1931cc2a52d82d364533151c5c790a691a4e5 100644 |
--- a/chrome/browser/ui/views/toolbar/browser_action_view.cc |
+++ b/chrome/browser/ui/views/toolbar/browser_action_view.cc |
@@ -188,9 +188,6 @@ void BrowserActionButton::ShowContextMenuForView( |
// Reconstructs the menu every time because the menu's contents are dynamic. |
scoped_refptr<ExtensionContextMenuModel> context_menu_contents( |
new ExtensionContextMenuModel(extension(), browser_, delegate_)); |
- menu_runner_.reset(new views::MenuRunner(context_menu_contents.get())); |
- |
- context_menu_ = menu_runner_->GetMenu(); |
gfx::Point screen_loc; |
views::View::ConvertPointToScreen(this, &screen_loc); |
@@ -208,12 +205,15 @@ void BrowserActionButton::ShowContextMenuForView( |
parent = GetWidget(); |
} |
+ menu_runner_.reset( |
+ new views::MenuRunner(context_menu_contents.get(), run_types)); |
+ context_menu_ = menu_runner_->GetMenu(); |
+ |
if (menu_runner_->RunMenuAt(parent, |
NULL, |
gfx::Rect(screen_loc, size()), |
views::MENU_ANCHOR_TOPLEFT, |
- source_type, |
- run_types) == |
+ source_type) == |
views::MenuRunner::MENU_DELETED) { |
return; |
} |