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

Unified Diff: components/cronet/url_request_context_config.cc

Issue 586143002: Initial implementation of Cronet Async API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Sync Created 6 years, 1 month 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
« no previous file with comments | « components/cronet/url_request_context_config.h ('k') | components/cronet/url_request_context_config_list.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/cronet/url_request_context_config.cc
diff --git a/components/cronet/url_request_context_config.cc b/components/cronet/url_request_context_config.cc
index e76bba3b1bb6168fc3b0c5df5811f0e3bb46151c..75ef1b088f87b489e3f5125426e95257566098dc 100644
--- a/components/cronet/url_request_context_config.cc
+++ b/components/cronet/url_request_context_config.cc
@@ -4,6 +4,8 @@
#include "components/cronet/url_request_context_config.h"
+#include "base/json/json_reader.h"
+#include "base/values.h"
#include "net/url_request/url_request_context_builder.h"
namespace cronet {
@@ -37,6 +39,21 @@ URLRequestContextConfig::URLRequestContextConfig() {
URLRequestContextConfig::~URLRequestContextConfig() {
}
+bool URLRequestContextConfig::LoadFromJSON(const std::string& config_string) {
+ scoped_ptr<base::Value> config_value(base::JSONReader::Read(config_string));
+ if (!config_value || !config_value->IsType(base::Value::TYPE_DICTIONARY)) {
+ DLOG(ERROR) << "Bad JSON: " << config_string;
+ return false;
+ }
+
+ base::JSONValueConverter<URLRequestContextConfig> converter;
+ if (!converter.Convert(*config_value, this)) {
+ DLOG(ERROR) << "Bad Config: " << config_value;
+ return false;
+ }
+ return true;
+}
+
void URLRequestContextConfig::ConfigureURLRequestContextBuilder(
net::URLRequestContextBuilder* context_builder) {
std::string config_cache;
@@ -55,7 +72,7 @@ void URLRequestContextConfig::ConfigureURLRequestContextBuilder(
} else {
context_builder->DisableHttpCache();
}
-
+ context_builder->set_user_agent(user_agent);
context_builder->SetSpdyAndQuicEnabled(enable_spdy, enable_quic);
// TODO(mef): Use |config| to set cookies.
}
@@ -63,6 +80,10 @@ void URLRequestContextConfig::ConfigureURLRequestContextBuilder(
// static
void URLRequestContextConfig::RegisterJSONConverter(
base::JSONValueConverter<URLRequestContextConfig>* converter) {
+ converter->RegisterStringField(REQUEST_CONTEXT_CONFIG_USER_AGENT,
+ &URLRequestContextConfig::user_agent);
+ converter->RegisterStringField(REQUEST_CONTEXT_CONFIG_STORAGE_PATH,
+ &URLRequestContextConfig::storage_path);
converter->RegisterBoolField(REQUEST_CONTEXT_CONFIG_ENABLE_QUIC,
&URLRequestContextConfig::enable_quic);
converter->RegisterBoolField(REQUEST_CONTEXT_CONFIG_ENABLE_SPDY,
@@ -71,8 +92,6 @@ void URLRequestContextConfig::RegisterJSONConverter(
&URLRequestContextConfig::http_cache);
converter->RegisterIntField(REQUEST_CONTEXT_CONFIG_HTTP_CACHE_MAX_SIZE,
&URLRequestContextConfig::http_cache_max_size);
- converter->RegisterStringField(REQUEST_CONTEXT_CONFIG_STORAGE_PATH,
- &URLRequestContextConfig::storage_path);
converter->RegisterRepeatedMessage(REQUEST_CONTEXT_CONFIG_QUIC_HINTS,
&URLRequestContextConfig::quic_hints);
}
« no previous file with comments | « components/cronet/url_request_context_config.h ('k') | components/cronet/url_request_context_config_list.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698