Add a new audio extension event OnMuteChanged.
commit170e7fbfa745726d13a84aa5d8edc4720f7ca0d4
authorjennyz <jennyz@chromium.org>
Mon, 30 Mar 2015 23:37:39 +0000 (30 16:37 -0700)
committerCommit bot <commit-bot@chromium.org>
Mon, 30 Mar 2015 23:38:24 +0000 (30 23:38 +0000)
tree69735615f37e0d91b7c9db8887abf064d3eb1ec6
parent5f3a341cd644f5689736951ad1e8588e03cf90b7
Add a new audio extension event OnMuteChanged.

This is the part of audio extension redesign efforts. The original audio extension only has one OnDeviceChanged event without any input arguments to notify all sorts of audio events, which is not efficient. The hotrod app has to query getInfo to get all sets of the devices with properties, comparing the old data to decide what change really happens and handles the change. Therefore, in the new design, we will add new events to accurately report what exact audio change occurs. Eventually, we will migrate to use the new events and retire the old OnDeviceChanged event.

See details in design doc:
https://docs.google.com/a/google.com/document/d/1YFFLwX4mcKJyuAsZB13GhDid0MEt0QguKX0AxgvBoko/edit?usp=sharing

BUG=429312
TBR=mnissler

Review URL: https://codereview.chromium.org/1033603006

Cr-Commit-Position: refs/heads/master@{#322907}
26 files changed:
ash/system/audio/audio_observer.h
ash/system/audio/tray_audio.cc
ash/system/audio/tray_audio.h
ash/system/tray/system_tray_notifier.cc
ash/system/tray/system_tray_notifier.h
chrome/browser/policy/policy_browsertest.cc
chrome/browser/ui/app_list/start_page_service.cc
chrome/browser/ui/ash/system_tray_delegate_chromeos.cc
chrome/browser/ui/ash/system_tray_delegate_chromeos.h
chrome/browser/ui/ash/volume_controller_chromeos.cc
chrome/browser/ui/ash/volume_controller_chromeos.h
chromeos/audio/cras_audio_handler.cc
chromeos/audio/cras_audio_handler.h
chromeos/audio/cras_audio_handler_unittest.cc
extensions/browser/api/audio/audio_api.cc
extensions/browser/api/audio/audio_api.h
extensions/browser/api/audio/audio_apitest.cc
extensions/browser/api/audio/audio_service.h
extensions/browser/api/audio/audio_service_chromeos.cc
extensions/common/api/audio.idl
extensions/shell/browser/shell_audio_controller_chromeos.cc
extensions/shell/browser/shell_audio_controller_chromeos.h
extensions/test/data/api_test/audio/input_mute_change/background.js [new file with mode: 0644]
extensions/test/data/api_test/audio/input_mute_change/manifest.json [new file with mode: 0644]
extensions/test/data/api_test/audio/output_mute_change/background.js [new file with mode: 0644]
extensions/test/data/api_test/audio/output_mute_change/manifest.json [new file with mode: 0644]