From 97b6011428a296880615974eb66b8cb709f80e03 Mon Sep 17 00:00:00 2001 From: "oshima@chromium.org" Date: Wed, 27 Jan 2010 22:36:45 +0000 Subject: Insert methods for SimpleMenuModel Don't recreate AppMenuModel in ToolbarView as it now supports updating label dynamically. BUG=none TEST=manual: enabling/disabling bookmark sync will update the bookmark sync label correcty. Review URL: http://codereview.chromium.org/551171 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37333 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/views/toolbar_view.cc | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'chrome/browser/views/toolbar_view.cc') diff --git a/chrome/browser/views/toolbar_view.cc b/chrome/browser/views/toolbar_view.cc index 1ff6636..ead67d3 100644 --- a/chrome/browser/views/toolbar_view.cc +++ b/chrome/browser/views/toolbar_view.cc @@ -121,6 +121,9 @@ void ToolbarView::Init(Profile* profile) { show_home_button_.Init(prefs::kShowHomeButton, profile->GetPrefs(), this); SetProfile(profile); + if (!app_menu_model_.get()) { + SetAppMenuModel(new AppMenuModel(this, browser_)); + } } void ToolbarView::SetProfile(Profile* profile) { @@ -139,6 +142,11 @@ void ToolbarView::Update(TabContents* tab, bool should_restore_state) { browser_actions_->RefreshBrowserActionViews(); } +void ToolbarView::SetAppMenuModel(AppMenuModel* model) { + app_menu_model_.reset(model); + app_menu_menu_.reset(new views::Menu2(app_menu_model_.get())); +} + //////////////////////////////////////////////////////////////////////////////// // ToolbarView, AccessibleToolbarView overrides: @@ -713,9 +721,5 @@ void ToolbarView::RunPageMenu(const gfx::Point& pt) { } void ToolbarView::RunAppMenu(const gfx::Point& pt) { - // We always rebuild the app menu so that we can get the current state of - // the sync system. - app_menu_model_.reset(new AppMenuModel(this, browser_)); - app_menu_menu_.reset(new views::Menu2(app_menu_model_.get())); app_menu_menu_->RunMenuAt(pt, views::Menu2::ALIGN_TOPRIGHT); } -- cgit v1.1