Index: content/shell/renderer/test_runner/mock_web_user_media_client.cc |
diff --git a/content/shell/renderer/test_runner/mock_web_user_media_client.cc b/content/shell/renderer/test_runner/mock_web_user_media_client.cc |
index 10cc4de1aa0495eafe61e8bcbf1aed769e8a096d..82c207121b74a1516177cc8ca24ff1aa499a2052 100644 |
--- a/content/shell/renderer/test_runner/mock_web_user_media_client.cc |
+++ b/content/shell/renderer/test_runner/mock_web_user_media_client.cc |
@@ -12,6 +12,8 @@ |
#include "third_party/WebKit/public/platform/WebMediaStream.h" |
#include "third_party/WebKit/public/platform/WebMediaStreamSource.h" |
#include "third_party/WebKit/public/platform/WebMediaStreamTrack.h" |
+#include "third_party/WebKit/public/platform/WebMediaStreamTrackSourcesRequest.h" |
+#include "third_party/WebKit/public/platform/WebSourceInfo.h" |
#include "third_party/WebKit/public/platform/WebVector.h" |
#include "third_party/WebKit/public/web/WebDocument.h" |
#include "third_party/WebKit/public/web/WebMediaDevicesRequest.h" |
@@ -24,6 +26,8 @@ using blink::WebMediaDevicesRequest; |
using blink::WebMediaStream; |
using blink::WebMediaStreamSource; |
using blink::WebMediaStreamTrack; |
+using blink::WebMediaStreamTrackSourcesRequest; |
+using blink::WebSourceInfo; |
using blink::WebString; |
using blink::WebUserMediaRequest; |
using blink::WebVector; |
@@ -97,6 +101,22 @@ class MediaDevicesRequestTask : public WebMethodTask<MockWebUserMediaClient> { |
WebVector<WebMediaDeviceInfo> result_; |
}; |
+class SourcesRequestTask : public WebMethodTask<MockWebUserMediaClient> { |
+ public: |
+ SourcesRequestTask(MockWebUserMediaClient* object, |
+ const WebMediaStreamTrackSourcesRequest& request, |
+ const WebVector<WebSourceInfo>& result) |
+ : WebMethodTask<MockWebUserMediaClient>(object), |
+ request_(request), |
+ result_(result) {} |
+ |
+ virtual void RunIfValid() OVERRIDE { request_.requestSucceeded(result_); } |
+ |
+ private: |
+ WebMediaStreamTrackSourcesRequest request_; |
+ WebVector<WebSourceInfo> result_; |
+}; |
jochen (gone - plz use gerrit)
2014/09/16 14:19:14
nit. disallow_copy_and_assign
Henrik Grunell
2014/09/16 15:18:48
Done.
|
+ |
class MockExtraData : public WebMediaStream::ExtraData { |
public: |
int foo; |
@@ -190,4 +210,21 @@ void MockWebUserMediaClient::cancelMediaDevicesRequest( |
const WebMediaDevicesRequest&) { |
} |
+void MockWebUserMediaClient::requestSources( |
+ const blink::WebMediaStreamTrackSourcesRequest& request) { |
+ const size_t size = 2; |
Mike West
2014/09/16 12:56:09
I see that other bits of this file use the same pa
Henrik Grunell
2014/09/16 13:22:35
This will be used in layout tests, can it be contr
Mike West
2014/09/16 13:36:29
No. My point was that if you're going to hard-code
Henrik Grunell
2014/09/16 15:18:48
Ah, of course. :) Done.
|
+ WebVector<WebSourceInfo> sources(size); |
+ |
+ sources[0].initialize("device1", |
+ WebSourceInfo::SourceKindAudio, |
+ "Built-in microphone", |
+ WebSourceInfo::VideoFacingModeNone); |
+ sources[1].initialize("device2", |
+ WebSourceInfo::SourceKindVideo, |
+ "Build-in webcam", |
+ WebSourceInfo::VideoFacingModeEnvironment); |
Mike West
2014/09/16 12:56:09
Is this enough flexibility for you? It might make
Henrik Grunell
2014/09/16 13:22:35
Well, this will be used in layout tests, can it be
Mike West
2014/09/16 13:36:29
There are a number of mocks with setter methods th
Henrik Grunell
2014/09/16 15:18:48
OK, thanks for the pointer.
|
+ |
+ delegate_->postTask(new SourcesRequestTask(this, request, sources)); |
+} |
+ |
} // namespace content |