Chromium Code Reviews| Index: components/cronet/url_request_context_config.h |
| diff --git a/components/cronet/url_request_context_config.h b/components/cronet/url_request_context_config.h |
| index 7953d2d8075fd7cf407ff6d8db7c6180fa88274d..06a8defb677dbcfac1c4779186dc686edd795df5 100644 |
| --- a/components/cronet/url_request_context_config.h |
| +++ b/components/cronet/url_request_context_config.h |
| @@ -7,7 +7,6 @@ |
| #include <string> |
| -#include "base/json/json_value_converter.h" |
| #include "base/macros.h" |
| #include "base/memory/scoped_vector.h" |
| @@ -19,78 +18,107 @@ class URLRequestContextBuilder; |
| namespace cronet { |
| // Common configuration parameters used by Cronet to configure |
| -// URLRequestContext. Can be parsed from JSON string passed through JNI. |
| +// URLRequestContext. |
| struct URLRequestContextConfig { |
| + // Type of HTTP cache. |
| + // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.net |
| + enum HttpCacheType { |
| + // No HTTP cache. |
| + DISABLED, |
| + // HTTP cache persisted to disk. |
| + DISK, |
| + // HTTP cache kept in memory. |
| + MEMORY, |
| + }; |
| + |
| // App-provided hint that server supports QUIC. |
| struct QuicHint { |
| - QuicHint(); |
| + QuicHint(const std::string& host, int port, int alternate_port); |
| ~QuicHint(); |
| - // Register |converter| for use in converter.Convert(). |
| - static void RegisterJSONConverter( |
| - base::JSONValueConverter<QuicHint>* converter); |
| - |
| // Host name of the server that supports QUIC. |
| - std::string host; |
| + const std::string host; |
| // Port of the server that supports QUIC. |
| - int port; |
| + const int port; |
| // Alternate protocol port. |
| - int alternate_port; |
| + const int alternate_port; |
| private: |
| DISALLOW_COPY_AND_ASSIGN(QuicHint); |
| }; |
| - URLRequestContextConfig(); |
| + URLRequestContextConfig( |
| + // Enable QUIC. |
| + bool enable_quic, |
| + // Enable SPDY. |
| + bool enable_spdy, |
| + // Enable SDCH. |
| + bool enable_sdch, |
| + // Type of http cache. |
| + HttpCacheType http_cache, |
| + // Max size of http cache in bytes. |
| + int http_cache_max_size, |
| + // Disable caching for HTTP responses. Other information may be stored in |
| + // the cache. |
| + bool load_disable_cache, |
| + // Storage path for http cache and cookie storage. |
| + const std::string& storage_path, |
| + // User-Agent request header field. |
| + const std::string& user_agent, |
| + // JSON encoded experimental options. |
| + const std::string& experimental_options, |
| + // Data reduction proxy key. |
| + const std::string& data_reduction_proxy_key, |
| + // Data reduction proxy. |
| + const std::string& data_reduction_primary_proxy, |
| + // Fallback data reduction proxy. |
| + const std::string& data_reduction_fallback_proxy, |
| + // Data reduction proxy secure proxy check URL. |
| + const std::string& data_reduction_secure_proxy_check_url, |
| + // MockCertVerifier to use for testing purposes. |
| + scoped_ptr<net::CertVerifier> mock_cert_verifier); |
| ~URLRequestContextConfig(); |
| - // Load config values from JSON format. |
| - bool LoadFromJSON(const std::string& config_string); |
| - |
| // Configure |context_builder| based on |this|. |
| void ConfigureURLRequestContextBuilder( |
| net::URLRequestContextBuilder* context_builder); |
| - // Register |converter| for use in converter.Convert(). |
| - static void RegisterJSONConverter( |
| - base::JSONValueConverter<URLRequestContextConfig>* converter); |
| - |
| // Enable QUIC. |
| - bool enable_quic; |
| + const bool enable_quic; |
| // Enable SPDY. |
| - bool enable_spdy; |
| + const bool enable_spdy; |
| // Enable SDCH. |
| - bool enable_sdch; |
| - // Type of http cache: "HTTP_CACHE_DISABLED", "HTTP_CACHE_DISK" or |
| - // "HTTP_CACHE_IN_MEMORY". |
| - std::string http_cache; |
| + const bool enable_sdch; |
| + // Type of http cache. |
| + const HttpCacheType http_cache; |
| // Max size of http cache in bytes. |
| - int http_cache_max_size; |
| + const int http_cache_max_size; |
| // Disable caching for HTTP responses. Other information may be stored in |
| // the cache. |
| - bool load_disable_cache; |
| + const bool load_disable_cache; |
| // Storage path for http cache and cookie storage. |
| - std::string storage_path; |
| + const std::string storage_path; |
| // User-Agent request header field. |
| - std::string user_agent; |
| - // App-provided list of servers that support QUIC. |
| - ScopedVector<QuicHint> quic_hints; |
| + const std::string user_agent; |
| // Experimental options encoded as a string in a JSON format containing |
| // experiments and their corresponding configuration options. The format |
| // is a JSON object with the name of the experiment as the key, and the |
| // configuration options as the value. An example: |
| // {"experiment1": {"option1": "option_value1", "option2": "option_value2", |
| // ...}, "experiment2: {"option3", "option_value3", ...}, ...} |
| - std::string experimental_options; |
| + const std::string experimental_options; |
| // Enable Data Reduction Proxy with authentication key. |
| - std::string data_reduction_proxy_key; |
| - std::string data_reduction_primary_proxy; |
| - std::string data_reduction_fallback_proxy; |
| - std::string data_reduction_secure_proxy_check_url; |
| + const std::string data_reduction_proxy_key; |
| + const std::string data_reduction_primary_proxy; |
| + const std::string data_reduction_fallback_proxy; |
| + const std::string data_reduction_secure_proxy_check_url; |
| // Certificate verifier for testing. |
| scoped_ptr<net::CertVerifier> mock_cert_verifier; |
| + // App-provided list of servers that support QUIC. |
| + ScopedVector<QuicHint> quic_hints; |
|
xunjieli
2015/12/01 20:40:20
optional nit (since it is in the original CL), Sco
pauljensen
2015/12/02 03:50:02
Let's leave that for another CL, especially becaus
|
| + |
| private: |
| DISALLOW_COPY_AND_ASSIGN(URLRequestContextConfig); |
| }; |