Index: chrome/browser/chromeos/system/ash_system_tray_delegate.cc |
diff --git a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc |
index b2b78a5013e65e3897b319b146f39685a8f967c3..a64b24f0548bf4c90bf306525a798e29a4066693 100644 |
--- a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc |
+++ b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc |
@@ -21,6 +21,7 @@ |
#include "ash/system/tray/system_tray.h" |
#include "ash/system/user/update_observer.h" |
#include "ash/system/user/user_observer.h" |
+#include "ash/volume_control_delegate.h" |
#include "base/bind_helpers.h" |
#include "base/callback.h" |
#include "base/chromeos/chromeos_version.h" |
@@ -56,6 +57,7 @@ |
#include "chrome/browser/lifetime/application_lifetime.h" |
#include "chrome/browser/prefs/pref_service.h" |
#include "chrome/browser/profiles/profile_manager.h" |
+#include "chrome/browser/ui/ash/volume_controller_chromeos.h" |
#include "chrome/browser/ui/browser_finder.h" |
#include "chrome/browser/ui/browser.h" |
#include "chrome/browser/ui/chrome_pages.h" |
@@ -171,7 +173,9 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate, |
search_key_mapped_to_(input_method::kSearchKey), |
screen_locked_(false), |
connected_network_state_(STATE_UNKNOWN), |
- data_promo_notification_(new DataPromoNotification()) { |
+ data_promo_notification_(new DataPromoNotification()), |
+ volume_control_delegate_(ALLOW_THIS_IN_INITIALIZER_LIST( |
+ new VolumeController)) { |
AudioHandler::GetInstance()->AddVolumeObserver(this); |
DBusThreadManager::Get()->GetPowerManagerClient()->AddObserver(this); |
DBusThreadManager::Get()->GetPowerManagerClient()->RequestStatusUpdate( |
@@ -337,22 +341,6 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate, |
chrome::ShowHelp(GetAppropriateBrowser(), chrome::HELP_SOURCE_MENU); |
} |
- virtual bool IsAudioMuted() const OVERRIDE { |
- return AudioHandler::GetInstance()->IsMuted(); |
- } |
- |
- virtual void SetAudioMuted(bool muted) OVERRIDE { |
- return AudioHandler::GetInstance()->SetMuted(muted); |
- } |
- |
- virtual float GetVolumeLevel() const OVERRIDE { |
- return AudioHandler::GetInstance()->GetVolumePercent() / 100.f; |
- } |
- |
- virtual void SetVolumeLevel(float level) OVERRIDE { |
- AudioHandler::GetInstance()->SetVolumePercent(level * 100.f); |
- } |
- |
virtual bool IsCapsLockOn() const OVERRIDE { |
input_method::InputMethodManager* ime_manager = |
input_method::InputMethodManager::GetInstance(); |
@@ -721,6 +709,15 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate, |
BaseLoginDisplayHost::default_host()->OpenProxySettings(); |
} |
+ virtual ash::VolumeControlDelegate* GetVolumeControlDelegate() const OVERRIDE |
+ { |
+ return volume_control_delegate_.get(); |
+ } |
+ |
+ virtual void SetVolumeControlDelegate( |
+ scoped_ptr<ash::VolumeControlDelegate> delegate) OVERRIDE { |
+ volume_control_delegate_.swap(delegate); |
+ } |
private: |
// Returns the last active browser. If there is no such browser, creates a new |
// browser window with an empty tab and returns it. |
@@ -1250,6 +1247,8 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate, |
scoped_ptr<DataPromoNotification> data_promo_notification_; |
+ scoped_ptr<ash::VolumeControlDelegate> volume_control_delegate_; |
+ |
DISALLOW_COPY_AND_ASSIGN(SystemTrayDelegate); |
}; |