summaryrefslogtreecommitdiffstats
path: root/chromium/content/browser/renderer_host/media/device_request_message_filter_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/content/browser/renderer_host/media/device_request_message_filter_unittest.cc')
-rw-r--r--chromium/content/browser/renderer_host/media/device_request_message_filter_unittest.cc72
1 files changed, 13 insertions, 59 deletions
diff --git a/chromium/content/browser/renderer_host/media/device_request_message_filter_unittest.cc b/chromium/content/browser/renderer_host/media/device_request_message_filter_unittest.cc
index 95b9cd854f6..6d6a9e34dad 100644
--- a/chromium/content/browser/renderer_host/media/device_request_message_filter_unittest.cc
+++ b/chromium/content/browser/renderer_host/media/device_request_message_filter_unittest.cc
@@ -25,15 +25,15 @@ class MockMediaStreamManager : public MediaStreamManager {
virtual ~MockMediaStreamManager() {}
- MOCK_METHOD7(EnumerateDevices,
+ MOCK_METHOD8(EnumerateDevices,
std::string(MediaStreamRequester* requester,
int render_process_id,
int render_view_id,
const ResourceContext::SaltCallback& rc,
int page_request_id,
MediaStreamType type,
- const GURL& security_origin));
- MOCK_METHOD1(CancelRequest, void(const std::string& label));
+ const GURL& security_origin,
+ bool have_permission));
std::string DoEnumerateDevices(MediaStreamRequester* requester,
int render_process_id,
@@ -41,7 +41,8 @@ class MockMediaStreamManager : public MediaStreamManager {
const ResourceContext::SaltCallback& rc,
int page_request_id,
MediaStreamType type,
- const GURL& security_origin) {
+ const GURL& security_origin,
+ bool have_permission) {
if (type == MEDIA_DEVICE_AUDIO_CAPTURE) {
return kAudioLabel;
} else {
@@ -54,7 +55,7 @@ class MockDeviceRequestMessageFilter : public DeviceRequestMessageFilter {
public:
MockDeviceRequestMessageFilter(MockResourceContext* context,
MockMediaStreamManager* manager)
- : DeviceRequestMessageFilter(context, manager), received_id_(-1) {}
+ : DeviceRequestMessageFilter(context, manager, 0), received_id_(-1) {}
StreamDeviceInfoArray requested_devices() { return requested_devices_; }
int received_id() { return received_id_; }
@@ -95,10 +96,12 @@ class DeviceRequestMessageFilterTest : public testing::Test {
AddVideoDevices(number_video_devices);
GURL origin("https://test.com");
EXPECT_CALL(*media_stream_manager_,
- EnumerateDevices(_, _, _, _, _, MEDIA_DEVICE_AUDIO_CAPTURE, _))
+ EnumerateDevices(_, _, _, _, _, MEDIA_DEVICE_AUDIO_CAPTURE,
+ _, _))
.Times(1);
EXPECT_CALL(*media_stream_manager_,
- EnumerateDevices(_, _, _, _, _, MEDIA_DEVICE_VIDEO_CAPTURE, _))
+ EnumerateDevices(_, _, _, _, _, MEDIA_DEVICE_VIDEO_CAPTURE,
+ _, _))
.Times(1);
// Send message to get devices. Should trigger 2 EnumerateDevice() requests.
const int kRequestId = 123;
@@ -110,10 +113,6 @@ class DeviceRequestMessageFilterTest : public testing::Test {
EXPECT_EQ(0u, host_->requested_devices().size());
// After the video device callback is fired, |message| should be populated.
- EXPECT_CALL(*media_stream_manager_, CancelRequest(kAudioLabel))
- .Times(1);
- EXPECT_CALL(*media_stream_manager_, CancelRequest(kVideoLabel))
- .Times(1);
FireVideoDeviceCallback();
EXPECT_EQ(static_cast<size_t>(number_audio_devices + number_video_devices),
host_->requested_devices().size());
@@ -121,25 +120,16 @@ class DeviceRequestMessageFilterTest : public testing::Test {
EXPECT_EQ(kRequestId, host_->received_id());
}
- bool AreLabelsPresent(MediaStreamType type) {
- const StreamDeviceInfoArray& devices = host_->requested_devices();
- for (size_t i = 0; i < devices.size(); i++) {
- if (devices[i].device.type == type && !devices[i].device.name.empty())
- return true;
- }
- return false;
- }
-
protected:
virtual ~DeviceRequestMessageFilterTest() {}
virtual void SetUp() OVERRIDE {
- message_loop_.reset(new base::MessageLoop(base::MessageLoop::TYPE_IO));
+ message_loop_.reset(new base::MessageLoopForIO);
io_thread_.reset(
new TestBrowserThread(BrowserThread::IO, message_loop_.get()));
media_stream_manager_.reset(new MockMediaStreamManager());
- ON_CALL(*media_stream_manager_, EnumerateDevices(_, _, _, _, _, _, _))
+ ON_CALL(*media_stream_manager_, EnumerateDevices(_, _, _, _, _, _, _, _))
.WillByDefault(Invoke(media_stream_manager_.get(),
&MockMediaStreamManager::DoEnumerateDevices));
@@ -180,11 +170,7 @@ class DeviceRequestMessageFilterTest : public testing::Test {
}
void SendGetSourcesMessage(int request_id, const GURL& origin) {
- // Since we're not actually sending IPC messages, this is a throw-away
- // value.
- bool message_was_ok;
- host_->OnMessageReceived(MediaStreamHostMsg_GetSources(request_id, origin),
- &message_was_ok);
+ host_->OnMessageReceived(MediaStreamHostMsg_GetSources(request_id, origin));
}
void FireAudioDeviceCallback() {
@@ -224,36 +210,4 @@ TEST_F(DeviceRequestMessageFilterTest, TestGetSources_NoDevices) {
RunTest(0, 0);
}
-TEST_F(DeviceRequestMessageFilterTest, TestGetSources_DenyMicDenyCamera) {
- resource_context_->set_mic_access(false);
- resource_context_->set_camera_access(false);
- RunTest(3, 3);
- EXPECT_FALSE(AreLabelsPresent(MEDIA_DEVICE_AUDIO_CAPTURE));
- EXPECT_FALSE(AreLabelsPresent(MEDIA_DEVICE_VIDEO_CAPTURE));
-}
-
-TEST_F(DeviceRequestMessageFilterTest, TestGetSources_AllowMicDenyCamera) {
- resource_context_->set_mic_access(true);
- resource_context_->set_camera_access(false);
- RunTest(3, 3);
- EXPECT_TRUE(AreLabelsPresent(MEDIA_DEVICE_AUDIO_CAPTURE));
- EXPECT_FALSE(AreLabelsPresent(MEDIA_DEVICE_VIDEO_CAPTURE));
-}
-
-TEST_F(DeviceRequestMessageFilterTest, TestGetSources_DenyMicAllowCamera) {
- resource_context_->set_mic_access(false);
- resource_context_->set_camera_access(true);
- RunTest(3, 3);
- EXPECT_FALSE(AreLabelsPresent(MEDIA_DEVICE_AUDIO_CAPTURE));
- EXPECT_TRUE(AreLabelsPresent(MEDIA_DEVICE_VIDEO_CAPTURE));
-}
-
-TEST_F(DeviceRequestMessageFilterTest, TestGetSources_AllowMicAllowCamera) {
- resource_context_->set_mic_access(true);
- resource_context_->set_camera_access(true);
- RunTest(3, 3);
- EXPECT_TRUE(AreLabelsPresent(MEDIA_DEVICE_AUDIO_CAPTURE));
- EXPECT_TRUE(AreLabelsPresent(MEDIA_DEVICE_VIDEO_CAPTURE));
-}
-
}; // namespace content