| Index: chrome/browser/chromeos/status/volume_menu_button.cc
|
| ===================================================================
|
| --- chrome/browser/chromeos/status/volume_menu_button.cc (revision 118753)
|
| +++ chrome/browser/chromeos/status/volume_menu_button.cc (working copy)
|
| @@ -9,6 +9,7 @@
|
| #include "base/string_number_conversions.h"
|
| #include "chrome/browser/chromeos/audio/audio_handler.h"
|
| #include "chrome/browser/chromeos/status/status_area_bubble.h"
|
| +#include "chrome/browser/chromeos/system/runtime_environment.h"
|
| #include "chrome/browser/chromeos/view_ids.h"
|
| #include "grit/generated_resources.h"
|
| #include "grit/theme_resources.h"
|
| @@ -172,12 +173,16 @@
|
| : StatusAreaButton(delegate, this) {
|
| set_id(VIEW_ID_STATUS_BUTTON_VOLUME);
|
| UpdateIcon();
|
| - // TODO(achuith): Query SystemKeyEventListener to determine when we
|
| - // can show statusbar volume controls.
|
| - SetVisible(false);
|
| +
|
| + DCHECK(SystemKeyEventListener::GetInstance() ||
|
| + !system::runtime_environment::IsRunningOnChromeOS());
|
| + if (SystemKeyEventListener::GetInstance())
|
| + SystemKeyEventListener::GetInstance()->AddStatusAreaVolumeObserver(this);
|
| }
|
|
|
| VolumeMenuButton::~VolumeMenuButton() {
|
| + if (SystemKeyEventListener::GetInstance())
|
| + SystemKeyEventListener::GetInstance()->RemoveStatusAreaVolumeObserver(this);
|
| }
|
|
|
| int VolumeMenuButton::icon_width() {
|
| @@ -233,4 +238,8 @@
|
| delete menu_runner;
|
| }
|
|
|
| +void VolumeMenuButton::ShowStatusAreaVolume(bool show) {
|
| + SetVisible(show);
|
| +}
|
| +
|
| } // namespace chromeos
|
|
|