Index: blimp/client/session/blimp_client_url_request_context_getter.cc |
diff --git a/blimp/client/session/blimp_client_url_request_context_getter.cc b/blimp/client/session/blimp_client_url_request_context_getter.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e311c4bf17150a1e42afc5322a6c3d9d97559ce7 |
--- /dev/null |
+++ b/blimp/client/session/blimp_client_url_request_context_getter.cc |
@@ -0,0 +1,42 @@ |
+// Copyright 2016 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 "blimp/client/session/blimp_client_url_request_context_getter.h" |
+ |
+#include "base/logging.h" |
+#include "base/memory/scoped_ptr.h" |
+#include "base/single_thread_task_runner.h" |
+#include "base/thread_task_runner_handle.h" |
+#include "net/proxy/proxy_config_service.h" |
+#include "net/proxy/proxy_service.h" |
+#include "net/url_request/url_request_context.h" |
+ |
+namespace blimp { |
+namespace client { |
+ |
+BlimpClientURLRequestContextGetter::BlimpClientURLRequestContextGetter( |
+ const scoped_refptr<base::SingleThreadTaskRunner>& io_loop_task_runner) |
+ : io_loop_task_runner_(io_loop_task_runner) { |
+ builder_.set_proxy_config_service( |
+ net::ProxyService::CreateSystemProxyConfigService( |
+ io_loop_task_runner_, base::ThreadTaskRunnerHandle::Get())); |
+} |
+ |
+BlimpClientURLRequestContextGetter::~BlimpClientURLRequestContextGetter() {} |
+ |
+net::URLRequestContext* |
+BlimpClientURLRequestContextGetter::GetURLRequestContext() { |
+ if (!url_request_context_) |
+ url_request_context_ = builder_.Build(); |
+ |
+ return url_request_context_.get(); |
+} |
+ |
+scoped_refptr<base::SingleThreadTaskRunner> |
+BlimpClientURLRequestContextGetter::GetNetworkTaskRunner() const { |
+ return io_loop_task_runner_; |
+} |
+ |
+} // namespace client |
+} // namespace blimp |