Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1862)

Unified Diff: content/shell/renderer/test_runner/mock_web_user_media_client.cc

Issue 564423002: Update MockWebUserMediaClient for requestSources. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Compile fix Android. Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/shell/renderer/test_runner/mock_web_user_media_client.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..c758854ac2b1e815da177276535d6d3b9a4ba5d2 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
@@ -5,6 +5,7 @@
#include "content/shell/renderer/test_runner/mock_web_user_media_client.h"
#include "base/logging.h"
+#include "base/macros.h"
#include "content/shell/renderer/test_runner/WebTestDelegate.h"
#include "content/shell/renderer/test_runner/mock_constraints.h"
#include "third_party/WebKit/public/platform/WebMediaConstraints.h"
@@ -12,6 +13,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 +27,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;
@@ -46,6 +51,8 @@ class UserMediaRequestTask : public WebMethodTask<MockWebUserMediaClient> {
private:
WebUserMediaRequest request_;
WebMediaStream result_;
+
+ DISALLOW_COPY_AND_ASSIGN(UserMediaRequestTask);
};
class UserMediaRequestConstraintFailedTask
@@ -65,6 +72,8 @@ class UserMediaRequestConstraintFailedTask
private:
WebUserMediaRequest request_;
WebString constraint_;
+
+ DISALLOW_COPY_AND_ASSIGN(UserMediaRequestConstraintFailedTask);
};
class UserMediaRequestPermissionDeniedTask
@@ -79,6 +88,8 @@ class UserMediaRequestPermissionDeniedTask
private:
WebUserMediaRequest request_;
+
+ DISALLOW_COPY_AND_ASSIGN(UserMediaRequestPermissionDeniedTask);
};
class MediaDevicesRequestTask : public WebMethodTask<MockWebUserMediaClient> {
@@ -95,6 +106,26 @@ class MediaDevicesRequestTask : public WebMethodTask<MockWebUserMediaClient> {
private:
WebMediaDevicesRequest request_;
WebVector<WebMediaDeviceInfo> result_;
+
+ DISALLOW_COPY_AND_ASSIGN(MediaDevicesRequestTask);
+};
+
+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_;
+
+ DISALLOW_COPY_AND_ASSIGN(SourcesRequestTask);
};
class MockExtraData : public WebMediaStream::ExtraData {
@@ -167,21 +198,39 @@ void MockWebUserMediaClient::cancelUserMediaRequest(
void MockWebUserMediaClient::requestMediaDevices(
const WebMediaDevicesRequest& request) {
- const size_t three = 3;
- WebVector<WebMediaDeviceInfo> devices(three);
-
- devices[0].initialize("device1",
- WebMediaDeviceInfo::MediaDeviceKindAudioInput,
- "Built-in microphone",
- "group1");
- devices[1].initialize("device2",
- WebMediaDeviceInfo::MediaDeviceKindAudioOutput,
- "Built-in speakers",
- "group1");
- devices[2].initialize("device3",
- WebMediaDeviceInfo::MediaDeviceKindVideoInput,
- "Build-in webcam",
- "group2");
+ struct {
+ const char* device_id;
+ WebMediaDeviceInfo::MediaDeviceKind kind;
+ const char* label;
+ const char* group_id;
+ } test_devices[] = {
+ {
+ "device1",
+ WebMediaDeviceInfo::MediaDeviceKindAudioInput,
+ "Built-in microphone",
+ "group1",
+ },
+ {
+ "device2",
+ WebMediaDeviceInfo::MediaDeviceKindAudioOutput,
+ "Built-in speakers",
+ "group1",
+ },
+ {
+ "device3",
+ WebMediaDeviceInfo::MediaDeviceKindVideoInput,
+ "Build-in webcam",
+ "group2",
+ },
+ };
+
+ WebVector<WebMediaDeviceInfo> devices(ARRAYSIZE_UNSAFE(test_devices));
+ for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_devices); ++i) {
+ devices[i].initialize(WebString::fromUTF8(test_devices[i].device_id),
+ test_devices[i].kind,
+ WebString::fromUTF8(test_devices[i].label),
+ WebString::fromUTF8(test_devices[i].group_id));
+ }
delegate_->postTask(new MediaDevicesRequestTask(this, request, devices));
}
@@ -190,4 +239,37 @@ void MockWebUserMediaClient::cancelMediaDevicesRequest(
const WebMediaDevicesRequest&) {
}
+void MockWebUserMediaClient::requestSources(
+ const blink::WebMediaStreamTrackSourcesRequest& request) {
+ struct {
+ const char* id;
+ WebSourceInfo::SourceKind kind;
+ const char* label;
+ WebSourceInfo::VideoFacingMode facing;
+ } test_sources[] = {
+ {
+ "device1",
+ WebSourceInfo::SourceKindAudio,
+ "Built-in microphone",
+ WebSourceInfo::VideoFacingModeNone,
+ },
+ {
+ "device2",
+ WebSourceInfo::SourceKindVideo,
+ "Build-in webcam",
+ WebSourceInfo::VideoFacingModeEnvironment,
+ },
+ };
+
+ WebVector<WebSourceInfo> sources(ARRAYSIZE_UNSAFE(test_sources));
+ for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_sources); ++i) {
+ sources[i].initialize(WebString::fromUTF8(test_sources[i].id),
+ test_sources[i].kind,
+ WebString::fromUTF8(test_sources[i].label),
+ test_sources[i].facing);
+ }
+
+ delegate_->postTask(new SourcesRequestTask(this, request, sources));
+}
+
} // namespace content
« no previous file with comments | « content/shell/renderer/test_runner/mock_web_user_media_client.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698