| Index: extensions/browser/api/audio/audio_apitest.cc
|
| diff --git a/extensions/browser/api/audio/audio_apitest.cc b/extensions/browser/api/audio/audio_apitest.cc
|
| index 20b73072598938ac0784c5bf9c21557414fcb51d..e73034d5a184d61e5ddfd92f0ecbf2fc9d269117 100644
|
| --- a/extensions/browser/api/audio/audio_apitest.cc
|
| +++ b/extensions/browser/api/audio/audio_apitest.cc
|
| @@ -75,10 +75,10 @@ const AudioNodeInfo kUSBCameraMic = {
|
|
|
| AudioNode CreateAudioNode(const AudioNodeInfo& info, int version) {
|
| return AudioNode(info.is_input, info.id, version == 2,
|
| - // stable_device_id:
|
| - info.stable_id ^ (version == 1 ? 0 : 0xFFFF),
|
| - // stable_device_id_old:
|
| - version == 1 ? 0 : info.stable_id, info.device_name,
|
| + // stable_device_id_v1:
|
| + info.stable_id,
|
| + // stable_device_id_v2:
|
| + version == 2 ? info.stable_id ^ 0xFFFF : 0, info.device_name,
|
| info.type, info.name, false, 0);
|
| }
|
|
|
| @@ -138,8 +138,8 @@ IN_PROC_BROWSER_TEST_F(AudioApiTest, AudioV2StableId) {
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(AudioApiTest, OnLevelChangedOutputDevice) {
|
| - AudioNodeList audio_nodes = {CreateAudioNode(kJabraSpeaker1, 1),
|
| - CreateAudioNode(kHDMIOutput, 1)};
|
| + AudioNodeList audio_nodes = {CreateAudioNode(kJabraSpeaker1, 2),
|
| + CreateAudioNode(kHDMIOutput, 2)};
|
| SetUpCrasAudioHandlerWithTestingNodes(audio_nodes);
|
|
|
| // Verify the jabra speaker is the active output device.
|
| @@ -168,8 +168,8 @@ IN_PROC_BROWSER_TEST_F(AudioApiTest, OnLevelChangedOutputDevice) {
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(AudioApiTest, OnOutputMuteChanged) {
|
| - AudioNodeList audio_nodes = {CreateAudioNode(kJabraSpeaker1, 1),
|
| - CreateAudioNode(kHDMIOutput, 1)};
|
| + AudioNodeList audio_nodes = {CreateAudioNode(kJabraSpeaker1, 2),
|
| + CreateAudioNode(kHDMIOutput, 2)};
|
| SetUpCrasAudioHandlerWithTestingNodes(audio_nodes);
|
|
|
| // Verify the jabra speaker is the active output device.
|
| @@ -197,12 +197,12 @@ IN_PROC_BROWSER_TEST_F(AudioApiTest, OnOutputMuteChanged) {
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(AudioApiTest, OnInputMuteChanged) {
|
| - AudioNodeList audio_nodes = {CreateAudioNode(kJabraMic1, 1),
|
| - CreateAudioNode(kUSBCameraMic, 1)};
|
| + AudioNodeList audio_nodes = {CreateAudioNode(kJabraMic1, 2),
|
| + CreateAudioNode(kUSBCameraMic, 2)};
|
| SetUpCrasAudioHandlerWithTestingNodes(audio_nodes);
|
|
|
| // Set the jabra mic to be the active input device.
|
| - AudioDevice jabra_mic(CreateAudioNode(kJabraMic1, 1));
|
| + AudioDevice jabra_mic(CreateAudioNode(kJabraMic1, 2));
|
| cras_audio_handler_->SwitchToDevice(
|
| jabra_mic, true, chromeos::CrasAudioHandler::ACTIVATE_BY_USER);
|
| EXPECT_EQ(kJabraMic1.id, cras_audio_handler_->GetPrimaryActiveInputNode());
|
| @@ -226,7 +226,7 @@ IN_PROC_BROWSER_TEST_F(AudioApiTest, OnInputMuteChanged) {
|
| EXPECT_TRUE(result_catcher.GetNextResult()) << result_catcher.message();
|
| }
|
|
|
| -IN_PROC_BROWSER_TEST_F(AudioApiTest, OnNodesChangedAddNodes) {
|
| +IN_PROC_BROWSER_TEST_F(AudioApiTest, OnNodesChangedAddNodesV1) {
|
| AudioNodeList audio_nodes = {CreateAudioNode(kJabraSpeaker1, 1),
|
| CreateAudioNode(kJabraSpeaker2, 1)};
|
| SetUpCrasAudioHandlerWithTestingNodes(audio_nodes);
|
| @@ -253,7 +253,34 @@ IN_PROC_BROWSER_TEST_F(AudioApiTest, OnNodesChangedAddNodes) {
|
| EXPECT_TRUE(result_catcher.GetNextResult()) << result_catcher.message();
|
| }
|
|
|
| -IN_PROC_BROWSER_TEST_F(AudioApiTest, OnNodesChangedRemoveNodes) {
|
| +IN_PROC_BROWSER_TEST_F(AudioApiTest, OnNodesChangedAddNodesV2) {
|
| + AudioNodeList audio_nodes = {CreateAudioNode(kJabraSpeaker1, 2),
|
| + CreateAudioNode(kJabraSpeaker2, 2)};
|
| + SetUpCrasAudioHandlerWithTestingNodes(audio_nodes);
|
| + const size_t init_device_size = audio_nodes.size();
|
| +
|
| + AudioDeviceList audio_devices;
|
| + cras_audio_handler_->GetAudioDevices(&audio_devices);
|
| + EXPECT_EQ(init_device_size, audio_devices.size());
|
| +
|
| + // Load background app.
|
| + ResultCatcher result_catcher;
|
| + ExtensionTestMessageListener load_listener("loaded", false);
|
| + ASSERT_TRUE(LoadApp("api_test/audio/add_nodes"));
|
| + ASSERT_TRUE(load_listener.WaitUntilSatisfied());
|
| +
|
| + // Plug in HDMI output.
|
| + audio_nodes.push_back(CreateAudioNode(kHDMIOutput, 2));
|
| + ChangeAudioNodes(audio_nodes);
|
| + cras_audio_handler_->GetAudioDevices(&audio_devices);
|
| + EXPECT_EQ(init_device_size + 1, audio_devices.size());
|
| +
|
| + // Verify the background app got the OnNodesChanged event
|
| + // with the new node added.
|
| + EXPECT_TRUE(result_catcher.GetNextResult()) << result_catcher.message();
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(AudioApiTest, OnNodesChangedRemoveNodesV1) {
|
| AudioNodeList audio_nodes = {CreateAudioNode(kJabraMic1, 1),
|
| CreateAudioNode(kJabraMic2, 1),
|
| CreateAudioNode(kUSBCameraMic, 1)};
|
| @@ -281,6 +308,34 @@ IN_PROC_BROWSER_TEST_F(AudioApiTest, OnNodesChangedRemoveNodes) {
|
| EXPECT_TRUE(result_catcher.GetNextResult()) << result_catcher.message();
|
| }
|
|
|
| +IN_PROC_BROWSER_TEST_F(AudioApiTest, OnNodesChangedRemoveNodesV2) {
|
| + AudioNodeList audio_nodes = {CreateAudioNode(kJabraMic1, 2),
|
| + CreateAudioNode(kJabraMic2, 2),
|
| + CreateAudioNode(kUSBCameraMic, 2)};
|
| + SetUpCrasAudioHandlerWithTestingNodes(audio_nodes);
|
| + const size_t init_device_size = audio_nodes.size();
|
| +
|
| + AudioDeviceList audio_devices;
|
| + cras_audio_handler_->GetAudioDevices(&audio_devices);
|
| + EXPECT_EQ(init_device_size, audio_devices.size());
|
| +
|
| + // Load background app.
|
| + ResultCatcher result_catcher;
|
| + ExtensionTestMessageListener load_listener("loaded", false);
|
| + ASSERT_TRUE(LoadApp("api_test/audio/remove_nodes"));
|
| + ASSERT_TRUE(load_listener.WaitUntilSatisfied());
|
| +
|
| + // Remove camera mic.
|
| + audio_nodes.erase(audio_nodes.begin() + init_device_size - 1);
|
| + ChangeAudioNodes(audio_nodes);
|
| + cras_audio_handler_->GetAudioDevices(&audio_devices);
|
| + EXPECT_EQ(init_device_size - 1, audio_devices.size());
|
| +
|
| + // Verify the background app got the onNodesChanged event
|
| + // with the last node removed.
|
| + EXPECT_TRUE(result_catcher.GetNextResult()) << result_catcher.message();
|
| +}
|
| +
|
| #endif // OS_CHROMEOS
|
|
|
| } // namespace extensions
|
|
|