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 |