diff options
author | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-21 17:42:40 +0000 |
---|---|---|
committer | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-21 17:42:40 +0000 |
commit | 2b9c46d971042edef955d1ef615f841b1d058841 (patch) | |
tree | 7879dd9ad29c69548fa7559fc5ba319411826a87 /chrome/browser/views | |
parent | 02a791689967ea7779376b41dc4515aed1434c60 (diff) | |
download | chromium_src-2b9c46d971042edef955d1ef615f841b1d058841.zip chromium_src-2b9c46d971042edef955d1ef615f841b1d058841.tar.gz chromium_src-2b9c46d971042edef955d1ef615f841b1d058841.tar.bz2 |
Add --disable-domui-menu switch
I used label/goto in ToolkitView::RunMenu. It sucks, but probably better because the change is smaller than other approach (for branch). Please let me know if you have better idea.
BUG=chromium-os:6497
TEST=none
Review URL: http://codereview.chromium.org/4046001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63376 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views')
-rw-r--r-- | chrome/browser/views/toolbar_view.cc | 56 | ||||
-rw-r--r-- | chrome/browser/views/toolbar_view.h | 14 |
2 files changed, 39 insertions, 31 deletions
diff --git a/chrome/browser/views/toolbar_view.cc b/chrome/browser/views/toolbar_view.cc index f349e08..ded8a63 100644 --- a/chrome/browser/views/toolbar_view.cc +++ b/chrome/browser/views/toolbar_view.cc @@ -38,9 +38,8 @@ #include "chrome/browser/chromeos/cros/update_library.h" #include "chrome/browser/chromeos/dom_ui/wrench_menu_ui.h" #include "views/controls/menu/menu_2.h" -#else -#include "chrome/browser/views/wrench_menu.h" #endif +#include "chrome/browser/views/wrench_menu.h" // The space between items is 4 px in general. const int ToolbarView::kStandardSpacing = 4; @@ -121,10 +120,11 @@ void ToolbarView::Init(Profile* profile) { browser_, BackForwardMenuModel::FORWARD_MENU)); wrench_menu_model_.reset(new WrenchMenuModel(this, browser_)); #if defined(OS_CHROMEOS) - wrench_menu_.reset( - chromeos::WrenchMenuUI::CreateMenu2(wrench_menu_model_.get())); + if (chromeos::MenuUI::IsEnabled()) { + wrench_menu_2_.reset( + chromeos::WrenchMenuUI::CreateMenu2(wrench_menu_model_.get())); + } #endif - back_ = new views::ButtonDropDown(this, back_menu_model_.get()); back_->set_triggerable_event_flags(views::Event::EF_LEFT_BUTTON_DOWN | views::Event::EF_MIDDLE_BUTTON_DOWN); @@ -231,18 +231,23 @@ bool ToolbarView::IsAppMenuFocused() { void ToolbarView::AddMenuListener(views::MenuListener* listener) { #if defined(OS_CHROMEOS) - DCHECK(wrench_menu_.get()); - wrench_menu_->AddMenuListener(listener); -#else - menu_listeners_.push_back(listener); + if (chromeos::MenuUI::IsEnabled()) { + DCHECK(wrench_menu_2_.get()); + wrench_menu_2_->AddMenuListener(listener); + return; + } #endif + menu_listeners_.push_back(listener); } void ToolbarView::RemoveMenuListener(views::MenuListener* listener) { #if defined(OS_CHROMEOS) - DCHECK(wrench_menu_.get()); - wrench_menu_->RemoveMenuListener(listener); -#else + if (chromeos::MenuUI::IsEnabled()) { + DCHECK(wrench_menu_2_.get()); + wrench_menu_2_->RemoveMenuListener(listener); + return; + } +#endif for (std::vector<views::MenuListener*>::iterator i(menu_listeners_.begin()); i != menu_listeners_.end(); ++i) { if (*i == listener) { @@ -250,7 +255,6 @@ void ToolbarView::RemoveMenuListener(views::MenuListener* listener) { return; } } -#endif } //////////////////////////////////////////////////////////////////////////////// @@ -285,15 +289,19 @@ void ToolbarView::RunMenu(views::View* source, const gfx::Point& /* pt */) { bool destroyed_flag = false; destroyed_flag_ = &destroyed_flag; #if defined(OS_CHROMEOS) - gfx::Point screen_loc; - views::View::ConvertPointToScreen(app_menu_, &screen_loc); - gfx::Rect bounds(screen_loc, app_menu_->size()); - if (base::i18n::IsRTL()) - bounds.set_x(bounds.x() - app_menu_->size().width()); - wrench_menu_->RunMenuAt(gfx::Point(bounds.right(), bounds.bottom()), - views::Menu2::ALIGN_TOPRIGHT); - -#else // for all other views + if (chromeos::MenuUI::IsEnabled()) { + gfx::Point screen_loc; + views::View::ConvertPointToScreen(app_menu_, &screen_loc); + gfx::Rect bounds(screen_loc, app_menu_->size()); + if (base::i18n::IsRTL()) + bounds.set_x(bounds.x() - app_menu_->size().width()); + wrench_menu_2_->RunMenuAt(gfx::Point(bounds.right(), bounds.bottom()), + views::Menu2::ALIGN_TOPRIGHT); + // TODO(oshima): nuke this once we made decision about go or no go + // for domui menu. + goto cleanup; + } +#endif wrench_menu_ = new WrenchMenu(browser_); wrench_menu_->Init(wrench_menu_model_.get()); @@ -301,8 +309,10 @@ void ToolbarView::RunMenu(views::View* source, const gfx::Point& /* pt */) { menu_listeners_[i]->OnMenuOpened(); wrench_menu_->RunMenu(app_menu_); -#endif +#if defined(OS_CHROMEOS) +cleanup: +#endif if (destroyed_flag) return; destroyed_flag_ = NULL; diff --git a/chrome/browser/views/toolbar_view.h b/chrome/browser/views/toolbar_view.h index 7f50af9..8715dc5 100644 --- a/chrome/browser/views/toolbar_view.h +++ b/chrome/browser/views/toolbar_view.h @@ -31,9 +31,8 @@ class Profile; namespace views { class Menu2; } // namespace views -#else -class WrenchMenu; #endif +class WrenchMenu; // The Browser Window's toolbar. class ToolbarView : public AccessiblePaneView, @@ -200,18 +199,17 @@ class ToolbarView : public AccessiblePaneView, scoped_ptr<menus::SimpleMenuModel> wrench_menu_model_; #if defined(OS_CHROMEOS) - // Wrench menu. - scoped_ptr<views::Menu2> wrench_menu_; - - // MenuLister is managed by Menu2 on chromeos. + // Wrench menu using domui menu. + // MenuLister is managed by Menu2. + scoped_ptr<views::Menu2> wrench_menu_2_; +#endif -#else // Wrench menu. scoped_refptr<WrenchMenu> wrench_menu_; // Vector of listeners to receive callbacks when the menu opens. std::vector<views::MenuListener*> menu_listeners_; -#endif + // The animation that makes the update reminder pulse. scoped_ptr<SlideAnimation> update_reminder_animation_; |