OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "android_webview/native/permission/media_access_permission_request.h" | 5 #include "android_webview/browser/permission/media_access_permission_request.h" |
6 #include "base/bind.h" | 6 #include "base/bind.h" |
7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
8 | 8 |
9 namespace android_webview { | 9 namespace android_webview { |
10 | 10 |
11 class TestMediaAccessPermissionRequest : public MediaAccessPermissionRequest { | 11 class TestMediaAccessPermissionRequest : public MediaAccessPermissionRequest { |
12 public: | 12 public: |
13 TestMediaAccessPermissionRequest( | 13 TestMediaAccessPermissionRequest( |
14 const content::MediaStreamRequest& request, | 14 const content::MediaStreamRequest& request, |
15 const content::MediaResponseCallback& callback, | 15 const content::MediaResponseCallback& callback, |
(...skipping 11 matching lines...) Expand all Loading... |
27 audio_device_id_ = "audio"; | 27 audio_device_id_ = "audio"; |
28 video_device_id_ = "video"; | 28 video_device_id_ = "video"; |
29 first_audio_device_id_ = "audio1"; | 29 first_audio_device_id_ = "audio1"; |
30 first_video_device_id_ = "video1"; | 30 first_video_device_id_ = "video1"; |
31 } | 31 } |
32 | 32 |
33 std::unique_ptr<TestMediaAccessPermissionRequest> CreateRequest( | 33 std::unique_ptr<TestMediaAccessPermissionRequest> CreateRequest( |
34 std::string audio_id, | 34 std::string audio_id, |
35 std::string video_id) { | 35 std::string video_id) { |
36 content::MediaStreamDevices audio_devices; | 36 content::MediaStreamDevices audio_devices; |
37 audio_devices.push_back( | 37 audio_devices.push_back(content::MediaStreamDevice( |
38 content::MediaStreamDevice(content::MEDIA_DEVICE_AUDIO_CAPTURE, | 38 content::MEDIA_DEVICE_AUDIO_CAPTURE, first_audio_device_id_, "a2")); |
39 first_audio_device_id_, "a2")); | 39 audio_devices.push_back(content::MediaStreamDevice( |
40 audio_devices.push_back( | 40 content::MEDIA_DEVICE_AUDIO_CAPTURE, audio_device_id_, "a1")); |
41 content::MediaStreamDevice(content::MEDIA_DEVICE_AUDIO_CAPTURE, | |
42 audio_device_id_, "a1")); | |
43 | 41 |
44 content::MediaStreamDevices video_devices; | 42 content::MediaStreamDevices video_devices; |
45 video_devices.push_back( | 43 video_devices.push_back(content::MediaStreamDevice( |
46 content::MediaStreamDevice(content::MEDIA_DEVICE_VIDEO_CAPTURE, | 44 content::MEDIA_DEVICE_VIDEO_CAPTURE, first_video_device_id_, "v2")); |
47 first_video_device_id_, "v2")); | 45 video_devices.push_back(content::MediaStreamDevice( |
48 video_devices.push_back( | 46 content::MEDIA_DEVICE_VIDEO_CAPTURE, video_device_id_, "v1")); |
49 content::MediaStreamDevice(content::MEDIA_DEVICE_VIDEO_CAPTURE, | |
50 video_device_id_, "v1")); | |
51 | 47 |
52 GURL origin("https://www.google.com"); | 48 GURL origin("https://www.google.com"); |
53 content::MediaStreamRequest request( | 49 content::MediaStreamRequest request( |
54 0, 0, 0, origin, false, content::MEDIA_GENERATE_STREAM, audio_id, | 50 0, 0, 0, origin, false, content::MEDIA_GENERATE_STREAM, audio_id, |
55 video_id, content::MEDIA_DEVICE_AUDIO_CAPTURE, | 51 video_id, content::MEDIA_DEVICE_AUDIO_CAPTURE, |
56 content::MEDIA_DEVICE_VIDEO_CAPTURE, false /* disable_local_echo */); | 52 content::MEDIA_DEVICE_VIDEO_CAPTURE, false /* disable_local_echo */); |
57 | 53 |
58 std::unique_ptr<TestMediaAccessPermissionRequest> permission_request; | 54 std::unique_ptr<TestMediaAccessPermissionRequest> permission_request; |
59 permission_request.reset(new TestMediaAccessPermissionRequest( | 55 permission_request.reset(new TestMediaAccessPermissionRequest( |
60 request, | 56 request, |
61 base::Bind(&MediaAccessPermissionRequestTest::Callback, | 57 base::Bind(&MediaAccessPermissionRequestTest::Callback, |
62 base::Unretained(this)), | 58 base::Unretained(this)), |
63 audio_devices, video_devices)); | 59 audio_devices, video_devices)); |
64 return permission_request; | 60 return permission_request; |
65 } | 61 } |
66 | 62 |
67 std::string audio_device_id_; | 63 std::string audio_device_id_; |
68 std::string video_device_id_; | 64 std::string video_device_id_; |
69 std::string first_audio_device_id_; | 65 std::string first_audio_device_id_; |
70 std::string first_video_device_id_; | 66 std::string first_video_device_id_; |
71 content::MediaStreamDevices devices_; | 67 content::MediaStreamDevices devices_; |
72 content::MediaStreamRequestResult result_; | 68 content::MediaStreamRequestResult result_; |
| 69 |
73 private: | 70 private: |
74 void Callback(const content::MediaStreamDevices& devices, | 71 void Callback(const content::MediaStreamDevices& devices, |
75 content::MediaStreamRequestResult result, | 72 content::MediaStreamRequestResult result, |
76 std::unique_ptr<content::MediaStreamUI> ui) { | 73 std::unique_ptr<content::MediaStreamUI> ui) { |
77 devices_ = devices; | 74 devices_ = devices; |
78 result_ = result; | 75 result_ = result; |
79 } | 76 } |
80 }; | 77 }; |
81 | 78 |
82 TEST_F(MediaAccessPermissionRequestTest, TestGrantPermissionRequest) { | 79 TEST_F(MediaAccessPermissionRequestTest, TestGrantPermissionRequest) { |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
129 | 126 |
130 TEST_F(MediaAccessPermissionRequestTest, TestDenyPermissionRequest) { | 127 TEST_F(MediaAccessPermissionRequestTest, TestDenyPermissionRequest) { |
131 std::unique_ptr<TestMediaAccessPermissionRequest> request = | 128 std::unique_ptr<TestMediaAccessPermissionRequest> request = |
132 CreateRequest(std::string(), std::string()); | 129 CreateRequest(std::string(), std::string()); |
133 request->NotifyRequestResult(false); | 130 request->NotifyRequestResult(false); |
134 EXPECT_TRUE(devices_.empty()); | 131 EXPECT_TRUE(devices_.empty()); |
135 EXPECT_EQ(content::MEDIA_DEVICE_PERMISSION_DENIED, result_); | 132 EXPECT_EQ(content::MEDIA_DEVICE_PERMISSION_DENIED, result_); |
136 } | 133 } |
137 | 134 |
138 } // namespace android_webview | 135 } // namespace android_webview |
OLD | NEW |