diff options
Diffstat (limited to 'chromium/content/browser/renderer_host/media/media_stream_ui_proxy_unittest.cc')
-rw-r--r-- | chromium/content/browser/renderer_host/media/media_stream_ui_proxy_unittest.cc | 64 |
1 files changed, 39 insertions, 25 deletions
diff --git a/chromium/content/browser/renderer_host/media/media_stream_ui_proxy_unittest.cc b/chromium/content/browser/renderer_host/media/media_stream_ui_proxy_unittest.cc index a9a89760950..0acf2f42c16 100644 --- a/chromium/content/browser/renderer_host/media/media_stream_ui_proxy_unittest.cc +++ b/chromium/content/browser/renderer_host/media/media_stream_ui_proxy_unittest.cc @@ -30,9 +30,13 @@ namespace content { namespace { class MockRenderFrameHostDelegate : public RenderFrameHostDelegate { public: + void RequestMediaAccessPermission(const MediaStreamRequest& request, + MediaResponseCallback callback) { + return RequestMediaAccessPermission(request, &callback); + } MOCK_METHOD2(RequestMediaAccessPermission, void(const MediaStreamRequest& request, - const MediaResponseCallback& callback)); + MediaResponseCallback* callback)); MOCK_METHOD3(CheckMediaAccessPermission, bool(RenderFrameHost* render_frame_host, const url::Origin& security_origin, @@ -122,14 +126,17 @@ TEST_F(MediaStreamUIProxyTest, MAYBE_Deny) { base::BindOnce(&MockResponseCallback::OnAccessRequestResponse, base::Unretained(&response_callback_))); MediaResponseCallback callback; - EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request_ptr), - _)) - .WillOnce(SaveArg<1>(&callback)); + EXPECT_CALL(delegate_, + RequestMediaAccessPermission(SameRequest(request_ptr), _)) + .WillOnce([&](testing::Unused, MediaResponseCallback* cb) { + callback = std::move(*cb); + }); base::RunLoop().RunUntilIdle(); ASSERT_FALSE(callback.is_null()); MediaStreamDevices devices; - callback.Run(devices, MEDIA_DEVICE_OK, std::unique_ptr<MediaStreamUI>()); + std::move(callback).Run(devices, MEDIA_DEVICE_OK, + std::unique_ptr<MediaStreamUI>()); MediaStreamDevices response; EXPECT_CALL(response_callback_, OnAccessRequestResponse(_, _)) @@ -150,9 +157,11 @@ TEST_F(MediaStreamUIProxyTest, MAYBE_AcceptAndStart) { base::BindOnce(&MockResponseCallback::OnAccessRequestResponse, base::Unretained(&response_callback_))); MediaResponseCallback callback; - EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request_ptr), - _)) - .WillOnce(SaveArg<1>(&callback)); + EXPECT_CALL(delegate_, + RequestMediaAccessPermission(SameRequest(request_ptr), _)) + .WillOnce([&](testing::Unused, MediaResponseCallback* cb) { + callback = std::move(*cb); + }); base::RunLoop().RunUntilIdle(); ASSERT_FALSE(callback.is_null()); @@ -161,7 +170,7 @@ TEST_F(MediaStreamUIProxyTest, MAYBE_AcceptAndStart) { MediaStreamDevice(MEDIA_DEVICE_AUDIO_CAPTURE, "Mic", "Mic")); std::unique_ptr<MockMediaStreamUI> ui(new MockMediaStreamUI()); EXPECT_CALL(*ui, OnStarted(_)).WillOnce(Return(0)); - callback.Run(devices, MEDIA_DEVICE_OK, std::move(ui)); + std::move(callback).Run(devices, MEDIA_DEVICE_OK, std::move(ui)); MediaStreamDevices response; EXPECT_CALL(response_callback_, OnAccessRequestResponse(_, _)) @@ -186,9 +195,11 @@ TEST_F(MediaStreamUIProxyTest, MAYBE_DeleteBeforeAccepted) { base::BindOnce(&MockResponseCallback::OnAccessRequestResponse, base::Unretained(&response_callback_))); MediaResponseCallback callback; - EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request_ptr) - , _)) - .WillOnce(SaveArg<1>(&callback)); + EXPECT_CALL(delegate_, + RequestMediaAccessPermission(SameRequest(request_ptr), _)) + .WillOnce([&](testing::Unused, MediaResponseCallback* cb) { + callback = std::move(*cb); + }); base::RunLoop().RunUntilIdle(); ASSERT_FALSE(callback.is_null()); @@ -196,7 +207,7 @@ TEST_F(MediaStreamUIProxyTest, MAYBE_DeleteBeforeAccepted) { MediaStreamDevices devices; std::unique_ptr<MediaStreamUI> ui; - callback.Run(devices, MEDIA_DEVICE_OK, std::move(ui)); + std::move(callback).Run(devices, MEDIA_DEVICE_OK, std::move(ui)); } TEST_F(MediaStreamUIProxyTest, MAYBE_StopFromUI) { @@ -210,9 +221,11 @@ TEST_F(MediaStreamUIProxyTest, MAYBE_StopFromUI) { base::BindOnce(&MockResponseCallback::OnAccessRequestResponse, base::Unretained(&response_callback_))); MediaResponseCallback callback; - EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request_ptr) - , _)) - .WillOnce(SaveArg<1>(&callback)); + EXPECT_CALL(delegate_, + RequestMediaAccessPermission(SameRequest(request_ptr), _)) + .WillOnce([&](testing::Unused, MediaResponseCallback* cb) { + callback = std::move(*cb); + }); base::RunLoop().RunUntilIdle(); ASSERT_FALSE(callback.is_null()); @@ -224,7 +237,7 @@ TEST_F(MediaStreamUIProxyTest, MAYBE_StopFromUI) { std::unique_ptr<MockMediaStreamUI> ui(new MockMediaStreamUI()); EXPECT_CALL(*ui, OnStarted(_)) .WillOnce(testing::DoAll(SaveArg<0>(&stop_callback), Return(0))); - callback.Run(devices, MEDIA_DEVICE_OK, std::move(ui)); + std::move(callback).Run(devices, MEDIA_DEVICE_OK, std::move(ui)); MediaStreamDevices response; EXPECT_CALL(response_callback_, OnAccessRequestResponse(_, _)) @@ -257,16 +270,18 @@ TEST_F(MediaStreamUIProxyTest, MAYBE_WindowIdCallbackCalled) { base::BindOnce(&MockResponseCallback::OnAccessRequestResponse, base::Unretained(&response_callback_))); MediaResponseCallback callback; - EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request_ptr), - _)) - .WillOnce(SaveArg<1>(&callback)); + EXPECT_CALL(delegate_, + RequestMediaAccessPermission(SameRequest(request_ptr), _)) + .WillOnce([&](testing::Unused, MediaResponseCallback* cb) { + callback = std::move(*cb); + }); base::RunLoop().RunUntilIdle(); const int kWindowId = 1; std::unique_ptr<MockMediaStreamUI> ui(new MockMediaStreamUI()); EXPECT_CALL(*ui, OnStarted(_)).WillOnce(Return(kWindowId)); - callback.Run(MediaStreamDevices(), MEDIA_DEVICE_OK, std::move(ui)); + std::move(callback).Run(MediaStreamDevices(), MEDIA_DEVICE_OK, std::move(ui)); EXPECT_CALL(response_callback_, OnAccessRequestResponse(_, _)); MockStopStreamHandler handler; @@ -332,9 +347,8 @@ class MediaStreamUIProxyFeaturePolicyTest private: class TestRFHDelegate : public RenderFrameHostDelegate { - void RequestMediaAccessPermission( - const MediaStreamRequest& request, - const MediaResponseCallback& callback) override { + void RequestMediaAccessPermission(const MediaStreamRequest& request, + MediaResponseCallback callback) override { MediaStreamDevices devices; if (request.audio_type == MEDIA_DEVICE_AUDIO_CAPTURE) { devices.push_back( @@ -345,7 +359,7 @@ class MediaStreamUIProxyFeaturePolicyTest MediaStreamDevice(MEDIA_DEVICE_VIDEO_CAPTURE, "Camera", "Camera")); } std::unique_ptr<MockMediaStreamUI> ui(new MockMediaStreamUI()); - callback.Run(devices, MEDIA_DEVICE_OK, std::move(ui)); + std::move(callback).Run(devices, MEDIA_DEVICE_OK, std::move(ui)); } }; |