summaryrefslogtreecommitdiffstats
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.cc78
1 files changed, 60 insertions, 18 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 bff55c618cc..4529b4999d9 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
@@ -13,6 +13,7 @@
#include "ui/gfx/rect.h"
using testing::_;
+using testing::Return;
using testing::SaveArg;
namespace content {
@@ -38,18 +39,20 @@ class MockRenderViewHostDelegate : public RenderViewHostDelegate {
class MockResponseCallback {
public:
- MOCK_METHOD1(OnAccessRequestResponse,
- void(const MediaStreamDevices& devices));
+ MOCK_METHOD2(OnAccessRequestResponse,
+ void(const MediaStreamDevices& devices,
+ content::MediaStreamRequestResult result));
};
class MockMediaStreamUI : public MediaStreamUI {
public:
- MOCK_METHOD1(OnStarted, void(const base::Closure& stop));
+ MOCK_METHOD1(OnStarted, gfx::NativeViewId(const base::Closure& stop));
};
class MockStopStreamHandler {
public:
MOCK_METHOD0(OnStop, void());
+ MOCK_METHOD1(OnWindowId, void(gfx::NativeViewId window_id));
};
@@ -92,7 +95,7 @@ MATCHER_P(SameRequest, expected, "") {
}
TEST_F(MediaStreamUIProxyTest, Deny) {
- MediaStreamRequest request(0, 0, 0, GURL("http://origin/"),
+ MediaStreamRequest request(0, 0, 0, GURL("http://origin/"), false,
MEDIA_GENERATE_STREAM, std::string(),
std::string(),
MEDIA_DEVICE_AUDIO_CAPTURE,
@@ -107,10 +110,10 @@ TEST_F(MediaStreamUIProxyTest, Deny) {
ASSERT_FALSE(callback.is_null());
MediaStreamDevices devices;
- callback.Run(devices, scoped_ptr<MediaStreamUI>());
+ callback.Run(devices, MEDIA_DEVICE_OK, scoped_ptr<MediaStreamUI>());
MediaStreamDevices response;
- EXPECT_CALL(response_callback_, OnAccessRequestResponse(_))
+ EXPECT_CALL(response_callback_, OnAccessRequestResponse(_, _))
.WillOnce(SaveArg<0>(&response));
message_loop_.RunUntilIdle();
@@ -118,7 +121,7 @@ TEST_F(MediaStreamUIProxyTest, Deny) {
}
TEST_F(MediaStreamUIProxyTest, AcceptAndStart) {
- MediaStreamRequest request(0, 0, 0, GURL("http://origin/"),
+ MediaStreamRequest request(0, 0, 0, GURL("http://origin/"), false,
MEDIA_GENERATE_STREAM, std::string(),
std::string(),
MEDIA_DEVICE_AUDIO_CAPTURE,
@@ -136,23 +139,23 @@ TEST_F(MediaStreamUIProxyTest, AcceptAndStart) {
devices.push_back(
MediaStreamDevice(MEDIA_DEVICE_AUDIO_CAPTURE, "Mic", "Mic"));
scoped_ptr<MockMediaStreamUI> ui(new MockMediaStreamUI());
- EXPECT_CALL(*ui, OnStarted(_));
- callback.Run(devices, ui.PassAs<MediaStreamUI>());
+ EXPECT_CALL(*ui, OnStarted(_)).WillOnce(Return(0));
+ callback.Run(devices, MEDIA_DEVICE_OK, ui.PassAs<MediaStreamUI>());
MediaStreamDevices response;
- EXPECT_CALL(response_callback_, OnAccessRequestResponse(_))
+ EXPECT_CALL(response_callback_, OnAccessRequestResponse(_, _))
.WillOnce(SaveArg<0>(&response));
message_loop_.RunUntilIdle();
EXPECT_FALSE(response.empty());
- proxy_->OnStarted(base::Closure());
+ proxy_->OnStarted(base::Closure(), MediaStreamUIProxy::WindowIdCallback());
message_loop_.RunUntilIdle();
}
// Verify that the proxy can be deleted before the request is processed.
TEST_F(MediaStreamUIProxyTest, DeleteBeforeAccepted) {
- MediaStreamRequest request(0, 0, 0, GURL("http://origin/"),
+ MediaStreamRequest request(0, 0, 0, GURL("http://origin/"), false,
MEDIA_GENERATE_STREAM, std::string(),
std::string(),
MEDIA_DEVICE_AUDIO_CAPTURE,
@@ -170,11 +173,11 @@ TEST_F(MediaStreamUIProxyTest, DeleteBeforeAccepted) {
MediaStreamDevices devices;
scoped_ptr<MediaStreamUI> ui;
- callback.Run(devices, ui.Pass());
+ callback.Run(devices, MEDIA_DEVICE_OK, ui.Pass());
}
TEST_F(MediaStreamUIProxyTest, StopFromUI) {
- MediaStreamRequest request(0, 0, 0, GURL("http://origin/"),
+ MediaStreamRequest request(0, 0, 0, GURL("http://origin/"), false,
MEDIA_GENERATE_STREAM, std::string(),
std::string(),
MEDIA_DEVICE_AUDIO_CAPTURE,
@@ -195,11 +198,11 @@ TEST_F(MediaStreamUIProxyTest, StopFromUI) {
MediaStreamDevice(MEDIA_DEVICE_AUDIO_CAPTURE, "Mic", "Mic"));
scoped_ptr<MockMediaStreamUI> ui(new MockMediaStreamUI());
EXPECT_CALL(*ui, OnStarted(_))
- .WillOnce(SaveArg<0>(&stop_callback));
- callback.Run(devices, ui.PassAs<MediaStreamUI>());
+ .WillOnce(testing::DoAll(SaveArg<0>(&stop_callback), Return(0)));
+ callback.Run(devices, MEDIA_DEVICE_OK, ui.PassAs<MediaStreamUI>());
MediaStreamDevices response;
- EXPECT_CALL(response_callback_, OnAccessRequestResponse(_))
+ EXPECT_CALL(response_callback_, OnAccessRequestResponse(_, _))
.WillOnce(SaveArg<0>(&response));
message_loop_.RunUntilIdle();
@@ -207,7 +210,8 @@ TEST_F(MediaStreamUIProxyTest, StopFromUI) {
MockStopStreamHandler stop_handler;
proxy_->OnStarted(base::Bind(&MockStopStreamHandler::OnStop,
- base::Unretained(&stop_handler)));
+ base::Unretained(&stop_handler)),
+ MediaStreamUIProxy::WindowIdCallback());
message_loop_.RunUntilIdle();
ASSERT_FALSE(stop_callback.is_null());
@@ -216,4 +220,42 @@ TEST_F(MediaStreamUIProxyTest, StopFromUI) {
message_loop_.RunUntilIdle();
}
+TEST_F(MediaStreamUIProxyTest, WindowIdCallbackCalled) {
+ MediaStreamRequest request(0,
+ 0,
+ 0,
+ GURL("http://origin/"),
+ false,
+ MEDIA_GENERATE_STREAM,
+ std::string(),
+ std::string(),
+ MEDIA_NO_SERVICE,
+ MEDIA_DESKTOP_VIDEO_CAPTURE);
+ proxy_->RequestAccess(
+ request,
+ base::Bind(&MockResponseCallback::OnAccessRequestResponse,
+ base::Unretained(&response_callback_)));
+ MediaResponseCallback callback;
+ EXPECT_CALL(delegate_, RequestMediaAccessPermission(SameRequest(request), _))
+ .WillOnce(SaveArg<1>(&callback));
+ message_loop_.RunUntilIdle();
+
+ const int kWindowId = 1;
+ scoped_ptr<MockMediaStreamUI> ui(new MockMediaStreamUI());
+ EXPECT_CALL(*ui, OnStarted(_)).WillOnce(Return(kWindowId));
+
+ callback.Run(
+ MediaStreamDevices(), MEDIA_DEVICE_OK, ui.PassAs<MediaStreamUI>());
+ EXPECT_CALL(response_callback_, OnAccessRequestResponse(_, _));
+
+ MockStopStreamHandler handler;
+ EXPECT_CALL(handler, OnWindowId(kWindowId));
+
+ proxy_->OnStarted(
+ base::Bind(&MockStopStreamHandler::OnStop, base::Unretained(&handler)),
+ base::Bind(&MockStopStreamHandler::OnWindowId,
+ base::Unretained(&handler)));
+ message_loop_.RunUntilIdle();
+}
+
} // content