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

Side by Side Diff: content/shell/test_runner/mock_web_user_media_client.cc

Issue 2969093002: Make rendering of MediaStreams reflect changes to its set of tracks. (Closed)
Patch Set: rebase and address comments by foolip@ Created 3 years, 5 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 unified diff | Download patch
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698