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

Side by Side Diff: content/shell/renderer/test_runner/mock_web_media_stream_center.cc

Issue 418303002: test_runner: Migrate MockWebMediaStreamCenter to Chromium C++ style. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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
(Empty)
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "content/shell/renderer/test_runner/mock_web_media_stream_center.h"
6
7 #include "base/logging.h"
8 #include "content/shell/renderer/test_runner/TestInterfaces.h"
9 #include "content/shell/renderer/test_runner/WebTestDelegate.h"
10 #include "third_party/WebKit/public/platform/WebAudioDestinationConsumer.h"
11 #include "third_party/WebKit/public/platform/WebAudioSourceProvider.h"
12 #include "third_party/WebKit/public/platform/WebMediaStream.h"
13 #include "third_party/WebKit/public/platform/WebMediaStreamCenterClient.h"
14 #include "third_party/WebKit/public/platform/WebMediaStreamSource.h"
15 #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h"
16 #include "third_party/WebKit/public/platform/WebMediaStreamTrackSourcesRequest.h "
17 #include "third_party/WebKit/public/platform/WebSourceInfo.h"
18 #include "third_party/WebKit/public/platform/WebVector.h"
19
20 namespace content {
21
22 class NewTrackTask : public WebMethodTask<MockWebMediaStreamCenter> {
jochen (gone - plz use gerrit) 2014/07/28 09:41:47 nit. this class should be in an anonymous namespac
Abhishek 2014/07/28 15:02:31 Done.
23 public:
24 NewTrackTask(MockWebMediaStreamCenter* object,
25 const blink::WebMediaStream& stream)
26 : WebMethodTask<MockWebMediaStreamCenter>(object), stream_(stream) {
27 DCHECK(!stream_.isNull());
28 }
29
30 virtual void runIfValid() OVERRIDE {
31 blink::WebMediaStreamSource source;
32 blink::WebMediaStreamTrack track;
33 source.initialize("MagicVideoDevice#1",
34 blink::WebMediaStreamSource::TypeVideo,
35 "Magic video track");
36 track.initialize(source);
37 stream_.addTrack(track);
38 }
39
40 private:
41 blink::WebMediaStream stream_;
42 };
jochen (gone - plz use gerrit) 2014/07/28 09:41:47 nit disallow copy/assign
Abhishek 2014/07/28 15:02:30 Done.
43
44 MockWebMediaStreamCenter::MockWebMediaStreamCenter(
45 blink::WebMediaStreamCenterClient* client,
46 TestInterfaces* interfaces)
47 : interfaces_(interfaces) {
48 }
49
50 bool MockWebMediaStreamCenter::getMediaStreamTrackSources(
51 const blink::WebMediaStreamTrackSourcesRequest& request) {
52 size_t size = 2;
53 blink::WebVector<blink::WebSourceInfo> results(size);
54 results[0].initialize("MockAudioDevice#1",
55 blink::WebSourceInfo::SourceKindAudio,
56 "Mock audio device",
57 blink::WebSourceInfo::VideoFacingModeNone);
58 results[1].initialize("MockVideoDevice#1",
59 blink::WebSourceInfo::SourceKindVideo,
60 "Mock video device",
61 blink::WebSourceInfo::VideoFacingModeEnvironment);
62 request.requestSucceeded(results);
63 return true;
64 }
65
66 void MockWebMediaStreamCenter::didEnableMediaStreamTrack(
67 const blink::WebMediaStreamTrack& track) {
68 track.source().setReadyState(blink::WebMediaStreamSource::ReadyStateLive);
69 }
70
71 void MockWebMediaStreamCenter::didDisableMediaStreamTrack(
72 const blink::WebMediaStreamTrack& track) {
73 track.source().setReadyState(blink::WebMediaStreamSource::ReadyStateMuted);
74 }
75
76 bool MockWebMediaStreamCenter::didAddMediaStreamTrack(
77 const blink::WebMediaStream& stream,
78 const blink::WebMediaStreamTrack& track) {
79 return true;
80 }
81
82 bool MockWebMediaStreamCenter::didRemoveMediaStreamTrack(
83 const blink::WebMediaStream& stream,
84 const blink::WebMediaStreamTrack& track) {
85 return true;
86 }
87
88 void MockWebMediaStreamCenter::didStopLocalMediaStream(
89 const blink::WebMediaStream& stream) {
90 blink::WebVector<blink::WebMediaStreamTrack> tracks;
91 stream.audioTracks(tracks);
92 for (size_t i = 0; i < tracks.size(); ++i)
93 tracks[i].source().setReadyState(
94 blink::WebMediaStreamSource::ReadyStateEnded);
95 stream.videoTracks(tracks);
96 for (size_t i = 0; i < tracks.size(); ++i)
97 tracks[i].source().setReadyState(
98 blink::WebMediaStreamSource::ReadyStateEnded);
99 }
100
101 bool MockWebMediaStreamCenter::didStopMediaStreamTrack(
102 const blink::WebMediaStreamTrack& track) {
103 track.source().setReadyState(blink::WebMediaStreamSource::ReadyStateEnded);
104 return true;
105 }
106
107 class MockWebAudioDestinationConsumer
jochen (gone - plz use gerrit) 2014/07/28 09:41:47 this class should be in an anonymous namespace (an
Abhishek 2014/07/28 15:02:30 Done.
108 : public blink::WebAudioDestinationConsumer {
109 public:
110 virtual ~MockWebAudioDestinationConsumer() {}
jochen (gone - plz use gerrit) 2014/07/28 09:41:47 nit. should have a ctor
Abhishek 2014/07/28 15:02:30 Done.
111 virtual void setFormat(size_t number_of_channels,
112 float sample_rate) OVERRIDE {}
113 virtual void consumeAudio(const blink::WebVector<const float*>&,
114 size_t number_of_frames) OVERRIDE {}
115 };
jochen (gone - plz use gerrit) 2014/07/28 09:41:47 nit. disallow copy/assign
Abhishek 2014/07/28 15:02:31 Done.
116
117 void MockWebMediaStreamCenter::didCreateMediaStream(
118 blink::WebMediaStream& stream) {
119 blink::WebVector<blink::WebMediaStreamTrack> audio_tracks;
120 stream.audioTracks(audio_tracks);
121 for (size_t i = 0; i < audio_tracks.size(); ++i) {
122 blink::WebMediaStreamSource source = audio_tracks[i].source();
123 if (source.requiresAudioConsumer()) {
124 MockWebAudioDestinationConsumer* consumer =
125 new MockWebAudioDestinationConsumer();
126 source.addAudioConsumer(consumer);
127 source.removeAudioConsumer(consumer);
128 delete consumer;
129 }
130 }
131 interfaces_->delegate()->postTask(new NewTrackTask(this, stream));
132 }
133
134 blink::WebAudioSourceProvider*
135 MockWebMediaStreamCenter::createWebAudioSourceFromMediaStreamTrack(
136 const blink::WebMediaStreamTrack& track) {
137 return NULL;
138 }
139
140 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698