Index: chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.cc |
diff --git a/chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.cc b/chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.cc |
index 681e0e6fa00080c14a6e77538248861217b910ec..ddedbffbc480c377c97e196c548fc596ef3e5527 100644 |
--- a/chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.cc |
+++ b/chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.cc |
@@ -33,22 +33,23 @@ BookmarkMenuController::BookmarkMenuController(Browser* browser, |
PageNavigator* page_navigator, |
views::Widget* parent, |
const BookmarkNode* node, |
- int start_child_index) |
+ int start_child_index, |
+ bool for_drop) |
: menu_delegate_( |
new BookmarkMenuDelegate(browser, page_navigator, parent, 1, |
kint32max)), |
node_(node), |
observer_(NULL), |
- for_drop_(false), |
+ for_drop_(for_drop), |
bookmark_bar_(NULL) { |
menu_delegate_->Init(this, NULL, node, start_child_index, |
BookmarkMenuDelegate::HIDE_PERMANENT_FOLDERS, |
BOOKMARK_LAUNCH_LOCATION_BAR_SUBFOLDER); |
- menu_runner_.reset(new views::MenuRunner(menu_delegate_->menu())); |
+ menu_runner_.reset(new views::MenuRunner( |
+ menu_delegate_->menu(), for_drop ? views::MenuRunner::FOR_DROP : 0)); |
} |
-void BookmarkMenuController::RunMenuAt(BookmarkBarView* bookmark_bar, |
- bool for_drop) { |
+void BookmarkMenuController::RunMenuAt(BookmarkBarView* bookmark_bar) { |
bookmark_bar_ = bookmark_bar; |
views::MenuButton* menu_button = bookmark_bar_->GetMenuButtonForNode(node_); |
DCHECK(menu_button); |
@@ -59,14 +60,15 @@ void BookmarkMenuController::RunMenuAt(BookmarkBarView* bookmark_bar, |
// Subtract 1 from the height to make the popup flush with the button border. |
gfx::Rect bounds(screen_loc.x(), screen_loc.y(), menu_button->width(), |
menu_button->height() - 1); |
- for_drop_ = for_drop; |
menu_delegate_->GetBookmarkModel()->AddObserver(this); |
// We only delete ourself after the menu completes, so we can safely ignore |
// the return value. |
- ignore_result(menu_runner_->RunMenuAt(menu_delegate_->parent(), menu_button, |
- bounds, anchor, ui::MENU_SOURCE_NONE, |
- for_drop ? views::MenuRunner::FOR_DROP : 0)); |
- if (!for_drop) |
+ ignore_result(menu_runner_->RunMenuAt(menu_delegate_->parent(), |
+ menu_button, |
+ bounds, |
+ anchor, |
+ ui::MENU_SOURCE_NONE)); |
+ if (!for_drop_) |
delete this; |
} |