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 |
36 MockWebUserMediaClient::MockWebUserMediaClient(WebTestDelegate* delegate) | 38 MockWebUserMediaClient::MockWebUserMediaClient(WebTestDelegate* delegate) |
37 : delegate_(delegate), | 39 : delegate_(delegate), |
38 should_enumerate_extra_device_(false), | 40 should_enumerate_extra_device_(false), |
39 weak_factory_(this) {} | 41 weak_factory_(this) {} |
40 | 42 |
41 MockWebUserMediaClient::~MockWebUserMediaClient() {} | 43 MockWebUserMediaClient::~MockWebUserMediaClient() {} |
42 | 44 |
43 void MockWebUserMediaClient::RequestUserMedia( | 45 void MockWebUserMediaClient::RequestUserMedia( |
44 const WebUserMediaRequest& stream_request) { | 46 const WebUserMediaRequest& stream_request) { |
45 DCHECK(!stream_request.IsNull()); | 47 DCHECK(!stream_request.IsNull()); |
46 WebUserMediaRequest request = stream_request; | 48 WebUserMediaRequest request = stream_request; |
47 | 49 |
48 if (request.OwnerDocument().IsNull() || !request.OwnerDocument().GetFrame()) { | 50 if (request.OwnerDocument().IsNull() || !request.OwnerDocument().GetFrame()) { |
49 delegate_->PostTask( | 51 delegate_->PostTask( |
50 base::Bind(&WebUserMediaRequest::RequestFailed, | 52 base::Bind(&WebUserMediaRequest::RequestFailed, |
51 base::Owned(new WebUserMediaRequest(request)), WebString())); | 53 base::Owned(new WebUserMediaRequest(request)), WebString())); |
52 return; | 54 return; |
53 } | 55 } |
54 | 56 |
55 WebMediaStream stream; | 57 WebMediaStream stream; |
56 stream.Initialize(WebVector<WebMediaStreamTrack>(), | 58 stream.Initialize(WebVector<WebMediaStreamTrack>(), |
57 WebVector<WebMediaStreamTrack>()); | 59 WebVector<WebMediaStreamTrack>()); |
| 60 stream.SetExtraData(new MockExtraData()); |
58 | 61 |
59 if (request.Audio() && | 62 if (request.Audio() && |
60 !delegate_->AddMediaStreamAudioSourceAndTrack(&stream)) { | 63 !delegate_->AddMediaStreamAudioSourceAndTrack(&stream)) { |
61 WebMediaStreamSource source; | 64 WebMediaStreamSource source; |
62 source.Initialize("MockAudioDevice#1", WebMediaStreamSource::kTypeAudio, | 65 source.Initialize("MockAudioDevice#1", WebMediaStreamSource::kTypeAudio, |
63 "Mock audio device", false /* remote */); | 66 "Mock audio device", false /* remote */); |
64 WebMediaStreamTrack web_track; | 67 WebMediaStreamTrack web_track; |
65 web_track.Initialize(source); | 68 web_track.Initialize(source); |
66 stream.AddTrack(web_track); | 69 stream.AddTrack(web_track); |
67 } | 70 } |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
129 if (!media_device_change_observer_.IsNull()) | 132 if (!media_device_change_observer_.IsNull()) |
130 media_device_change_observer_.DidChangeMediaDevices(); | 133 media_device_change_observer_.DidChangeMediaDevices(); |
131 } | 134 } |
132 | 135 |
133 void MockWebUserMediaClient::SetMediaDeviceChangeObserver( | 136 void MockWebUserMediaClient::SetMediaDeviceChangeObserver( |
134 const blink::WebMediaDeviceChangeObserver& observer) { | 137 const blink::WebMediaDeviceChangeObserver& observer) { |
135 media_device_change_observer_ = observer; | 138 media_device_change_observer_ = observer; |
136 } | 139 } |
137 | 140 |
138 } // namespace test_runner | 141 } // namespace test_runner |
OLD | NEW |