Chromium Code Reviews| Index: chrome/browser/ui/ash/system_tray_delegate_chromeos.cc |
| diff --git a/chrome/browser/ui/ash/system_tray_delegate_chromeos.cc b/chrome/browser/ui/ash/system_tray_delegate_chromeos.cc |
| index 7ee966b5c341e69e6ebb7bf2ad0b5e7dc9835242..569c798e272ac8d5e9004a2e01f566ba1e9b15a5 100644 |
| --- a/chrome/browser/ui/ash/system_tray_delegate_chromeos.cc |
| +++ b/chrome/browser/ui/ash/system_tray_delegate_chromeos.cc |
| @@ -89,6 +89,7 @@ |
| #include "chrome/browser/upgrade_detector.h" |
| #include "chrome/common/pref_names.h" |
| #include "chrome/common/url_constants.h" |
| +#include "chromeos/audio/cras_audio_handler.h" |
|
jennyz
2014/02/18 17:57:48
nit: cras_audio_handler.h is already included in t
|
| #include "chromeos/chromeos_switches.h" |
| #include "chromeos/dbus/dbus_thread_manager.h" |
| #include "chromeos/dbus/session_manager_client.h" |
| @@ -312,6 +313,9 @@ void SystemTrayDelegateChromeOS::Initialize() { |
| if (LoginState::IsInitialized()) |
| LoginState::Get()->AddObserver(this); |
| + |
| + if (CrasAudioHandler::IsInitialized()) |
| + CrasAudioHandler::Get()->AddAudioObserver(this); |
| } |
| void SystemTrayDelegateChromeOS::Shutdown() { |
| @@ -366,7 +370,10 @@ SystemTrayDelegateChromeOS::~SystemTrayDelegateChromeOS() { |
| ->RemoveSessionStateObserver(this); |
| LoginState::Get()->RemoveObserver(this); |
| - // Stop observing Drive operations. |
| + if (CrasAudioHandler::IsInitialized()) |
| + CrasAudioHandler::Get()->RemoveAudioObserver(this); |
| + |
| +// Stop observing Drive operations. |
| UnobserveDriveUpdates(); |
| policy::BrowserPolicyConnectorChromeOS* connector = |
| @@ -1207,6 +1214,33 @@ void SystemTrayDelegateChromeOS::InputMethodPropertyChanged( |
| GetSystemTrayNotifier()->NotifyRefreshIME(false); |
| } |
| +// Overridden from CrasAudioHandler::AudioObserver. |
| +void SystemTrayDelegateChromeOS::OnOutputVolumeChanged() { |
| + GetSystemTrayNotifier()->NotifyAudioOutputVolumeChanged(); |
| +} |
| + |
| +void SystemTrayDelegateChromeOS::OnOutputMuteChanged() { |
| + GetSystemTrayNotifier()->NotifyAudioOutputMuteChanged(); |
| +} |
| + |
| +void SystemTrayDelegateChromeOS::OnInputGainChanged() { |
| +} |
| + |
| +void SystemTrayDelegateChromeOS::OnInputMuteChanged() { |
| +} |
| + |
| +void SystemTrayDelegateChromeOS::OnAudioNodesChanged() { |
| + GetSystemTrayNotifier()->NotifyAudioNodesChanged(); |
| +} |
| + |
| +void SystemTrayDelegateChromeOS::OnActiveOutputNodeChanged() { |
| + GetSystemTrayNotifier()->NotifyAudioActiveOutputNodeChanged(); |
| +} |
| + |
| +void SystemTrayDelegateChromeOS::OnActiveInputNodeChanged() { |
| + GetSystemTrayNotifier()->NotifyAudioActiveInputNodeChanged(); |
| +} |
| + |
| // drive::JobListObserver overrides. |
| void SystemTrayDelegateChromeOS::OnJobAdded(const drive::JobInfo& job_info) { |
| OnJobUpdated(job_info); |