Index: chrome/browser/chromeos/extensions/extension_system_event_observer.cc |
diff --git a/chrome/browser/chromeos/extensions/extension_system_event_observer.cc b/chrome/browser/chromeos/extensions/extension_system_event_observer.cc |
index 3938d9c7a72beae4584cd334469ea2bd3c9080f6..af3eb763838c7c4aea872bc4235e461878c19883 100644 |
--- a/chrome/browser/chromeos/extensions/extension_system_event_observer.cc |
+++ b/chrome/browser/chromeos/extensions/extension_system_event_observer.cc |
@@ -5,6 +5,7 @@ |
#include "chrome/browser/chromeos/extensions/extension_system_event_observer.h" |
#include "chrome/browser/extensions/api/system_private/system_private_api.h" |
+#include "chromeos/audio/cras_audio_handler.h" |
#include "chromeos/dbus/dbus_thread_manager.h" |
namespace chromeos { |
@@ -12,11 +13,14 @@ namespace chromeos { |
ExtensionSystemEventObserver::ExtensionSystemEventObserver() { |
DBusThreadManager::Get()->GetPowerManagerClient()->AddObserver(this); |
DBusThreadManager::Get()->GetSessionManagerClient()->AddObserver(this); |
+ CrasAudioHandler::Get()->AddAudioObserver(this); |
} |
ExtensionSystemEventObserver::~ExtensionSystemEventObserver() { |
DBusThreadManager::Get()->GetPowerManagerClient()->RemoveObserver(this); |
DBusThreadManager::Get()->GetSessionManagerClient()->RemoveObserver(this); |
+ if (CrasAudioHandler::IsInitialized()) |
+ CrasAudioHandler::Get()->RemoveAudioObserver(this); |
} |
void ExtensionSystemEventObserver::BrightnessChanged(int level, |
@@ -33,4 +37,19 @@ void ExtensionSystemEventObserver::ScreenIsUnlocked() { |
extensions::DispatchScreenUnlockedEvent(); |
} |
+void ExtensionSystemEventObserver::OnOutputNodeVolumeChanged(uint64_t node_id, |
+ int volume) { |
+ CrasAudioHandler* audio_handler = CrasAudioHandler::Get(); |
+ extensions::DispatchVolumeChangedEvent( |
+ audio_handler->GetOutputVolumePercent(), audio_handler->IsOutputMuted()); |
+} |
+ |
+void ExtensionSystemEventObserver::OnOutputMuteChanged( |
+ bool /* mute_on */, |
+ bool /* system_adjust */) { |
+ CrasAudioHandler* audio_handler = CrasAudioHandler::Get(); |
sky
2016/10/20 15:41:07
This is the same as OnOutputMuteChanged. Move to c
msw
2016/10/20 16:15:32
Done.
|
+ extensions::DispatchVolumeChangedEvent( |
+ audio_handler->GetOutputVolumePercent(), audio_handler->IsOutputMuted()); |
+} |
+ |
} // namespace chromeos |