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

Side by Side Diff: content/browser/browser_main_loop.cc

Issue 10912070: Makes it possible to run content_browsertests with --as-browser and fake WebRTC devices. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 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 | Annotate | Revision Log
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 "content/browser/browser_main_loop.h" 5 #include "content/browser/browser_main_loop.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/debug/trace_event.h" 9 #include "base/debug/trace_event.h"
10 #include "base/hi_res_timer_manager.h" 10 #include "base/hi_res_timer_manager.h"
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 217
218 // static 218 // static
219 media::AudioManager* BrowserMainLoop::GetAudioManager() { 219 media::AudioManager* BrowserMainLoop::GetAudioManager() {
220 return g_current_browser_main_loop->audio_manager_.get(); 220 return g_current_browser_main_loop->audio_manager_.get();
221 } 221 }
222 222
223 // static 223 // static
224 media_stream::MediaStreamManager* BrowserMainLoop::GetMediaStreamManager() { 224 media_stream::MediaStreamManager* BrowserMainLoop::GetMediaStreamManager() {
225 return g_current_browser_main_loop->media_stream_manager_.get(); 225 return g_current_browser_main_loop->media_stream_manager_.get();
226 } 226 }
227
228 // static
229 void BrowserMainLoop::UseFakeMediaStreamDevice() {
230 // Configure the manager once it gets created.
231 BrowserMainLoop::use_fake_media_stream_device_ = true;
jam 2012/09/04 15:18:14 nit: BrowserMainLoop:: is unnecessary
phoglund_chromium 2012/09/05 11:43:54 Done.
232 }
233
234 bool BrowserMainLoop::use_fake_media_stream_device_ = false;
235
227 // BrowserMainLoop construction / destruction ============================= 236 // BrowserMainLoop construction / destruction =============================
228 237
229 BrowserMainLoop::BrowserMainLoop(const content::MainFunctionParams& parameters) 238 BrowserMainLoop::BrowserMainLoop(const content::MainFunctionParams& parameters)
230 : parameters_(parameters), 239 : parameters_(parameters),
231 parsed_command_line_(parameters.command_line), 240 parsed_command_line_(parameters.command_line),
232 result_code_(content::RESULT_CODE_NORMAL_EXIT) { 241 result_code_(content::RESULT_CODE_NORMAL_EXIT){
233 DCHECK(!g_current_browser_main_loop); 242 DCHECK(!g_current_browser_main_loop);
234 g_current_browser_main_loop = this; 243 g_current_browser_main_loop = this;
235 } 244 }
236 245
237 BrowserMainLoop::~BrowserMainLoop() { 246 BrowserMainLoop::~BrowserMainLoop() {
238 DCHECK_EQ(this, g_current_browser_main_loop); 247 DCHECK_EQ(this, g_current_browser_main_loop);
239 g_current_browser_main_loop = NULL; 248 g_current_browser_main_loop = NULL;
240 } 249 }
241 250
242 void BrowserMainLoop::Init() { 251 void BrowserMainLoop::Init() {
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
461 470
462 // If the UI thread blocks, the whole UI is unresponsive. 471 // If the UI thread blocks, the whole UI is unresponsive.
463 // Do not allow disk IO from the UI thread. 472 // Do not allow disk IO from the UI thread.
464 base::ThreadRestrictions::SetIOAllowed(false); 473 base::ThreadRestrictions::SetIOAllowed(false);
465 base::ThreadRestrictions::DisallowWaiting(); 474 base::ThreadRestrictions::DisallowWaiting();
466 } 475 }
467 476
468 void BrowserMainLoop::RunMainMessageLoopParts() { 477 void BrowserMainLoop::RunMainMessageLoopParts() {
469 TRACE_EVENT_BEGIN_ETW("BrowserMain:MESSAGE_LOOP", 0, ""); 478 TRACE_EVENT_BEGIN_ETW("BrowserMain:MESSAGE_LOOP", 0, "");
470 479
480 if (use_fake_media_stream_device_)
jam 2012/09/04 15:18:14 actually, it seems that this static better belongs
phoglund_chromium 2012/09/05 11:43:54 Good point, I'll move it.
481 media_stream_manager_->UseFakeDevice();
482
471 bool ran_main_loop = false; 483 bool ran_main_loop = false;
472 if (parts_.get()) 484 if (parts_.get())
473 ran_main_loop = parts_->MainMessageLoopRun(&result_code_); 485 ran_main_loop = parts_->MainMessageLoopRun(&result_code_);
474 486
475 if (!ran_main_loop) 487 if (!ran_main_loop)
476 MainMessageLoopRun(); 488 MainMessageLoopRun();
477 489
478 TRACE_EVENT_END_ETW("BrowserMain:MESSAGE_LOOP", 0, ""); 490 TRACE_EVENT_END_ETW("BrowserMain:MESSAGE_LOOP", 0, "");
479 } 491 }
480 492
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
696 DCHECK_EQ(MessageLoop::TYPE_UI, MessageLoop::current()->type()); 708 DCHECK_EQ(MessageLoop::TYPE_UI, MessageLoop::current()->type());
697 if (parameters_.ui_task) 709 if (parameters_.ui_task)
698 MessageLoopForUI::current()->PostTask(FROM_HERE, *parameters_.ui_task); 710 MessageLoopForUI::current()->PostTask(FROM_HERE, *parameters_.ui_task);
699 711
700 base::RunLoop run_loop; 712 base::RunLoop run_loop;
701 run_loop.Run(); 713 run_loop.Run();
702 #endif 714 #endif
703 } 715 }
704 716
705 } // namespace content 717 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698