Index: components/test_runner/mock_web_user_media_client.cc |
diff --git a/components/test_runner/mock_web_user_media_client.cc b/components/test_runner/mock_web_user_media_client.cc |
index f30fac9924beb9f87cb5df90cdd323c0e7a15871..f0fa659d2b4d648d9505e75ce5a61a4cba596b46 100644 |
--- a/components/test_runner/mock_web_user_media_client.cc |
+++ b/components/test_runner/mock_web_user_media_client.cc |
@@ -7,6 +7,7 @@ |
#include "base/logging.h" |
#include "base/macros.h" |
#include "components/test_runner/mock_constraints.h" |
+#include "components/test_runner/renderer/mock_video_capturer_source.h" |
#include "components/test_runner/web_test_delegate.h" |
#include "third_party/WebKit/public/platform/WebMediaConstraints.h" |
#include "third_party/WebKit/public/platform/WebMediaDeviceInfo.h" |
@@ -18,7 +19,6 @@ |
#include "third_party/WebKit/public/platform/WebVector.h" |
#include "third_party/WebKit/public/web/WebDocument.h" |
#include "third_party/WebKit/public/web/WebMediaDevicesRequest.h" |
-#include "third_party/WebKit/public/web/WebMediaStreamRegistry.h" |
#include "third_party/WebKit/public/web/WebUserMediaRequest.h" |
using blink::WebMediaConstraints; |
@@ -126,7 +126,7 @@ class SourcesRequestTask : public WebMethodTask<MockWebUserMediaClient> { |
DISALLOW_COPY_AND_ASSIGN(SourcesRequestTask); |
}; |
-class MockExtraData : public WebMediaStream::ExtraData { |
+class MockStreamExtraData : public WebMediaStream::ExtraData { |
public: |
int foo; |
}; |
@@ -135,61 +135,54 @@ MockWebUserMediaClient::MockWebUserMediaClient(WebTestDelegate* delegate) |
: delegate_(delegate) {} |
void MockWebUserMediaClient::requestUserMedia( |
- const WebUserMediaRequest& stream_request) { |
- DCHECK(!stream_request.isNull()); |
- WebUserMediaRequest request = stream_request; |
+ const WebUserMediaRequest& request) { |
+ DCHECK(!request.isNull()); |
- if (request.ownerDocument().isNull() || !request.ownerDocument().frame()) { |
- delegate_->PostTask( |
- new UserMediaRequestPermissionDeniedTask(this, request)); |
+ if (request.ownerDocument().isNull() || !request.ownerDocument().frame()) { |
+ delegate_->PostTask( |
+ new UserMediaRequestPermissionDeniedTask(this, request)); |
return; |
- } |
- |
- WebMediaConstraints constraints = request.audioConstraints(); |
- WebString failed_constraint; |
- if (!constraints.isNull() && |
- !MockConstraints::VerifyConstraints(constraints, &failed_constraint)) { |
- delegate_->PostTask(new UserMediaRequestConstraintFailedTask( |
- this, request, failed_constraint)); |
- return; |
- } |
- constraints = request.videoConstraints(); |
- if (!constraints.isNull() && |
- !MockConstraints::VerifyConstraints(constraints, &failed_constraint)) { |
- delegate_->PostTask(new UserMediaRequestConstraintFailedTask( |
- this, request, failed_constraint)); |
- return; |
- } |
- |
- const size_t zero = 0; |
- const size_t one = 1; |
- WebVector<WebMediaStreamTrack> audio_tracks(request.audio() ? one : zero); |
- WebVector<WebMediaStreamTrack> video_tracks(request.video() ? one : zero); |
- |
- if (request.audio()) { |
- WebMediaStreamSource source; |
- source.initialize("MockAudioDevice#1", |
- WebMediaStreamSource::TypeAudio, |
- "Mock audio device", |
- false /* remote */, true /* readonly */); |
- audio_tracks[0].initialize(source); |
- } |
- |
- if (request.video()) { |
- WebMediaStreamSource source; |
- source.initialize("MockVideoDevice#1", |
- WebMediaStreamSource::TypeVideo, |
- "Mock video device", |
- false /* remote */, true /* readonly */); |
- video_tracks[0].initialize(source); |
- } |
- |
- WebMediaStream stream; |
- stream.initialize(audio_tracks, video_tracks); |
- |
- stream.setExtraData(new MockExtraData()); |
- |
- delegate_->PostTask(new UserMediaRequestTask(this, request, stream)); |
+ } |
+ |
+ const WebMediaConstraints audio_constraints = request.audioConstraints(); |
+ WebString failed_constraint; |
+ if (!audio_constraints.isNull() && |
+ !MockConstraints::VerifyConstraints(audio_constraints, |
+ &failed_constraint)) { |
+ delegate_->PostTask(new UserMediaRequestConstraintFailedTask( |
+ this, request, failed_constraint)); |
+ return; |
+ } |
+ const WebMediaConstraints video_constraints = request.videoConstraints(); |
+ if (!video_constraints.isNull() && |
+ !MockConstraints::VerifyConstraints(video_constraints, |
+ &failed_constraint)) { |
+ delegate_->PostTask(new UserMediaRequestConstraintFailedTask( |
+ this, request, failed_constraint)); |
+ return; |
+ } |
+ |
+ WebMediaStream stream; |
+ stream.initialize(WebVector<WebMediaStreamTrack>(), |
+ WebVector<WebMediaStreamTrack>()); |
+ stream.setExtraData(new MockStreamExtraData()); |
+ |
+ if (request.audio()) { |
+ WebMediaStreamSource source; |
+ source.initialize("MockAudioDevice#1", |
+ WebMediaStreamSource::TypeAudio, |
+ "Mock audio device", |
+ false /* remote */, |
+ true /* readonly */); |
+ WebMediaStreamTrack web_track; |
+ web_track.initialize(source); |
+ stream.addTrack(web_track); |
+ } |
+ |
+ if (request.video()) |
+ AddVideoTrackToMediaStream(&stream); |
+ |
+ delegate_->PostTask(new UserMediaRequestTask(this, request, stream)); |
} |
void MockWebUserMediaClient::cancelUserMediaRequest( |
@@ -231,7 +224,6 @@ void MockWebUserMediaClient::requestMediaDevices( |
WebString::fromUTF8(test_devices[i].label), |
WebString::fromUTF8(test_devices[i].group_id)); |
} |
- |
delegate_->PostTask(new MediaDevicesRequestTask(this, request, devices)); |
} |