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

Unified Diff: android_webview/browser/net/aw_url_request_context_getter.cc

Issue 11440036: [Android] Fix AwSettingsTest AppCache test crashes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years 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 side-by-side diff with in-line comments
Download patch
Index: android_webview/browser/net/aw_url_request_context_getter.cc
diff --git a/android_webview/browser/net/aw_url_request_context_getter.cc b/android_webview/browser/net/aw_url_request_context_getter.cc
index 9b51826dd5e52a775a8fd33d8ad8a298a1d60722..91409e5cb9b10fe48afaaa2e9ce4e6807479b1ad 100644
--- a/android_webview/browser/net/aw_url_request_context_getter.cc
+++ b/android_webview/browser/net/aw_url_request_context_getter.cc
@@ -14,6 +14,7 @@
#include "content/public/browser/resource_context.h"
#include "content/public/common/content_client.h"
#include "content/public/common/url_constants.h"
+#include "net/http/http_cache.h"
#include "net/proxy/proxy_service.h"
#include "net/url_request/data_protocol_handler.h"
#include "net/url_request/file_protocol_handler.h"
@@ -92,13 +93,6 @@ void AwURLRequestContextGetter::Init() {
builder.set_accept_charset(
net::HttpUtil::GenerateAcceptCharsetHeader("ISO-8859-1"));
- net::URLRequestContextBuilder::HttpCacheParams cache_params;
- cache_params.type = net::URLRequestContextBuilder::HttpCacheParams::DISK;
- cache_params.max_size = 10 * 1024 * 1024; // 10M
- cache_params.path =
- browser_context_->GetPath().Append(FILE_PATH_LITERAL("Cache")),
boliu 2012/12/06 15:36:39 Unrelated: comma at the end of line...how did this
mnaganov (inactive) 2012/12/06 16:44:56 That's http://en.wikipedia.org/wiki/Comma_operator
boliu 2012/12/06 17:44:02 Mind blown...
- builder.EnableHttpCache(cache_params);
-
url_request_context_.reset(builder.Build());
job_factory_.reset(new AwURLRequestJobFactory);
@@ -111,10 +105,38 @@ void AwURLRequestContextGetter::Init() {
job_factory_->AddInterceptor(new AwRequestInterceptor());
url_request_context_->set_job_factory(job_factory_.get());
+ net::HttpCache::DefaultBackend* main_backend =
boliu 2012/12/06 15:36:39 Can we add a TODO or NOTE saying builder doesn't s
mnaganov (inactive) 2012/12/06 16:44:56 Done.
+ new net::HttpCache::DefaultBackend(
+ net::DISK_CACHE,
+ browser_context_->GetPath().Append(FILE_PATH_LITERAL("Cache")),
+ 10 * 1024 * 1024, // 10M
+ BrowserThread::GetMessageLoopProxyForThread(BrowserThread::CACHE));
+ net::HttpNetworkSession::Params network_session_params;
+ PopulateNetworkSessionParams(&network_session_params);
+ net::HttpCache* main_cache = new net::HttpCache(
+ network_session_params, main_backend);
+ main_http_factory_.reset(main_cache);
boliu 2012/12/06 15:36:39 nit: combine this line and above so we never decla
mnaganov (inactive) 2012/12/06 16:44:56 Done.
+ url_request_context_->set_http_transaction_factory(main_cache);
+
OnNetworkStackInitialized(url_request_context_.get(),
job_factory_.get());
}
+void AwURLRequestContextGetter::PopulateNetworkSessionParams(
+ net::HttpNetworkSession::Params* params) {
+ net::URLRequestContext* context = url_request_context_.get();
+ params->host_resolver = context->host_resolver();
+ params->cert_verifier = context->cert_verifier();
+ params->server_bound_cert_service = context->server_bound_cert_service();
+ params->transport_security_state = context->transport_security_state();
+ params->proxy_service = context->proxy_service();
+ params->ssl_config_service = context->ssl_config_service();
+ params->http_auth_handler_factory = context->http_auth_handler_factory();
+ params->network_delegate = context->network_delegate();
+ params->http_server_properties = context->http_server_properties();
+ params->net_log = context->net_log();
+}
+
content::ResourceContext* AwURLRequestContextGetter::GetResourceContext() {
DCHECK(url_request_context_);
if (!resource_context_)

Powered by Google App Engine
This is Rietveld 408576698