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 "cloud_print/gcp20/prototype/cloud_print_url_request_context_getter.h" 6 7 #include "net/proxy/proxy_config_service_fixed.h" 8 #include "net/url_request/url_request_context.h" 9 #include "net/url_request/url_request_context_builder.h" 10 11 CloudPrintURLRequestContextGetter::CloudPrintURLRequestContextGetter( 12 scoped_refptr<base::SingleThreadTaskRunner> task_runner) { 13 DCHECK(task_runner.get()); 14 network_task_runner_ = task_runner; 15 } 16 17 CloudPrintURLRequestContextGetter::~CloudPrintURLRequestContextGetter() { 18 } 19 20 net::URLRequestContext* 21 CloudPrintURLRequestContextGetter::GetURLRequestContext() { 22 if (!context_) { 23 net::URLRequestContextBuilder builder; 24 #if defined(OS_LINUX) || defined(OS_ANDROID) 25 builder.set_proxy_config_service( 26 new net::ProxyConfigServiceFixed(net::ProxyConfig())); 27 #endif // defined(OS_LINUX) || defined(OS_ANDROID) 28 context_.reset(builder.Build()); 29 } 30 return context_.get(); 31 } 32 33 scoped_refptr<base::SingleThreadTaskRunner> 34 CloudPrintURLRequestContextGetter::GetNetworkTaskRunner() const { 35 return network_task_runner_; 36 } 37 38