| Index: content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc
|
| diff --git a/content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc b/content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc
|
| index 733787f34109b44eccab55864324facd02977f3f..a09ffea38e48cdf218c4eb376e63fcec4a7edaa0 100644
|
| --- a/content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc
|
| +++ b/content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc
|
| @@ -51,8 +51,10 @@ class MockMediaStreamDispatcherHost : public MediaStreamDispatcherHost,
|
| MockMediaStreamDispatcherHost(
|
| const ResourceContext::SaltCallback salt_callback,
|
| const scoped_refptr<base::MessageLoopProxy>& message_loop,
|
| - MediaStreamManager* manager)
|
| - : MediaStreamDispatcherHost(kProcessId, salt_callback, manager),
|
| + MediaStreamManager* manager,
|
| + ResourceContext* resource_context)
|
| + : MediaStreamDispatcherHost(kProcessId, salt_callback, manager,
|
| + resource_context),
|
| message_loop_(message_loop),
|
| current_ipc_(NULL) {}
|
|
|
| @@ -230,10 +232,17 @@ class MediaStreamDispatcherHostTest : public testing::Test {
|
| ->video_capture_device_factory());
|
| DCHECK(video_capture_device_factory_);
|
|
|
| + MockResourceContext* mock_resource_context =
|
| + static_cast<MockResourceContext*>(
|
| + browser_context_.GetResourceContext());
|
| + mock_resource_context->set_mic_access(true);
|
| + mock_resource_context->set_camera_access(true);
|
| +
|
| host_ = new MockMediaStreamDispatcherHost(
|
| - browser_context_.GetResourceContext()->GetMediaDeviceIDSalt(),
|
| + mock_resource_context->GetMediaDeviceIDSalt(),
|
| base::MessageLoopProxy::current(),
|
| - media_stream_manager_.get());
|
| + media_stream_manager_.get(),
|
| + mock_resource_context);
|
|
|
| // Use the fake content client and browser.
|
| content_client_.reset(new TestContentClient());
|
| @@ -380,6 +389,24 @@ class MediaStreamDispatcherHostTest : public testing::Test {
|
| return true;
|
| }
|
|
|
| + // Returns true if all devices have labels, false otherwise.
|
| + bool DoesContainLabels(const StreamDeviceInfoArray& devices) {
|
| + for (size_t i = 0; i < devices.size(); ++i) {
|
| + if (devices[i].device.name.empty())
|
| + return false;
|
| + }
|
| + return true;
|
| + }
|
| +
|
| + // Returns true if no devices have labels, false otherwise.
|
| + bool DoesNotContainLabels(const StreamDeviceInfoArray& devices) {
|
| + for (size_t i = 0; i < devices.size(); ++i) {
|
| + if (!devices[i].device.name.empty())
|
| + return false;
|
| + }
|
| + return true;
|
| + }
|
| +
|
| void AddSourceIdConstraint(const std::string& source_id,
|
| StreamOptions::Constraints* constraints) {
|
| constraints->push_back(StreamOptions::Constraint(kMediaStreamSourceInfoId,
|
| @@ -852,11 +879,31 @@ TEST_F(MediaStreamDispatcherHostTest, VideoDeviceUnplugged) {
|
| TEST_F(MediaStreamDispatcherHostTest, EnumerateAudioDevices) {
|
| EnumerateDevicesAndWaitForResult(kRenderId, kPageRequestId,
|
| MEDIA_DEVICE_AUDIO_CAPTURE);
|
| + EXPECT_TRUE(DoesContainLabels(host_->enumerated_devices_));
|
| }
|
|
|
| TEST_F(MediaStreamDispatcherHostTest, EnumerateVideoDevices) {
|
| EnumerateDevicesAndWaitForResult(kRenderId, kPageRequestId,
|
| MEDIA_DEVICE_VIDEO_CAPTURE);
|
| + EXPECT_TRUE(DoesContainLabels(host_->enumerated_devices_));
|
| +}
|
| +
|
| +TEST_F(MediaStreamDispatcherHostTest, EnumerateAudioDevicesNoAccess) {
|
| + MockResourceContext* mock_resource_context =
|
| + static_cast<MockResourceContext*>(browser_context_.GetResourceContext());
|
| + mock_resource_context->set_mic_access(false);
|
| + EnumerateDevicesAndWaitForResult(kRenderId, kPageRequestId,
|
| + MEDIA_DEVICE_AUDIO_CAPTURE);
|
| + EXPECT_TRUE(DoesNotContainLabels(host_->enumerated_devices_));
|
| +}
|
| +
|
| +TEST_F(MediaStreamDispatcherHostTest, EnumerateVideoDevicesNoAccess) {
|
| + MockResourceContext* mock_resource_context =
|
| + static_cast<MockResourceContext*>(browser_context_.GetResourceContext());
|
| + mock_resource_context->set_camera_access(false);
|
| + EnumerateDevicesAndWaitForResult(kRenderId, kPageRequestId,
|
| + MEDIA_DEVICE_VIDEO_CAPTURE);
|
| + EXPECT_TRUE(DoesNotContainLabels(host_->enumerated_devices_));
|
| }
|
|
|
| }; // namespace content
|
|
|