summaryrefslogtreecommitdiffstats
path: root/views/controls/menu/native_menu_win.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_win.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_win.cc')
-rw-r--r--views/controls/menu/native_menu_win.cc15
1 files changed, 3 insertions, 12 deletions
diff --git a/views/controls/menu/native_menu_win.cc b/views/controls/menu/native_menu_win.cc
index 8a20381..55cfefe 100644
--- a/views/controls/menu/native_menu_win.cc
+++ b/views/controls/menu/native_menu_win.cc
@@ -496,18 +496,11 @@ NativeMenuWin::MenuAction NativeMenuWin::GetMenuAction() const {
}
void NativeMenuWin::AddMenuListener(MenuListener* listener) {
- listeners_.push_back(listener);
+ listeners_.AddObserver(listener);
}
void NativeMenuWin::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 NativeMenuWin::SetMinimumWidth(int width) {
@@ -560,9 +553,7 @@ LRESULT CALLBACK NativeMenuWin::MenuMessageHook(
// The first time this hook is called, that means the menu has successfully
// opened, so call the callback function on all of our listeners.
if (!this_ptr->listeners_called_) {
- for (unsigned int i = 0; i < this_ptr->listeners_.size(); ++i) {
- this_ptr->listeners_[i]->OnMenuOpened();
- }
+ FOR_EACH_OBSERVER(MenuListener, this_ptr->listeners_, OnMenuOpened());
this_ptr->listeners_called_ = true;
}