| Index: remoting/host/chromoting_host_context.cc
|
| diff --git a/remoting/host/chromoting_host_context.cc b/remoting/host/chromoting_host_context.cc
|
| index 8807af4f04d0e42d0fa19fe5b35538807ee13379..5919f86f3e1e5f0ffc62a0a85e08b49524809ec2 100644
|
| --- a/remoting/host/chromoting_host_context.cc
|
| +++ b/remoting/host/chromoting_host_context.cc
|
| @@ -44,7 +44,7 @@ ChromotingHostContext::ChromotingHostContext(
|
| ChromotingHostContext::~ChromotingHostContext() {
|
| }
|
|
|
| -std::unique_ptr<ChromotingHostContext> ChromotingHostContext::Copy() {
|
| +std::unique_ptr<ChromotingHostContext> ChromotingHostContext::Copy() const {
|
| return base::WrapUnique(new ChromotingHostContext(
|
| ui_task_runner_, audio_task_runner_, file_task_runner_,
|
| input_task_runner_, network_task_runner_, video_capture_task_runner_,
|
| @@ -115,15 +115,19 @@ std::unique_ptr<ChromotingHostContext> ChromotingHostContext::Create(
|
| network_task_runner->PostTask(FROM_HERE,
|
| base::Bind(&DisallowBlockingOperations));
|
|
|
| - return base::WrapUnique(new ChromotingHostContext(
|
| - ui_task_runner, audio_task_runner, file_task_runner,
|
| + return Create(ui_task_runner, audio_task_runner, file_task_runner,
|
| AutoThread::CreateWithType("ChromotingInputThread", ui_task_runner,
|
| base::MessageLoop::TYPE_IO),
|
| network_task_runner,
|
| AutoThread::Create("ChromotingCaptureThread", ui_task_runner),
|
| - AutoThread::Create("ChromotingEncodeThread", ui_task_runner),
|
| - make_scoped_refptr(
|
| - new URLRequestContextGetter(network_task_runner, file_task_runner))));
|
| + AutoThread::Create("ChromotingEncodeThread", ui_task_runner));
|
| +}
|
| +
|
| +// static
|
| +std::unique_ptr<ChromotingHostContext> ChromotingHostContext::CreateForTest(
|
| + scoped_refptr<AutoThreadTaskRunner> task_runner) {
|
| + return Create(task_runner, task_runner, task_runner, task_runner, task_runner,
|
| + task_runner, task_runner);
|
| }
|
|
|
| #if defined(OS_CHROMEOS)
|
| @@ -164,4 +168,26 @@ std::unique_ptr<ChromotingHostContext> ChromotingHostContext::CreateForChromeOS(
|
| }
|
| #endif // defined(OS_CHROMEOS)
|
|
|
| +// static
|
| +std::unique_ptr<ChromotingHostContext> ChromotingHostContext::Create(
|
| + scoped_refptr<AutoThreadTaskRunner> ui_task_runner,
|
| + scoped_refptr<AutoThreadTaskRunner> audio_task_runner,
|
| + scoped_refptr<AutoThreadTaskRunner> file_task_runner,
|
| + scoped_refptr<AutoThreadTaskRunner> input_task_runner,
|
| + scoped_refptr<AutoThreadTaskRunner> network_task_runner,
|
| + scoped_refptr<AutoThreadTaskRunner> video_capture_task_runner,
|
| + scoped_refptr<AutoThreadTaskRunner> video_encode_task_runner) {
|
| + if (ui_task_runner && audio_task_runner && file_task_runner &&
|
| + input_task_runner && network_task_runner && video_capture_task_runner &&
|
| + video_encode_task_runner) {
|
| + return base::WrapUnique(new ChromotingHostContext(
|
| + ui_task_runner, audio_task_runner, file_task_runner, input_task_runner,
|
| + network_task_runner, video_capture_task_runner, video_encode_task_runner,
|
| + make_scoped_refptr(
|
| + new URLRequestContextGetter(network_task_runner, file_task_runner))));
|
| +
|
| + }
|
| + return std::unique_ptr<ChromotingHostContext>();
|
| +}
|
| +
|
| } // namespace remoting
|
|
|