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

Side by Side Diff: content/browser/renderer_host/media/audio_renderer_host_unittest.cc

Issue 542863004: Site Isolation: RenderView-->RenderFrame for WebContentsVideoCaptureDevice and WebContentsAudioInpu… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/command_line.h" 6 #include "base/command_line.h"
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/run_loop.h" 8 #include "base/run_loop.h"
9 #include "base/sync_socket.h" 9 #include "base/sync_socket.h"
10 #include "content/browser/media/capture/audio_mirroring_manager.h" 10 #include "content/browser/media/capture/audio_mirroring_manager.h"
(...skipping 25 matching lines...) Expand all
36 36
37 namespace content { 37 namespace content {
38 38
39 class MockAudioMirroringManager : public AudioMirroringManager { 39 class MockAudioMirroringManager : public AudioMirroringManager {
40 public: 40 public:
41 MockAudioMirroringManager() {} 41 MockAudioMirroringManager() {}
42 virtual ~MockAudioMirroringManager() {} 42 virtual ~MockAudioMirroringManager() {}
43 43
44 MOCK_METHOD3(AddDiverter, 44 MOCK_METHOD3(AddDiverter,
45 void(int render_process_id, 45 void(int render_process_id,
46 int render_view_id, 46 int render_frame_id,
47 Diverter* diverter)); 47 Diverter* diverter));
48 MOCK_METHOD3(RemoveDiverter, 48 MOCK_METHOD1(RemoveDiverter, void(Diverter* diverter));
49 void(int render_process_id,
50 int render_view_id,
51 Diverter* diverter));
52 49
53 private: 50 private:
54 DISALLOW_COPY_AND_ASSIGN(MockAudioMirroringManager); 51 DISALLOW_COPY_AND_ASSIGN(MockAudioMirroringManager);
55 }; 52 };
56 53
57 class MockAudioRendererHost : public AudioRendererHost { 54 class MockAudioRendererHost : public AudioRendererHost {
58 public: 55 public:
59 MockAudioRendererHost(media::AudioManager* audio_manager, 56 MockAudioRendererHost(media::AudioManager* audio_manager,
60 AudioMirroringManager* mirroring_manager, 57 AudioMirroringManager* mirroring_manager,
61 MediaInternals* media_internals, 58 MediaInternals* media_internals,
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 // Release the reference to the mock object. The object will be destructed 175 // Release the reference to the mock object. The object will be destructed
179 // on message_loop_. 176 // on message_loop_.
180 host_ = NULL; 177 host_ = NULL;
181 } 178 }
182 179
183 protected: 180 protected:
184 void Create(bool unified_stream) { 181 void Create(bool unified_stream) {
185 EXPECT_CALL(*host_.get(), OnStreamCreated(kStreamId, _)); 182 EXPECT_CALL(*host_.get(), OnStreamCreated(kStreamId, _));
186 183
187 EXPECT_CALL(mirroring_manager_, 184 EXPECT_CALL(mirroring_manager_,
188 AddDiverter(kRenderProcessId, kRenderViewId, NotNull())) 185 AddDiverter(kRenderProcessId, kRenderFrameId, NotNull()))
189 .RetiresOnSaturation(); 186 .RetiresOnSaturation();
190 187
191 // Send a create stream message to the audio output stream and wait until 188 // Send a create stream message to the audio output stream and wait until
192 // we receive the created message. 189 // we receive the created message.
193 int session_id; 190 int session_id;
194 media::AudioParameters params; 191 media::AudioParameters params;
195 if (unified_stream) { 192 if (unified_stream) {
196 // Use AudioInputDeviceManager::kFakeOpenSessionId as the session id to 193 // Use AudioInputDeviceManager::kFakeOpenSessionId as the session id to
197 // pass the permission check. 194 // pass the permission check.
198 session_id = AudioInputDeviceManager::kFakeOpenSessionId; 195 session_id = AudioInputDeviceManager::kFakeOpenSessionId;
199 params = media::AudioParameters( 196 params = media::AudioParameters(
200 media::AudioParameters::AUDIO_FAKE, 197 media::AudioParameters::AUDIO_FAKE,
201 media::CHANNEL_LAYOUT_STEREO, 198 media::CHANNEL_LAYOUT_STEREO,
202 media::AudioParameters::kAudioCDSampleRate, 16, 199 media::AudioParameters::kAudioCDSampleRate, 16,
203 media::AudioParameters::kAudioCDSampleRate / 10, 200 media::AudioParameters::kAudioCDSampleRate / 10,
204 media::AudioParameters::NO_EFFECTS); 201 media::AudioParameters::NO_EFFECTS);
205 } else { 202 } else {
206 session_id = 0; 203 session_id = 0;
207 params = media::AudioParameters( 204 params = media::AudioParameters(
208 media::AudioParameters::AUDIO_FAKE, 205 media::AudioParameters::AUDIO_FAKE,
209 media::CHANNEL_LAYOUT_STEREO, 206 media::CHANNEL_LAYOUT_STEREO,
210 media::AudioParameters::kAudioCDSampleRate, 16, 207 media::AudioParameters::kAudioCDSampleRate, 16,
211 media::AudioParameters::kAudioCDSampleRate / 10); 208 media::AudioParameters::kAudioCDSampleRate / 10);
212 } 209 }
213 host_->OnCreateStream(kStreamId, kRenderViewId, kRenderFrameId, session_id, 210 host_->OnCreateStream(kStreamId, kRenderViewId, kRenderFrameId, session_id,
214 params); 211 params);
215 212
216 // At some point in the future, a corresponding RemoveDiverter() call must 213 // At some point in the future, a corresponding RemoveDiverter() call must
217 // be made. 214 // be made.
218 EXPECT_CALL(mirroring_manager_, 215 EXPECT_CALL(mirroring_manager_, RemoveDiverter(NotNull()))
219 RemoveDiverter(kRenderProcessId, kRenderViewId, NotNull()))
220 .RetiresOnSaturation(); 216 .RetiresOnSaturation();
221 SyncWithAudioThread(); 217 SyncWithAudioThread();
222 } 218 }
223 219
224 void Close() { 220 void Close() {
225 // Send a message to AudioRendererHost to tell it we want to close the 221 // Send a message to AudioRendererHost to tell it we want to close the
226 // stream. 222 // stream.
227 host_->OnCloseStream(kStreamId); 223 host_->OnCloseStream(kStreamId);
228 SyncWithAudioThread(); 224 SyncWithAudioThread();
229 } 225 }
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 } 342 }
347 343
348 TEST_F(AudioRendererHostTest, CreateUnifiedStreamAndClose) { 344 TEST_F(AudioRendererHostTest, CreateUnifiedStreamAndClose) {
349 Create(true); 345 Create(true);
350 Close(); 346 Close();
351 } 347 }
352 348
353 // TODO(hclam): Add tests for data conversation in low latency mode. 349 // TODO(hclam): Add tests for data conversation in low latency mode.
354 350
355 } // namespace content 351 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698