summaryrefslogtreecommitdiff
path: root/chromium/content/browser/renderer_host/media/media_stream_ui_proxy_unittest.cc
diff options
context:
space:
mode:
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.cc64
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));
}
};