Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(76)

Side by Side Diff: content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc

Issue 323313003: Add flag in device enumeration request to control label clearing and don't clear for pepper. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <string> 5 #include <string>
6 #include <queue> 6 #include <queue>
7 7
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/callback_helpers.h" 9 #include "base/callback_helpers.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 const base::Closure& quit_closure) { 92 const base::Closure& quit_closure) {
93 quit_closures_.push(quit_closure); 93 quit_closures_.push(quit_closure);
94 MediaStreamDispatcherHost::OnOpenDevice( 94 MediaStreamDispatcherHost::OnOpenDevice(
95 render_view_id, page_request_id, device_id, type, security_origin); 95 render_view_id, page_request_id, device_id, type, security_origin);
96 } 96 }
97 97
98 void OnEnumerateDevices(int render_view_id, 98 void OnEnumerateDevices(int render_view_id,
99 int page_request_id, 99 int page_request_id,
100 MediaStreamType type, 100 MediaStreamType type,
101 const GURL& security_origin, 101 const GURL& security_origin,
102 bool hide_labels_if_no_access,
102 const base::Closure& quit_closure) { 103 const base::Closure& quit_closure) {
103 quit_closures_.push(quit_closure); 104 quit_closures_.push(quit_closure);
104 MediaStreamDispatcherHost::OnEnumerateDevices( 105 MediaStreamDispatcherHost::OnEnumerateDevices(
105 render_view_id, page_request_id, type, security_origin); 106 render_view_id, page_request_id, type, security_origin,
107 hide_labels_if_no_access);
106 } 108 }
107 109
108 std::string label_; 110 std::string label_;
109 StreamDeviceInfoArray audio_devices_; 111 StreamDeviceInfoArray audio_devices_;
110 StreamDeviceInfoArray video_devices_; 112 StreamDeviceInfoArray video_devices_;
111 StreamDeviceInfo opened_device_; 113 StreamDeviceInfo opened_device_;
112 StreamDeviceInfoArray enumerated_devices_; 114 StreamDeviceInfoArray enumerated_devices_;
113 115
114 private: 116 private:
115 virtual ~MockMediaStreamDispatcherHost() {} 117 virtual ~MockMediaStreamDispatcherHost() {}
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
320 host_->OnOpenDevice(render_view_id, page_request_id, device_id, 322 host_->OnOpenDevice(render_view_id, page_request_id, device_id,
321 MEDIA_DEVICE_VIDEO_CAPTURE, origin_, 323 MEDIA_DEVICE_VIDEO_CAPTURE, origin_,
322 run_loop.QuitClosure()); 324 run_loop.QuitClosure());
323 run_loop.Run(); 325 run_loop.Run();
324 EXPECT_FALSE(DoesContainRawIds(host_->video_devices_)); 326 EXPECT_FALSE(DoesContainRawIds(host_->video_devices_));
325 EXPECT_TRUE(DoesEveryDeviceMapToRawId(host_->video_devices_, origin_)); 327 EXPECT_TRUE(DoesEveryDeviceMapToRawId(host_->video_devices_, origin_));
326 } 328 }
327 329
328 void EnumerateDevicesAndWaitForResult(int render_view_id, 330 void EnumerateDevicesAndWaitForResult(int render_view_id,
329 int page_request_id, 331 int page_request_id,
330 MediaStreamType type) { 332 MediaStreamType type,
333 bool hide_labels_if_no_access) {
331 base::RunLoop run_loop; 334 base::RunLoop run_loop;
332 host_->OnEnumerateDevices(render_view_id, page_request_id, type, origin_, 335 host_->OnEnumerateDevices(render_view_id, page_request_id, type, origin_,
333 run_loop.QuitClosure()); 336 hide_labels_if_no_access, run_loop.QuitClosure());
334 run_loop.Run(); 337 run_loop.Run();
335 ASSERT_FALSE(host_->enumerated_devices_.empty()); 338 ASSERT_FALSE(host_->enumerated_devices_.empty());
336 EXPECT_FALSE(DoesContainRawIds(host_->enumerated_devices_)); 339 EXPECT_FALSE(DoesContainRawIds(host_->enumerated_devices_));
337 EXPECT_TRUE(DoesEveryDeviceMapToRawId(host_->enumerated_devices_, origin_)); 340 EXPECT_TRUE(DoesEveryDeviceMapToRawId(host_->enumerated_devices_, origin_));
338 } 341 }
339 342
340 bool DoesContainRawIds(const StreamDeviceInfoArray& devices) { 343 bool DoesContainRawIds(const StreamDeviceInfoArray& devices) {
341 for (size_t i = 0; i < devices.size(); ++i) { 344 for (size_t i = 0; i < devices.size(); ++i) {
342 media::AudioDeviceNames::const_iterator audio_it = 345 media::AudioDeviceNames::const_iterator audio_it =
343 physical_audio_devices_.begin(); 346 physical_audio_devices_.begin();
(...skipping 527 matching lines...) Expand 10 before | Expand all | Expand 10 after
871 EXPECT_CALL(*host_.get(), OnDeviceStopped(kRenderId)) 874 EXPECT_CALL(*host_.get(), OnDeviceStopped(kRenderId))
872 .WillOnce(testing::InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit)); 875 .WillOnce(testing::InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit));
873 media_stream_manager_->OnDevicesChanged( 876 media_stream_manager_->OnDevicesChanged(
874 base::SystemMonitor::DEVTYPE_VIDEO_CAPTURE); 877 base::SystemMonitor::DEVTYPE_VIDEO_CAPTURE);
875 878
876 run_loop.Run(); 879 run_loop.Run();
877 } 880 }
878 881
879 TEST_F(MediaStreamDispatcherHostTest, EnumerateAudioDevices) { 882 TEST_F(MediaStreamDispatcherHostTest, EnumerateAudioDevices) {
880 EnumerateDevicesAndWaitForResult(kRenderId, kPageRequestId, 883 EnumerateDevicesAndWaitForResult(kRenderId, kPageRequestId,
881 MEDIA_DEVICE_AUDIO_CAPTURE); 884 MEDIA_DEVICE_AUDIO_CAPTURE, true);
882 EXPECT_TRUE(DoesContainLabels(host_->enumerated_devices_)); 885 EXPECT_TRUE(DoesContainLabels(host_->enumerated_devices_));
883 } 886 }
884 887
885 TEST_F(MediaStreamDispatcherHostTest, EnumerateVideoDevices) { 888 TEST_F(MediaStreamDispatcherHostTest, EnumerateVideoDevices) {
886 EnumerateDevicesAndWaitForResult(kRenderId, kPageRequestId, 889 EnumerateDevicesAndWaitForResult(kRenderId, kPageRequestId,
887 MEDIA_DEVICE_VIDEO_CAPTURE); 890 MEDIA_DEVICE_VIDEO_CAPTURE, true);
888 EXPECT_TRUE(DoesContainLabels(host_->enumerated_devices_)); 891 EXPECT_TRUE(DoesContainLabels(host_->enumerated_devices_));
889 } 892 }
890 893
891 TEST_F(MediaStreamDispatcherHostTest, EnumerateAudioDevicesNoAccess) { 894 TEST_F(MediaStreamDispatcherHostTest, EnumerateAudioDevicesNoAccessHideLabels) {
892 MockResourceContext* mock_resource_context = 895 MockResourceContext* mock_resource_context =
893 static_cast<MockResourceContext*>(browser_context_.GetResourceContext()); 896 static_cast<MockResourceContext*>(browser_context_.GetResourceContext());
894 mock_resource_context->set_mic_access(false); 897 mock_resource_context->set_mic_access(false);
895 EnumerateDevicesAndWaitForResult(kRenderId, kPageRequestId, 898 EnumerateDevicesAndWaitForResult(kRenderId, kPageRequestId,
896 MEDIA_DEVICE_AUDIO_CAPTURE); 899 MEDIA_DEVICE_AUDIO_CAPTURE, true);
897 EXPECT_TRUE(DoesNotContainLabels(host_->enumerated_devices_)); 900 EXPECT_TRUE(DoesNotContainLabels(host_->enumerated_devices_));
898 } 901 }
899 902
900 TEST_F(MediaStreamDispatcherHostTest, EnumerateVideoDevicesNoAccess) { 903 TEST_F(MediaStreamDispatcherHostTest, EnumerateVideoDevicesNoAccessHideLabels) {
901 MockResourceContext* mock_resource_context = 904 MockResourceContext* mock_resource_context =
902 static_cast<MockResourceContext*>(browser_context_.GetResourceContext()); 905 static_cast<MockResourceContext*>(browser_context_.GetResourceContext());
903 mock_resource_context->set_camera_access(false); 906 mock_resource_context->set_camera_access(false);
904 EnumerateDevicesAndWaitForResult(kRenderId, kPageRequestId, 907 EnumerateDevicesAndWaitForResult(kRenderId, kPageRequestId,
905 MEDIA_DEVICE_VIDEO_CAPTURE); 908 MEDIA_DEVICE_VIDEO_CAPTURE, true);
906 EXPECT_TRUE(DoesNotContainLabels(host_->enumerated_devices_)); 909 EXPECT_TRUE(DoesNotContainLabels(host_->enumerated_devices_));
907 } 910 }
908 911
912 TEST_F(MediaStreamDispatcherHostTest,
913 EnumerateAudioDevicesNoAccessNoHideLabels) {
914 MockResourceContext* mock_resource_context =
915 static_cast<MockResourceContext*>(browser_context_.GetResourceContext());
916 mock_resource_context->set_mic_access(false);
917 EnumerateDevicesAndWaitForResult(kRenderId, kPageRequestId,
918 MEDIA_DEVICE_AUDIO_CAPTURE, false);
919 EXPECT_TRUE(DoesContainLabels(host_->enumerated_devices_));
920 }
921
922 TEST_F(MediaStreamDispatcherHostTest,
923 EnumerateVideoDevicesNoAccessNoHideLabels) {
924 MockResourceContext* mock_resource_context =
925 static_cast<MockResourceContext*>(browser_context_.GetResourceContext());
926 mock_resource_context->set_camera_access(false);
927 EnumerateDevicesAndWaitForResult(kRenderId, kPageRequestId,
928 MEDIA_DEVICE_VIDEO_CAPTURE, false);
929 EXPECT_TRUE(DoesContainLabels(host_->enumerated_devices_));
930 }
931
909 }; // namespace content 932 }; // namespace content
OLDNEW
« no previous file with comments | « content/browser/renderer_host/media/media_stream_dispatcher_host.cc ('k') | content/common/media/media_stream_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698