Index: cloud_print/gcp20/prototype/cloud_print_url_request_context_getter.cc |
diff --git a/cloud_print/gcp20/prototype/cloud_print_url_request_context_getter.cc b/cloud_print/gcp20/prototype/cloud_print_url_request_context_getter.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b6bfae906fbad2f54430c7e48b076f4889c78253 |
--- /dev/null |
+++ b/cloud_print/gcp20/prototype/cloud_print_url_request_context_getter.cc |
@@ -0,0 +1,37 @@ |
+// Copyright 2013 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "cloud_print/gcp20/prototype/cloud_print_url_request_context_getter.h" |
+ |
+#include "net/proxy/proxy_config_service_fixed.h" |
+#include "net/url_request/url_request_context.h" |
+#include "net/url_request/url_request_context_builder.h" |
+ |
+CloudPrintURLRequestContextGetter::CloudPrintURLRequestContextGetter( |
+ scoped_refptr<base::SingleThreadTaskRunner> task_runner) { |
+ DCHECK(task_runner); |
+ network_task_runner_ = task_runner; |
+} |
+ |
+CloudPrintURLRequestContextGetter::~CloudPrintURLRequestContextGetter() { |
+} |
+ |
+net::URLRequestContext* |
+CloudPrintURLRequestContextGetter::GetURLRequestContext() { |
+ if (!context_) { |
+ net::URLRequestContextBuilder builder; |
+#if defined(OS_LINUX) || defined(OS_ANDROID) |
+ builder.set_proxy_config_service( |
+ new net::ProxyConfigServiceFixed(net::ProxyConfig())); |
+#endif // defined(OS_LINUX) || defined(OS_ANDROID) |
+ context_.reset(builder.Build()); |
+ } |
+ return context_.get(); |
+} |
+ |
+scoped_refptr<base::SingleThreadTaskRunner> |
+CloudPrintURLRequestContextGetter::GetNetworkTaskRunner() const { |
+ return network_task_runner_; |
+} |
+ |