summaryrefslogtreecommitdiffstats
path: root/views/controls/menu/native_menu_gtk.cc
diff options
context:
space:
mode:
authortfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-14 16:06:31 +0000
committertfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-14 16:06:31 +0000
commit1e9cb7ee3e93730b71ed5f4e57725941254c327d (patch)
tree8c0ca1ead8e49f2446c8e258cc421632b11c9771 /views/controls/menu/native_menu_gtk.cc
parentc1e57f4653b85df818e1f86fc1562c22261844a4 (diff)
downloadchromium_src-1e9cb7ee3e93730b71ed5f4e57725941254c327d.zip
chromium_src-1e9cb7ee3e93730b71ed5f4e57725941254c327d.tar.gz
chromium_src-1e9cb7ee3e93730b71ed5f4e57725941254c327d.tar.bz2
views: Make use of ObserverList API to add/remove MenuListeners from NativeMenu.
R=sky@chromium.org Review URL: http://codereview.chromium.org/7888032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101082 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/controls/menu/native_menu_gtk.cc')
-rw-r--r--views/controls/menu/native_menu_gtk.cc15
1 files changed, 3 insertions, 12 deletions
diff --git a/views/controls/menu/native_menu_gtk.cc b/views/controls/menu/native_menu_gtk.cc
index 50810bb..7e60d45 100644
--- a/views/controls/menu/native_menu_gtk.cc
+++ b/views/controls/menu/native_menu_gtk.cc
@@ -120,9 +120,7 @@ void NativeMenuGtk::RunMenuAt(const gfx::Point& point, int alignment) {
DCHECK(menu_hidden_);
menu_hidden_ = false;
- for (unsigned int i = 0; i < listeners_.size(); ++i) {
- listeners_[i]->OnMenuOpened();
- }
+ FOR_EACH_OBSERVER(MenuListener, listeners_, OnMenuOpened());
// Listen for "hide" signal so that we know when to return from the blocking
// RunMenuAt call.
@@ -228,18 +226,11 @@ NativeMenuGtk::MenuAction NativeMenuGtk::GetMenuAction() const {
}
void NativeMenuGtk::AddMenuListener(MenuListener* listener) {
- listeners_.push_back(listener);
+ listeners_.AddObserver(listener);
}
void NativeMenuGtk::RemoveMenuListener(MenuListener* listener) {
- for (std::vector<MenuListener*>::iterator iter = listeners_.begin();
- iter != listeners_.end();
- ++iter) {
- if (*iter == listener) {
- listeners_.erase(iter);
- return;
- }
- }
+ listeners_.RemoveObserver(listener);
}
void NativeMenuGtk::SetMinimumWidth(int width) {