#include "content/browser/renderer_host/media/audio_output_authorization_handler.h"
#include "base/command_line.h"
#include "base/functional/bind.h"
#include "base/run_loop.h"
#include "base/task/single_thread_task_runner.h"
#include "base/test/mock_callback.h"
#include "base/test/test_future.h"
#include "content/browser/media/media_devices_util.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/content_browser_client.h"
#include "content/public/browser/media_device_id.h"
#include "content/public/common/content_client.h"
#include "content/public/test/mock_render_process_host.h"
#include "content/public/test/test_renderer_host.h"
#include "media/audio/audio_device_description.h"
#include "media/audio/audio_system_impl.h"
#include "media/audio/fake_audio_log_factory.h"
#include "media/audio/fake_audio_manager.h"
#include "media/audio/test_audio_thread.h"
#include "media/base/media_switches.h"
#include "net/url_request/url_request_test_util.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "url/gurl.h"
#include "url/origin.h"
MediaDeviceType;
_;
namespace content {
namespace {
const char kSecurityOriginString[] = …;
const char kDefaultDeviceId[] = …;
const char kEmptyDeviceId[] = …;
const char kInvalidDeviceId[] = …;
MockAuthorizationCallback;
class TestBrowserClient : public ContentBrowserClient { … };
}
class AudioOutputAuthorizationHandlerTest : public RenderViewHostTestHarness { … };
TEST_F(AudioOutputAuthorizationHandlerTest, DoNothing) { … }
TEST_F(AudioOutputAuthorizationHandlerTest, AuthorizeDefaultDevice_Ok) { … }
TEST_F(AudioOutputAuthorizationHandlerTest,
AuthorizeDefaultDeviceByEmptyId_Ok) { … }
TEST_F(AudioOutputAuthorizationHandlerTest,
AuthorizeNondefaultDeviceIdWithoutPermission_NotAuthorized) { … }
TEST_F(AudioOutputAuthorizationHandlerTest,
AuthorizeNondefaultDeviceIdWithPermission_Ok) { … }
TEST_F(AudioOutputAuthorizationHandlerTest, AuthorizeInvalidDeviceId_NotFound) { … }
TEST_F(AudioOutputAuthorizationHandlerTest,
AuthorizeNondefaultDeviceIdWithBadOrigin_NotAuthorized) { … }
TEST_F(AudioOutputAuthorizationHandlerTest,
AuthorizeWithSessionIdWithoutDevice_GivesDefault) { … }
TEST_F(AudioOutputAuthorizationHandlerTest,
AuthorizeNondefaultDeviceIdAfterSaltChange_NotFound) { … }
}