diff options
13 files changed, 59 insertions, 41 deletions
diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc index 3d316df..cd3c898 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc +++ b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc @@ -1015,7 +1015,7 @@ void BookmarkBarView::OnMenuButtonClicked(views::View* view, node = model_->bookmark_bar_node()->GetChild(button_index); } - bookmark_menu_ = new BookmarkMenuController(browser_->profile(), + bookmark_menu_ = new BookmarkMenuController(browser_, page_navigator_, GetWidget(), node, start_index); bookmark_menu_->set_observer(this); bookmark_menu_->RunMenuAt(this, false); @@ -1086,7 +1086,7 @@ void BookmarkBarView::ShowContextMenuForView(views::View* source, bool close_on_remove = (parent == profile->GetBookmarkModel()->other_node()) && (parent->child_count() == 1); - context_menu_.reset(new BookmarkContextMenu(GetWidget(), profile, + context_menu_.reset(new BookmarkContextMenu(GetWidget(), browser_, profile, browser_->GetActiveWebContents(), parent, nodes, close_on_remove)); context_menu_->RunMenuAt(point); } @@ -1335,7 +1335,7 @@ void BookmarkBarView::ShowDropFolderForNode(const BookmarkNode* node) { start_index = GetFirstHiddenNodeIndex(); drop_info_->is_menu_showing = true; - bookmark_drop_menu_ = new BookmarkMenuController(browser_->profile(), + bookmark_drop_menu_ = new BookmarkMenuController(browser_, page_navigator_, GetWidget(), node, start_index); bookmark_drop_menu_->set_observer(this); bookmark_drop_menu_->RunMenuAt(this, true); diff --git a/chrome/browser/ui/views/bookmarks/bookmark_context_menu.cc b/chrome/browser/ui/views/bookmarks/bookmark_context_menu.cc index a377916..e5fc8b8 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_context_menu.cc +++ b/chrome/browser/ui/views/bookmarks/bookmark_context_menu.cc @@ -8,7 +8,6 @@ #include "base/utf_string_conversions.h" #include "chrome/app/chrome_command_ids.h" #include "chrome/browser/bookmarks/bookmark_model.h" -#include "chrome/browser/profiles/profile.h" #include "chrome/common/chrome_notification_types.h" #include "content/public/browser/notification_service.h" #include "grit/generated_resources.h" @@ -24,6 +23,7 @@ using content::PageNavigator; BookmarkContextMenu::BookmarkContextMenu( views::Widget* parent_widget, + Browser* browser, Profile* profile, PageNavigator* page_navigator, const BookmarkNode* parent, @@ -31,7 +31,7 @@ BookmarkContextMenu::BookmarkContextMenu( bool close_on_remove) : ALLOW_THIS_IN_INITIALIZER_LIST( controller_(BookmarkContextMenuControllerViews::Create(parent_widget, - this, profile, page_navigator, parent, selection))), + this, browser, profile, page_navigator, parent, selection))), parent_widget_(parent_widget), ALLOW_THIS_IN_INITIALIZER_LIST(menu_(new views::MenuItemView(this))), menu_runner_(new views::MenuRunner(menu_)), diff --git a/chrome/browser/ui/views/bookmarks/bookmark_context_menu.h b/chrome/browser/ui/views/bookmarks/bookmark_context_menu.h index 5c90ab0..4b44318 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_context_menu.h +++ b/chrome/browser/ui/views/bookmarks/bookmark_context_menu.h @@ -10,6 +10,8 @@ #include "chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views.h" #include "ui/views/controls/menu/menu_delegate.h" +class Browser; + namespace views { class MenuRunner; class Widget; @@ -32,8 +34,10 @@ class BookmarkContextMenuObserver { class BookmarkContextMenu : public BookmarkContextMenuControllerViewsDelegate, public views::MenuDelegate { public: + // |browser| is used to open the bookmark manager, and is NULL in tests. BookmarkContextMenu( views::Widget* parent_widget, + Browser* browser, Profile* profile, content::PageNavigator* page_navigator, const BookmarkNode* parent, diff --git a/chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views.cc b/chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views.cc index 3c30377..1573a36 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views.cc +++ b/chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views.cc @@ -13,7 +13,6 @@ #include "chrome/browser/prefs/pref_service.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" -#include "chrome/browser/ui/browser_finder.h" #include "chrome/common/pref_names.h" #include "content/public/browser/page_navigator.h" #include "content/public/browser/user_metrics.h" @@ -28,13 +27,14 @@ using content::UserMetricsAction; BookmarkContextMenuControllerViews* BookmarkContextMenuControllerViews::Create( views::Widget* parent_widget, BookmarkContextMenuControllerViewsDelegate* delegate, + Browser* browser, Profile* profile, content::PageNavigator* navigator, const BookmarkNode* parent, const std::vector<const BookmarkNode*>& selection) { return new BookmarkContextMenuControllerViews(parent_widget, delegate, - profile, navigator, parent, - selection); + browser, profile, navigator, + parent, selection); } #endif // !defined(OS_WIN) @@ -139,17 +139,14 @@ void BookmarkContextMenuControllerViews::ExecuteCommand(int id) { case IDC_BOOKMARK_MANAGER: { content::RecordAction(UserMetricsAction("ShowBookmarkManager")); - Browser* browser = browser::FindLastActiveWithProfile(profile_); - if (!browser) NOTREACHED(); - if (selection_.size() != 1) - browser->OpenBookmarkManager(); + browser_->OpenBookmarkManager(); else if (selection_[0]->is_folder()) - browser->OpenBookmarkManagerForNode(selection_[0]->id()); + browser_->OpenBookmarkManagerForNode(selection_[0]->id()); else if (parent_) - browser->OpenBookmarkManagerForNode(parent_->id()); + browser_->OpenBookmarkManagerForNode(parent_->id()); else - browser->OpenBookmarkManager(); + browser_->OpenBookmarkManager(); break; } @@ -292,12 +289,14 @@ void BookmarkContextMenuControllerViews::BuildMenu() { BookmarkContextMenuControllerViews::BookmarkContextMenuControllerViews( views::Widget* parent_widget, BookmarkContextMenuControllerViewsDelegate* delegate, + Browser* browser, Profile* profile, PageNavigator* navigator, const BookmarkNode* parent, const std::vector<const BookmarkNode*>& selection) : parent_widget_(parent_widget), delegate_(delegate), + browser_(browser), profile_(profile), navigator_(navigator), parent_(parent), diff --git a/chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views.h b/chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views.h index 3bdbb0f..ab20406 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views.h +++ b/chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views.h @@ -11,6 +11,7 @@ #include "base/basictypes.h" #include "chrome/browser/bookmarks/base_bookmark_model_observer.h" +class Browser; class Profile; namespace content { @@ -52,6 +53,7 @@ class BookmarkContextMenuControllerViews : public BaseBookmarkModelObserver { // bookmark context menu. // |parent_widget| is the window that this menu should be added to. // |delegate| is described above. + // |browser| is used to open the bookmark manager and is NULL in tests. // |profile| is used for opening urls as well as enabling 'open incognito'. // |navigator| is used if |browser| is null, and is provided for testing. // |parent| is the parent for newly created nodes if |selection| is empty. @@ -59,6 +61,7 @@ class BookmarkContextMenuControllerViews : public BaseBookmarkModelObserver { static BookmarkContextMenuControllerViews* Create( views::Widget* parent_widget, BookmarkContextMenuControllerViewsDelegate* delegate, + Browser* browser, Profile* profile, content::PageNavigator* navigator, const BookmarkNode* parent, @@ -89,6 +92,7 @@ class BookmarkContextMenuControllerViews : public BaseBookmarkModelObserver { // Creates the bookmark context menu. // |parent_widget| is the window that this menu should be added to. // |delegate| is described above. + // |browser| is used to open the bookmark manager and is NULL in tests. // |profile| is used for opening urls as well as enabling 'open incognito'. // |navigator| is used if |browser| is null, and is provided for testing. // |parent| is the parent for newly created nodes if |selection| is empty. @@ -96,6 +100,7 @@ class BookmarkContextMenuControllerViews : public BaseBookmarkModelObserver { BookmarkContextMenuControllerViews( views::Widget* parent_widget, BookmarkContextMenuControllerViewsDelegate* delegate, + Browser* browser, Profile* profile, content::PageNavigator* navigator, const BookmarkNode* parent, @@ -114,6 +119,7 @@ class BookmarkContextMenuControllerViews : public BaseBookmarkModelObserver { views::Widget* parent_widget_; BookmarkContextMenuControllerViewsDelegate* delegate_; + Browser* browser_; Profile* profile_; content::PageNavigator* navigator_; const BookmarkNode* parent_; diff --git a/chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views_win.cc b/chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views_win.cc index ebb5aa0..a7b7d5d 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views_win.cc +++ b/chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views_win.cc @@ -18,24 +18,27 @@ using content::UserMetricsAction; BookmarkContextMenuControllerViews* BookmarkContextMenuControllerViews::Create( views::Widget* parent_widget, BookmarkContextMenuControllerViewsDelegate* delegate, + Browser* browser, Profile* profile, content::PageNavigator* navigator, const BookmarkNode* parent, const std::vector<const BookmarkNode*>& selection) { return new BookmarkContextMenuControllerViewsWin(parent_widget, delegate, - profile, navigator, parent, - selection); + browser, profile, navigator, + parent, selection); } BookmarkContextMenuControllerViewsWin::BookmarkContextMenuControllerViewsWin( views::Widget* parent_widget, BookmarkContextMenuControllerViewsDelegate* delegate, + Browser* browser, Profile* profile, content::PageNavigator* navigator, const BookmarkNode* parent, const std::vector<const BookmarkNode*>& selection) - : BookmarkContextMenuControllerViews(parent_widget, delegate, profile, - navigator, parent, selection) { + : BookmarkContextMenuControllerViews(parent_widget, delegate, browser, + profile, navigator, parent, + selection) { } BookmarkContextMenuControllerViewsWin diff --git a/chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views_win.h b/chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views_win.h index f4fd5e6..eb19506 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views_win.h +++ b/chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views_win.h @@ -16,6 +16,7 @@ class BookmarkContextMenuControllerViewsWin BookmarkContextMenuControllerViewsWin( views::Widget* parent_widget, BookmarkContextMenuControllerViewsDelegate* delegate, + Browser* browser, Profile* profile, content::PageNavigator* navigator, const BookmarkNode* parent, diff --git a/chrome/browser/ui/views/bookmarks/bookmark_context_menu_test.cc b/chrome/browser/ui/views/bookmarks/bookmark_context_menu_test.cc index 95ee652..843d49e 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_context_menu_test.cc +++ b/chrome/browser/ui/views/bookmarks/bookmark_context_menu_test.cc @@ -113,7 +113,7 @@ TEST_F(BookmarkContextMenuTest, DeleteURL) { std::vector<const BookmarkNode*> nodes; nodes.push_back(model_->bookmark_bar_node()->GetChild(0)); BookmarkContextMenu controller( - NULL, profile_.get(), NULL, nodes[0]->parent(), nodes, false); + NULL, NULL, profile_.get(), NULL, nodes[0]->parent(), nodes, false); GURL url = model_->bookmark_bar_node()->GetChild(0)->url(); ASSERT_TRUE(controller.IsCommandEnabled(IDC_BOOKMARK_BAR_REMOVE)); // Delete the URL. @@ -136,7 +136,7 @@ TEST_F(BookmarkContextMenuTest, OpenAll) { // Tests the enabled state of the menus when supplied an empty vector. TEST_F(BookmarkContextMenuTest, EmptyNodes) { BookmarkContextMenu controller( - NULL, profile_.get(), NULL, model_->other_node(), + NULL, NULL, profile_.get(), NULL, model_->other_node(), std::vector<const BookmarkNode*>(), false); EXPECT_FALSE(controller.IsCommandEnabled(IDC_BOOKMARK_BAR_OPEN_ALL)); EXPECT_FALSE( @@ -156,7 +156,7 @@ TEST_F(BookmarkContextMenuTest, SingleURL) { std::vector<const BookmarkNode*> nodes; nodes.push_back(model_->bookmark_bar_node()->GetChild(0)); BookmarkContextMenu controller( - NULL, profile_.get(), NULL, nodes[0]->parent(), nodes, false); + NULL, NULL, profile_.get(), NULL, nodes[0]->parent(), nodes, false); EXPECT_TRUE(controller.IsCommandEnabled(IDC_BOOKMARK_BAR_OPEN_ALL)); EXPECT_TRUE( controller.IsCommandEnabled(IDC_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW)); @@ -175,7 +175,7 @@ TEST_F(BookmarkContextMenuTest, MultipleURLs) { nodes.push_back(model_->bookmark_bar_node()->GetChild(0)); nodes.push_back(model_->bookmark_bar_node()->GetChild(1)->GetChild(0)); BookmarkContextMenu controller( - NULL, profile_.get(), NULL, nodes[0]->parent(), nodes, false); + NULL, NULL, profile_.get(), NULL, nodes[0]->parent(), nodes, false); EXPECT_TRUE(controller.IsCommandEnabled(IDC_BOOKMARK_BAR_OPEN_ALL)); EXPECT_TRUE( controller.IsCommandEnabled(IDC_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW)); @@ -193,7 +193,7 @@ TEST_F(BookmarkContextMenuTest, SingleFolder) { std::vector<const BookmarkNode*> nodes; nodes.push_back(model_->bookmark_bar_node()->GetChild(2)); BookmarkContextMenu controller( - NULL, profile_.get(), NULL, nodes[0]->parent(), nodes, false); + NULL, NULL, profile_.get(), NULL, nodes[0]->parent(), nodes, false); EXPECT_FALSE(controller.IsCommandEnabled(IDC_BOOKMARK_BAR_OPEN_ALL)); EXPECT_FALSE( controller.IsCommandEnabled(IDC_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW)); @@ -213,7 +213,7 @@ TEST_F(BookmarkContextMenuTest, MultipleEmptyFolders) { nodes.push_back(model_->bookmark_bar_node()->GetChild(2)); nodes.push_back(model_->bookmark_bar_node()->GetChild(3)); BookmarkContextMenu controller( - NULL, profile_.get(), NULL, nodes[0]->parent(), nodes, false); + NULL, NULL, profile_.get(), NULL, nodes[0]->parent(), nodes, false); EXPECT_FALSE(controller.IsCommandEnabled(IDC_BOOKMARK_BAR_OPEN_ALL)); EXPECT_FALSE( controller.IsCommandEnabled(IDC_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW)); @@ -233,7 +233,7 @@ TEST_F(BookmarkContextMenuTest, MultipleFoldersWithURLs) { nodes.push_back(model_->bookmark_bar_node()->GetChild(3)); nodes.push_back(model_->bookmark_bar_node()->GetChild(4)); BookmarkContextMenu controller( - NULL, profile_.get(), NULL, nodes[0]->parent(), nodes, false); + NULL, NULL, profile_.get(), NULL, nodes[0]->parent(), nodes, false); EXPECT_TRUE(controller.IsCommandEnabled(IDC_BOOKMARK_BAR_OPEN_ALL)); EXPECT_TRUE( controller.IsCommandEnabled(IDC_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW)); @@ -250,7 +250,7 @@ TEST_F(BookmarkContextMenuTest, DisableIncognito) { std::vector<const BookmarkNode*> nodes; nodes.push_back(model_->bookmark_bar_node()->GetChild(0)); BookmarkContextMenu controller( - NULL, profile_.get(), NULL, nodes[0]->parent(), nodes, false); + NULL, NULL, profile_.get(), NULL, nodes[0]->parent(), nodes, false); profile_->set_incognito(true); EXPECT_FALSE(controller.IsCommandEnabled(IDC_BOOKMARK_BAR_OPEN_INCOGNITO)); EXPECT_FALSE( @@ -262,7 +262,7 @@ TEST_F(BookmarkContextMenuTest, DisabledItemsWithOtherNode) { std::vector<const BookmarkNode*> nodes; nodes.push_back(model_->other_node()); BookmarkContextMenu controller( - NULL, profile_.get(), NULL, nodes[0], nodes, false); + NULL, NULL, profile_.get(), NULL, nodes[0], nodes, false); EXPECT_FALSE(controller.IsCommandEnabled(IDC_BOOKMARK_BAR_EDIT)); EXPECT_FALSE(controller.IsCommandEnabled(IDC_BOOKMARK_BAR_REMOVE)); } @@ -271,8 +271,8 @@ TEST_F(BookmarkContextMenuTest, DisabledItemsWithOtherNode) { // parent. TEST_F(BookmarkContextMenuTest, EmptyNodesNullParent) { BookmarkContextMenu controller( - NULL, profile_.get(), NULL, NULL, std::vector<const BookmarkNode*>(), - false); + NULL, NULL, profile_.get(), NULL, NULL, + std::vector<const BookmarkNode*>(), false); EXPECT_FALSE(controller.IsCommandEnabled(IDC_BOOKMARK_BAR_OPEN_ALL)); EXPECT_FALSE( controller.IsCommandEnabled(IDC_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW)); @@ -290,7 +290,7 @@ TEST_F(BookmarkContextMenuTest, CutCopyPasteNode) { std::vector<const BookmarkNode*> nodes; nodes.push_back(bb_node->GetChild(0)); scoped_ptr<BookmarkContextMenu> controller(new BookmarkContextMenu( - NULL, profile_.get(), NULL, nodes[0]->parent(), nodes, false)); + NULL, NULL, profile_.get(), NULL, nodes[0]->parent(), nodes, false)); EXPECT_TRUE(controller->IsCommandEnabled(IDC_COPY)); EXPECT_TRUE(controller->IsCommandEnabled(IDC_CUT)); @@ -298,7 +298,7 @@ TEST_F(BookmarkContextMenuTest, CutCopyPasteNode) { controller->ExecuteCommand(IDC_COPY); controller.reset(new BookmarkContextMenu( - NULL, profile_.get(), NULL, nodes[0]->parent(), nodes, false)); + NULL, NULL, profile_.get(), NULL, nodes[0]->parent(), nodes, false)); int old_count = bb_node->child_count(); controller->ExecuteCommand(IDC_PASTE); @@ -307,7 +307,7 @@ TEST_F(BookmarkContextMenuTest, CutCopyPasteNode) { ASSERT_EQ(bb_node->GetChild(0)->url(), bb_node->GetChild(1)->url()); controller.reset(new BookmarkContextMenu( - NULL, profile_.get(), NULL, nodes[0]->parent(), nodes, false)); + NULL, NULL, profile_.get(), NULL, nodes[0]->parent(), nodes, false)); // Cut the URL. controller->ExecuteCommand(IDC_CUT); ASSERT_TRUE(bb_node->GetChild(0)->is_url()); 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 630e662..89bf843 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.cc +++ b/chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.cc @@ -30,13 +30,13 @@ using content::PageNavigator; using content::UserMetricsAction; using views::MenuItemView; -BookmarkMenuController::BookmarkMenuController(Profile* profile, +BookmarkMenuController::BookmarkMenuController(Browser* browser, PageNavigator* page_navigator, views::Widget* parent, const BookmarkNode* node, int start_child_index) : menu_delegate_( - new BookmarkMenuDelegate(profile, page_navigator, parent, 1)), + new BookmarkMenuDelegate(browser, page_navigator, parent, 1)), node_(node), observer_(NULL), for_drop_(false), diff --git a/chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.h b/chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.h index d13b15f..43e14d2 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.h +++ b/chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.h @@ -17,7 +17,7 @@ class BookmarkBarView; class BookmarkMenuDelegate; class BookmarkNode; -class Profile; +class Browser; namespace content { class PageNavigator; @@ -51,7 +51,7 @@ class BookmarkMenuController : public BaseBookmarkModelObserver, // Creates a BookmarkMenuController showing the children of |node| starting // at |start_child_index|. - BookmarkMenuController(Profile* profile, + BookmarkMenuController(Browser* browser, content::PageNavigator* page_navigator, views::Widget* parent, const BookmarkNode* node, diff --git a/chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.cc b/chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.cc index 1842c5e..6d7f9a8 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.cc +++ b/chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.cc @@ -11,6 +11,7 @@ #include "chrome/browser/event_disposition.h" #include "chrome/browser/prefs/pref_service.h" #include "chrome/browser/profiles/profile.h" +#include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/views/bookmarks/bookmark_bar_view.h" #include "chrome/browser/ui/views/event_utils.h" #include "chrome/common/pref_names.h" @@ -35,11 +36,12 @@ using views::MenuItemView; // both IE and FF restrict the max width of a menu. static const int kMaxMenuWidth = 400; -BookmarkMenuDelegate::BookmarkMenuDelegate(Profile* profile, +BookmarkMenuDelegate::BookmarkMenuDelegate(Browser* browser, PageNavigator* navigator, views::Widget* parent, int first_menu_id) - : profile_(profile), + : browser_(browser), + profile_(browser->profile()), page_navigator_(navigator), parent_(parent), menu_(NULL), @@ -270,6 +272,7 @@ bool BookmarkMenuDelegate::ShowContextMenu(MenuItemView* source, context_menu_.reset( new BookmarkContextMenu( parent_, + browser_, profile_, page_navigator_, nodes[0]->parent(), diff --git a/chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.h b/chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.h index 5e5b56f..767c851 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.h +++ b/chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.h @@ -17,6 +17,7 @@ #include "ui/views/controls/menu/menu_delegate.h" class BookmarkNode; +class Browser; class Profile; namespace content { @@ -50,7 +51,7 @@ class BookmarkMenuDelegate : public BaseBookmarkModelObserver, HIDE_PERMANENT_FOLDERS }; - BookmarkMenuDelegate(Profile* profile, + BookmarkMenuDelegate(Browser* browser, content::PageNavigator* navigator, views::Widget* parent, int first_menu_id); @@ -161,6 +162,7 @@ class BookmarkMenuDelegate : public BaseBookmarkModelObserver, // Returns the menu whose id is |id|. views::MenuItemView* GetMenuByID(int id); + Browser* browser_; Profile* profile_; content::PageNavigator* page_navigator_; diff --git a/chrome/browser/ui/views/wrench_menu.cc b/chrome/browser/ui/views/wrench_menu.cc index c001827..f992827 100644 --- a/chrome/browser/ui/views/wrench_menu.cc +++ b/chrome/browser/ui/views/wrench_menu.cc @@ -958,7 +958,7 @@ void WrenchMenu::CreateBookmarkMenu() { views::Widget* parent = views::Widget::GetWidgetForNativeWindow( browser_->window()->GetNativeWindow()); bookmark_menu_delegate_.reset( - new BookmarkMenuDelegate(browser_->profile(), + new BookmarkMenuDelegate(browser_, NULL, parent, first_bookmark_command_id_)); |