summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-21 02:06:35 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-21 02:06:35 +0000
commit5f04ff2455f6e1653f13bce60926742cd124d6d0 (patch)
tree9478d0c034f05914790710b82d2054cdcf74386f
parent6cad138f674ab8c0d8a6b203e42788e747119452 (diff)
downloadchromium_src-5f04ff2455f6e1653f13bce60926742cd124d6d0.zip
chromium_src-5f04ff2455f6e1653f13bce60926742cd124d6d0.tar.gz
chromium_src-5f04ff2455f6e1653f13bce60926742cd124d6d0.tar.bz2
Remove browser::FindLastActiveWithProfile usage in Views bookmark code.
BUG=129187 Review URL: https://chromiumcodereview.appspot.com/10598005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143331 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc6
-rw-r--r--chrome/browser/ui/views/bookmarks/bookmark_context_menu.cc4
-rw-r--r--chrome/browser/ui/views/bookmarks/bookmark_context_menu.h4
-rw-r--r--chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views.cc19
-rw-r--r--chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views.h6
-rw-r--r--chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views_win.cc11
-rw-r--r--chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views_win.h1
-rw-r--r--chrome/browser/ui/views/bookmarks/bookmark_context_menu_test.cc28
-rw-r--r--chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.cc4
-rw-r--r--chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.h4
-rw-r--r--chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.cc7
-rw-r--r--chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.h4
-rw-r--r--chrome/browser/ui/views/wrench_menu.cc2
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_));