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

Side by Side Diff: mojo/services/network/network_context.cc

Issue 1841863002: Update monet. (Closed) Base URL: https://github.com/domokit/monet.git@master
Patch Set: Created 4 years, 8 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "mojo/services/network/network_context.h" 5 #include "mojo/services/network/network_context.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/base_paths.h" 10 #include "base/base_paths.h"
11 #include "base/bind.h" 11 #include "base/bind.h"
12 #include "base/command_line.h" 12 #include "base/command_line.h"
13 #include "base/files/file_util.h" 13 #include "base/files/file_util.h"
14 #include "base/path_service.h" 14 #include "base/path_service.h"
15 #include "mojo/common/user_agent.h"
16 #include "mojo/services/network/url_loader_impl.h" 15 #include "mojo/services/network/url_loader_impl.h"
17 #include "net/log/net_log_util.h" 16 #include "net/log/net_log_util.h"
18 #include "net/log/write_to_file_net_log_observer.h" 17 #include "net/log/write_to_file_net_log_observer.h"
19 #include "net/proxy/proxy_service.h" 18 #include "net/proxy/proxy_service.h"
20 #include "net/url_request/url_request_context.h" 19 #include "net/url_request/url_request_context.h"
21 #include "net/url_request/url_request_context_builder.h" 20 #include "net/url_request/url_request_context_builder.h"
22 21
23 namespace mojo { 22 namespace mojo {
24 23
25 namespace { 24 namespace {
25
26 // Logs network information to the specified file. 26 // Logs network information to the specified file.
27 const char kLogNetLog[] = "log-net-log"; 27 const char kLogNetLog[] = "log-net-log";
28 28
29 base::FilePath GetCacheDirectory(const base::FilePath& base_path) { 29 base::FilePath GetCacheDirectory(const base::FilePath& base_path) {
30 return base_path.Append(FILE_PATH_LITERAL("Cache")); 30 return base_path.Append(FILE_PATH_LITERAL("Cache"));
31 } 31 }
32
33 std::string GetUserAgent() {
34 // TODO(vtl): Haha, very funny.
35 return "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like "
36 "Gecko) Chrome/42.0.2311.68 Safari/537.36";
32 } 37 }
33 38
39 } // namespace
40
34 class NetworkContext::MojoNetLog : public net::NetLog { 41 class NetworkContext::MojoNetLog : public net::NetLog {
35 public: 42 public:
36 MojoNetLog() { 43 MojoNetLog() {
37 const base::CommandLine* command_line = 44 const base::CommandLine* command_line =
38 base::CommandLine::ForCurrentProcess(); 45 base::CommandLine::ForCurrentProcess();
39 if (!command_line->HasSwitch(kLogNetLog)) 46 if (!command_line->HasSwitch(kLogNetLog))
40 return; 47 return;
41 48
42 base::FilePath log_path = command_line->GetSwitchValuePath(kLogNetLog); 49 base::FilePath log_path = command_line->GetSwitchValuePath(kLogNetLog);
43 base::ScopedFILE file; 50 base::ScopedFILE file;
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 141
135 size_t NetworkContext::GetURLLoaderCountForTesting() { 142 size_t NetworkContext::GetURLLoaderCountForTesting() {
136 return url_loaders_.size(); 143 return url_loaders_.size();
137 } 144 }
138 145
139 // static 146 // static
140 scoped_ptr<net::URLRequestContext> NetworkContext::MakeURLRequestContext( 147 scoped_ptr<net::URLRequestContext> NetworkContext::MakeURLRequestContext(
141 const base::FilePath& base_path) { 148 const base::FilePath& base_path) {
142 net::URLRequestContextBuilder builder; 149 net::URLRequestContextBuilder builder;
143 builder.set_accept_language("en-us,en"); 150 builder.set_accept_language("en-us,en");
144 builder.set_user_agent(mojo::common::GetUserAgent()); 151 builder.set_user_agent(GetUserAgent());
145 builder.set_proxy_service(net::ProxyService::CreateDirect()); 152 builder.set_proxy_service(net::ProxyService::CreateDirect());
146 builder.set_transport_security_persister_path(base_path); 153 builder.set_transport_security_persister_path(base_path);
147 builder.set_data_enabled(true); 154 builder.set_data_enabled(true);
148 155
149 net::URLRequestContextBuilder::HttpCacheParams cache_params; 156 net::URLRequestContextBuilder::HttpCacheParams cache_params;
150 #if defined(OS_ANDROID) 157 #if defined(OS_ANDROID)
151 // On Android, we store the cache on disk becase we can run only a single 158 // On Android, we store the cache on disk becase we can run only a single
152 // instance of the shell at a time. 159 // instance of the shell at a time.
153 cache_params.type = net::URLRequestContextBuilder::HttpCacheParams::DISK; 160 cache_params.type = net::URLRequestContextBuilder::HttpCacheParams::DISK;
154 cache_params.path = GetCacheDirectory(base_path); 161 cache_params.path = GetCacheDirectory(base_path);
155 #else 162 #else
156 // On desktop, we store the cache in memory so we can run many shells 163 // On desktop, we store the cache in memory so we can run many shells
157 // in parallel when running tests, otherwise the network services in each 164 // in parallel when running tests, otherwise the network services in each
158 // shell will corrupt the disk cache. 165 // shell will corrupt the disk cache.
159 cache_params.type = net::URLRequestContextBuilder::HttpCacheParams::IN_MEMORY; 166 cache_params.type = net::URLRequestContextBuilder::HttpCacheParams::IN_MEMORY;
160 #endif 167 #endif
161 168
162 builder.EnableHttpCache(cache_params); 169 builder.EnableHttpCache(cache_params);
163 builder.set_file_enabled(true); 170 builder.set_file_enabled(true);
164 171
165 return make_scoped_ptr(builder.Build()); 172 return make_scoped_ptr(builder.Build());
166 } 173 }
167 174
168 } // namespace mojo 175 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/services/network/interfaces/web_socket.mojom ('k') | mojo/services/network/network_service_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698