| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/shell/test_runner/mock_web_user_media_client.h" | 5 #include "content/shell/test_runner/mock_web_user_media_client.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
| (...skipping 15 matching lines...) Expand all Loading... |
| 26 using blink::WebMediaDevicesRequest; | 26 using blink::WebMediaDevicesRequest; |
| 27 using blink::WebMediaStream; | 27 using blink::WebMediaStream; |
| 28 using blink::WebMediaStreamSource; | 28 using blink::WebMediaStreamSource; |
| 29 using blink::WebMediaStreamTrack; | 29 using blink::WebMediaStreamTrack; |
| 30 using blink::WebString; | 30 using blink::WebString; |
| 31 using blink::WebUserMediaRequest; | 31 using blink::WebUserMediaRequest; |
| 32 using blink::WebVector; | 32 using blink::WebVector; |
| 33 | 33 |
| 34 namespace test_runner { | 34 namespace test_runner { |
| 35 | 35 |
| 36 class MockExtraData : public WebMediaStream::ExtraData {}; | |
| 37 | |
| 38 MockWebUserMediaClient::MockWebUserMediaClient(WebTestDelegate* delegate) | 36 MockWebUserMediaClient::MockWebUserMediaClient(WebTestDelegate* delegate) |
| 39 : delegate_(delegate), | 37 : delegate_(delegate), |
| 40 should_enumerate_extra_device_(false), | 38 should_enumerate_extra_device_(false), |
| 41 weak_factory_(this) {} | 39 weak_factory_(this) {} |
| 42 | 40 |
| 43 MockWebUserMediaClient::~MockWebUserMediaClient() {} | 41 MockWebUserMediaClient::~MockWebUserMediaClient() {} |
| 44 | 42 |
| 45 void MockWebUserMediaClient::RequestUserMedia( | 43 void MockWebUserMediaClient::RequestUserMedia( |
| 46 const WebUserMediaRequest& stream_request) { | 44 const WebUserMediaRequest& stream_request) { |
| 47 DCHECK(!stream_request.IsNull()); | 45 DCHECK(!stream_request.IsNull()); |
| 48 WebUserMediaRequest request = stream_request; | 46 WebUserMediaRequest request = stream_request; |
| 49 | 47 |
| 50 if (request.OwnerDocument().IsNull() || !request.OwnerDocument().GetFrame()) { | 48 if (request.OwnerDocument().IsNull() || !request.OwnerDocument().GetFrame()) { |
| 51 delegate_->PostTask( | 49 delegate_->PostTask( |
| 52 base::Bind(&WebUserMediaRequest::RequestFailed, | 50 base::Bind(&WebUserMediaRequest::RequestFailed, |
| 53 base::Owned(new WebUserMediaRequest(request)), WebString())); | 51 base::Owned(new WebUserMediaRequest(request)), WebString())); |
| 54 return; | 52 return; |
| 55 } | 53 } |
| 56 | 54 |
| 57 WebMediaStream stream; | 55 WebMediaStream stream; |
| 58 stream.Initialize(WebVector<WebMediaStreamTrack>(), | 56 stream.Initialize(WebVector<WebMediaStreamTrack>(), |
| 59 WebVector<WebMediaStreamTrack>()); | 57 WebVector<WebMediaStreamTrack>()); |
| 60 stream.SetExtraData(new MockExtraData()); | |
| 61 | 58 |
| 62 if (request.Audio() && | 59 if (request.Audio() && |
| 63 !delegate_->AddMediaStreamAudioSourceAndTrack(&stream)) { | 60 !delegate_->AddMediaStreamAudioSourceAndTrack(&stream)) { |
| 64 WebMediaStreamSource source; | 61 WebMediaStreamSource source; |
| 65 source.Initialize("MockAudioDevice#1", WebMediaStreamSource::kTypeAudio, | 62 source.Initialize("MockAudioDevice#1", WebMediaStreamSource::kTypeAudio, |
| 66 "Mock audio device", false /* remote */); | 63 "Mock audio device", false /* remote */); |
| 67 WebMediaStreamTrack web_track; | 64 WebMediaStreamTrack web_track; |
| 68 web_track.Initialize(source); | 65 web_track.Initialize(source); |
| 69 stream.AddTrack(web_track); | 66 stream.AddTrack(web_track); |
| 70 } | 67 } |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 132 if (!media_device_change_observer_.IsNull()) | 129 if (!media_device_change_observer_.IsNull()) |
| 133 media_device_change_observer_.DidChangeMediaDevices(); | 130 media_device_change_observer_.DidChangeMediaDevices(); |
| 134 } | 131 } |
| 135 | 132 |
| 136 void MockWebUserMediaClient::SetMediaDeviceChangeObserver( | 133 void MockWebUserMediaClient::SetMediaDeviceChangeObserver( |
| 137 const blink::WebMediaDeviceChangeObserver& observer) { | 134 const blink::WebMediaDeviceChangeObserver& observer) { |
| 138 media_device_change_observer_ = observer; | 135 media_device_change_observer_ = observer; |
| 139 } | 136 } |
| 140 | 137 |
| 141 } // namespace test_runner | 138 } // namespace test_runner |
| OLD | NEW |