| 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 |