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

Side by Side Diff: chrome/browser/net/chrome_url_request_context.cc

Issue 113931: Remove code path that passes a file handle to the renderer... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/net/chrome_url_request_context.h ('k') | chrome/browser/profile.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 "chrome/browser/net/chrome_url_request_context.h" 5 #include "chrome/browser/net/chrome_url_request_context.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "chrome/browser/browser_process.h" 9 #include "chrome/browser/browser_process.h"
10 #include "chrome/browser/chrome_thread.h" 10 #include "chrome/browser/chrome_thread.h"
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 profile->GetOriginalProfile()->GetRequestContext()->proxy_service(); 190 profile->GetOriginalProfile()->GetRequestContext()->proxy_service();
191 191
192 context->http_transaction_factory_ = 192 context->http_transaction_factory_ =
193 new net::HttpCache(context->proxy_service_, 0); 193 new net::HttpCache(context->proxy_service_, 0);
194 context->cookie_store_ = new net::CookieMonster; 194 context->cookie_store_ = new net::CookieMonster;
195 195
196 return context; 196 return context;
197 } 197 }
198 198
199 // static 199 // static
200 ChromeURLRequestContext* ChromeURLRequestContext::CreateOffTheRecordForMedia(
201 Profile* profile, const FilePath& disk_cache_path) {
202 // TODO(hclam): since we don't have an implementation of disk cache backend
203 // for media files in OTR mode, we create a request context just like the
204 // original one.
205 DCHECK(profile->IsOffTheRecord());
206 return CreateRequestContextForMedia(profile, disk_cache_path, true);
207 }
208
209 // static
210 ChromeURLRequestContext* 200 ChromeURLRequestContext*
211 ChromeURLRequestContext::CreateOffTheRecordForExtensions(Profile* profile) { 201 ChromeURLRequestContext::CreateOffTheRecordForExtensions(Profile* profile) {
212 DCHECK(profile->IsOffTheRecord()); 202 DCHECK(profile->IsOffTheRecord());
213 ChromeURLRequestContext* context = new ChromeURLRequestContext(profile); 203 ChromeURLRequestContext* context = new ChromeURLRequestContext(profile);
214 context->cookie_store_ = new net::CookieMonster; 204 context->cookie_store_ = new net::CookieMonster;
215 205
216 // Enable cookies for extension URLs only. 206 // Enable cookies for extension URLs only.
217 const char* schemes[] = {chrome::kExtensionScheme}; 207 const char* schemes[] = {chrome::kExtensionScheme};
218 context->cookie_store_->SetCookieableSchemes(schemes, 1); 208 context->cookie_store_->SetCookieableSchemes(schemes, 1);
219 209
220 return context; 210 return context;
221 } 211 }
222 212
223 // static 213 // static
224 ChromeURLRequestContext* ChromeURLRequestContext::CreateRequestContextForMedia( 214 ChromeURLRequestContext* ChromeURLRequestContext::CreateRequestContextForMedia(
225 Profile* profile, const FilePath& disk_cache_path, bool off_the_record) { 215 Profile* profile, const FilePath& disk_cache_path, bool off_the_record) {
226 URLRequestContext* original_context = 216 URLRequestContext* original_context =
227 profile->GetOriginalProfile()->GetRequestContext(); 217 profile->GetOriginalProfile()->GetRequestContext();
228 ChromeURLRequestContext* context = new ChromeURLRequestContext(profile); 218 ChromeURLRequestContext* context = new ChromeURLRequestContext(profile);
229 context->is_media_ = true; 219 context->is_media_ = true;
230 220
231 // Share the same proxy service of the common profile. 221 // Share the same proxy service of the common profile.
232 context->proxy_service_ = original_context->proxy_service(); 222 context->proxy_service_ = original_context->proxy_service();
233 // Also share the cookie store of the common profile. 223 // Also share the cookie store of the common profile.
234 context->cookie_store_ = original_context->cookie_store(); 224 context->cookie_store_ = original_context->cookie_store();
235 225
236 // Create a media cache with maximum size of ~1.8GB, which is a 226 // Create a media cache with default size.
237 // size cache backend won't complain.
238 // TODO(hclam): make the maximum size of media cache configurable. 227 // TODO(hclam): make the maximum size of media cache configurable.
239 net::HttpCache* original_cache = 228 net::HttpCache* original_cache =
240 original_context->http_transaction_factory()->GetCache(); 229 original_context->http_transaction_factory()->GetCache();
241 net::HttpCache* cache; 230 net::HttpCache* cache;
242 if (original_cache) { 231 if (original_cache) {
243 // Try to reuse HttpNetworkSession in the original context, assuming that 232 // Try to reuse HttpNetworkSession in the original context, assuming that
244 // HttpTransactionFactory (network_layer()) of HttpCache is implemented 233 // HttpTransactionFactory (network_layer()) of HttpCache is implemented
245 // by HttpNetworkLayer so we can reuse HttpNetworkSession within it. This 234 // by HttpNetworkLayer so we can reuse HttpNetworkSession within it. This
246 // assumption will be invalid if the original HttpCache is constructed with 235 // assumption will be invalid if the original HttpCache is constructed with
247 // HttpCache(HttpTransactionFactory*, disk_cache::Backend*) constructor. 236 // HttpCache(HttpTransactionFactory*, disk_cache::Backend*) constructor.
248 net::HttpNetworkLayer* original_network_layer = 237 net::HttpNetworkLayer* original_network_layer =
249 static_cast<net::HttpNetworkLayer*>(original_cache->network_layer()); 238 static_cast<net::HttpNetworkLayer*>(original_cache->network_layer());
250 cache = new net::HttpCache(original_network_layer->GetSession(), 239 cache = new net::HttpCache(original_network_layer->GetSession(),
251 disk_cache_path.ToWStringHack(), kint32max - kint32max / 10 - 1); 240 disk_cache_path.ToWStringHack(), 0);
252 } else { 241 } else {
253 // If original HttpCache doesn't exist, simply construct one with a whole 242 // If original HttpCache doesn't exist, simply construct one with a whole
254 // new set of network stack. 243 // new set of network stack.
255 cache = new net::HttpCache(original_context->proxy_service(), 244 cache = new net::HttpCache(original_context->proxy_service(),
256 disk_cache_path.ToWStringHack(), kint32max - kint32max / 10 - 1); 245 disk_cache_path.ToWStringHack(), 0);
257 } 246 }
258 247
259 // Set the cache type to media. 248 cache->set_type(net::MEDIA_CACHE);
260 if (off_the_record) {
261 cache->set_type(net::TEMP_MEDIA_CACHE);
262 } else {
263 cache->set_type(net::MEDIA_CACHE);
264 }
265
266 context->http_transaction_factory_ = cache; 249 context->http_transaction_factory_ = cache;
267 return context; 250 return context;
268 } 251 }
269 252
270 ChromeURLRequestContext::ChromeURLRequestContext(Profile* profile) 253 ChromeURLRequestContext::ChromeURLRequestContext(Profile* profile)
271 : prefs_(profile->GetPrefs()), 254 : prefs_(profile->GetPrefs()),
272 is_media_(false), 255 is_media_(false),
273 is_off_the_record_(profile->IsOffTheRecord()) { 256 is_off_the_record_(profile->IsOffTheRecord()) {
274 // Set up Accept-Language and Accept-Charset header values 257 // Set up Accept-Language and Accept-Charset header values
275 accept_language_ = net::HttpUtil::GenerateAcceptLanguageHeader( 258 accept_language_ = net::HttpUtil::GenerateAcceptLanguageHeader(
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 // Do not delete the cookie store in the case of the media context, as it is 409 // Do not delete the cookie store in the case of the media context, as it is
427 // owned by the original context. 410 // owned by the original context.
428 if (!is_media_) 411 if (!is_media_)
429 delete cookie_store_; 412 delete cookie_store_;
430 413
431 // Do not delete the proxy service in the case of OTR or media contexts, as 414 // Do not delete the proxy service in the case of OTR or media contexts, as
432 // it is owned by the original URLRequestContext. 415 // it is owned by the original URLRequestContext.
433 if (!is_off_the_record_ && !is_media_) 416 if (!is_off_the_record_ && !is_media_)
434 delete proxy_service_; 417 delete proxy_service_;
435 } 418 }
OLDNEW
« no previous file with comments | « chrome/browser/net/chrome_url_request_context.h ('k') | chrome/browser/profile.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698