OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/status_icons/status_icon.h" | 5 #include "chrome/browser/status_icons/status_icon.h" |
6 | 6 |
| 7 #include "app/menus/menu_model.h" |
| 8 |
| 9 StatusIcon::StatusIcon() |
| 10 { |
| 11 } |
| 12 |
| 13 StatusIcon::~StatusIcon() { |
| 14 } |
| 15 |
7 void StatusIcon::AddObserver(Observer* observer) { | 16 void StatusIcon::AddObserver(Observer* observer) { |
8 observers_.AddObserver(observer); | 17 observers_.AddObserver(observer); |
9 } | 18 } |
10 | 19 |
11 void StatusIcon::RemoveObserver(Observer* observer) { | 20 void StatusIcon::RemoveObserver(Observer* observer) { |
12 observers_.RemoveObserver(observer); | 21 observers_.RemoveObserver(observer); |
13 } | 22 } |
14 | 23 |
| 24 bool StatusIcon::HasObservers() { |
| 25 return observers_.size() > 0; |
| 26 } |
| 27 |
15 void StatusIcon::DispatchClickEvent() { | 28 void StatusIcon::DispatchClickEvent() { |
16 FOR_EACH_OBSERVER(Observer, observers_, OnClicked()); | 29 FOR_EACH_OBSERVER(Observer, observers_, OnClicked()); |
17 } | 30 } |
| 31 |
| 32 void StatusIcon::SetContextMenu(menus::MenuModel* menu) { |
| 33 context_menu_contents_.reset(menu); |
| 34 ResetContextMenu(menu); |
| 35 } |
OLD | NEW |