In particular, add an API to crash the service so that tests can crash the service and verify that everything works correctly in that scenario.
Issue 843490 has been merged into this issue.
Probably also desired: get rid of flags kDisableAudioOutput, kFailAudioStreamCreation, kUseFileForFakeAudioCapture, and kMuteAudio, and make the muting tests in WebRtcGetUserMediaBrowserTest work with the audio service out of process.
#3 sounds like a good idea.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4f457d21ccf90ba4beabc8719607746e22c9d92b commit 4f457d21ccf90ba4beabc8719607746e22c9d92b Author: Guido Urdaneta <guidou@chromium.org> Date: Tue Jun 05 11:06:52 2018 Add testing API to allow tests to crash the audio service This also includes a browser tests that verifies that the browser process can recover from a crash in the audio service and that the audio service restarts. Bug: 845142, 845951 Change-Id: Ie8ec4631b2a2418dbb51f4a45a396412a5cf8155 Reviewed-on: https://chromium-review.googlesource.com/1068683 Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Reviewed-by: Henrik Boström <hbos@chromium.org> Reviewed-by: Dale Curtis <dalecurtis@chromium.org> Reviewed-by: Olga Sharonova <olka@chromium.org> Commit-Queue: Guido Urdaneta <guidou@chromium.org> Cr-Commit-Position: refs/heads/master@{#564440} [modify] https://crrev.com/4f457d21ccf90ba4beabc8719607746e22c9d92b/content/browser/webrtc/webrtc_getusermedia_browsertest.cc [modify] https://crrev.com/4f457d21ccf90ba4beabc8719607746e22c9d92b/content/public/app/mojo/content_browser_manifest.json [modify] https://crrev.com/4f457d21ccf90ba4beabc8719607746e22c9d92b/content/public/test/DEPS [add] https://crrev.com/4f457d21ccf90ba4beabc8719607746e22c9d92b/content/public/test/audio_service_test_helper.cc [add] https://crrev.com/4f457d21ccf90ba4beabc8719607746e22c9d92b/content/public/test/audio_service_test_helper.h [modify] https://crrev.com/4f457d21ccf90ba4beabc8719607746e22c9d92b/content/public/utility/content_utility_client.h [modify] https://crrev.com/4f457d21ccf90ba4beabc8719607746e22c9d92b/content/shell/utility/shell_content_utility_client.cc [modify] https://crrev.com/4f457d21ccf90ba4beabc8719607746e22c9d92b/content/shell/utility/shell_content_utility_client.h [modify] https://crrev.com/4f457d21ccf90ba4beabc8719607746e22c9d92b/content/test/BUILD.gn [modify] https://crrev.com/4f457d21ccf90ba4beabc8719607746e22c9d92b/content/test/data/media/getusermedia.html [modify] https://crrev.com/4f457d21ccf90ba4beabc8719607746e22c9d92b/content/utility/utility_service_factory.cc [modify] https://crrev.com/4f457d21ccf90ba4beabc8719607746e22c9d92b/content/utility/utility_service_factory.h [modify] https://crrev.com/4f457d21ccf90ba4beabc8719607746e22c9d92b/services/audio/manifest.json [modify] https://crrev.com/4f457d21ccf90ba4beabc8719607746e22c9d92b/services/audio/public/mojom/BUILD.gn [add] https://crrev.com/4f457d21ccf90ba4beabc8719607746e22c9d92b/services/audio/public/mojom/testing_api.mojom [modify] https://crrev.com/4f457d21ccf90ba4beabc8719607746e22c9d92b/services/audio/service.cc [modify] https://crrev.com/4f457d21ccf90ba4beabc8719607746e22c9d92b/services/audio/service.h [modify] https://crrev.com/4f457d21ccf90ba4beabc8719607746e22c9d92b/services/audio/service_factory.cc [modify] https://crrev.com/4f457d21ccf90ba4beabc8719607746e22c9d92b/services/audio/service_factory.h [modify] https://crrev.com/4f457d21ccf90ba4beabc8719607746e22c9d92b/services/audio/service_main.cc [modify] https://crrev.com/4f457d21ccf90ba4beabc8719607746e22c9d92b/services/audio/test/in_process_service_test.cc [modify] https://crrev.com/4f457d21ccf90ba4beabc8719607746e22c9d92b/services/audio/test/service_lifetime_connector_test.cc
Comment 1 by guidou@chromium.org
, May 23 2018