Make URLRequestContext setters private
Settings context's members after it is built, is a violation of a
contract, so let's make it impossible.
Bug: 1282359, 1282361
Change-Id: I3b4bf19f92ac929e1c6d6def36b231926616217d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3545978
Reviewed-by: Stefano Duo <[email protected]>
Reviewed-by: Christian Dullweber <[email protected]>
Reviewed-by: Kenichi Ishibashi <[email protected]>
Reviewed-by: Rohit Rao <[email protected]>
Commit-Queue: Yutaka Hirano <[email protected]>
Cr-Commit-Position: refs/heads/main@{#986541}
diff --git a/net/url_request/url_request_context.h b/net/url_request/url_request_context.h
index a87d328..ed96c73 100644
--- a/net/url_request/url_request_context.h
+++ b/net/url_request/url_request_context.h
@@ -41,16 +41,20 @@
class HttpUserAgentSettings;
class NetLog;
class NetworkDelegate;
+class NetworkErrorLoggingService;
class NetworkQualityEstimator;
class ProxyDelegate;
class ProxyResolutionService;
class QuicContext;
+class ReportingService;
class SCTAuditingDelegate;
class SSLConfigService;
class TransportSecurityState;
class URLRequest;
class URLRequestJobFactory;
class URLRequestThrottlerManager;
+class URLRequestContextStorage;
+class URLRequestContextBuilder;
#if BUILDFLAG(ENABLE_REPORTING)
class NetworkErrorLoggingService;
@@ -123,73 +127,37 @@
NetLog* net_log() const { return net_log_; }
- void set_net_log(NetLog* net_log) {
- net_log_ = net_log;
- }
-
HostResolver* host_resolver() const {
return host_resolver_;
}
- void set_host_resolver(HostResolver* host_resolver) {
- DCHECK(host_resolver);
- host_resolver_ = host_resolver;
- }
-
CertVerifier* cert_verifier() const {
return cert_verifier_;
}
- void set_cert_verifier(CertVerifier* cert_verifier) {
- cert_verifier_ = cert_verifier;
- }
-
// Get the proxy service for this context.
ProxyResolutionService* proxy_resolution_service() const {
return proxy_resolution_service_;
}
- void set_proxy_resolution_service(
- ProxyResolutionService* proxy_resolution_service) {
- proxy_resolution_service_ = proxy_resolution_service;
- }
ProxyDelegate* proxy_delegate() const { return proxy_delegate_; }
- void set_proxy_delegate(ProxyDelegate* proxy_delegate) {
- proxy_delegate_ = proxy_delegate;
- }
// Get the ssl config service for this context.
SSLConfigService* ssl_config_service() const { return ssl_config_service_; }
- void set_ssl_config_service(SSLConfigService* service) {
- ssl_config_service_ = service;
- }
// Gets the HTTP Authentication Handler Factory for this context.
// The factory is only valid for the lifetime of this URLRequestContext
HttpAuthHandlerFactory* http_auth_handler_factory() const {
return http_auth_handler_factory_;
}
- void set_http_auth_handler_factory(HttpAuthHandlerFactory* factory) {
- http_auth_handler_factory_ = factory;
- }
// Gets the http transaction factory for this context.
HttpTransactionFactory* http_transaction_factory() const {
return http_transaction_factory_;
}
- void set_http_transaction_factory(HttpTransactionFactory* factory) {
- http_transaction_factory_ = factory;
- }
- void set_network_delegate(NetworkDelegate* network_delegate) {
- network_delegate_ = network_delegate;
- }
NetworkDelegate* network_delegate() const { return network_delegate_; }
- void set_http_server_properties(
- HttpServerProperties* http_server_properties) {
- http_server_properties_ = http_server_properties;
- }
HttpServerProperties* http_server_properties() const {
return http_server_properties_;
}
@@ -197,45 +165,25 @@
// Gets the cookie store for this context (may be null, in which case
// cookies are not stored).
CookieStore* cookie_store() const { return cookie_store_; }
- void set_cookie_store(CookieStore* cookie_store);
TransportSecurityState* transport_security_state() const {
return transport_security_state_;
}
- void set_transport_security_state(
- TransportSecurityState* state) {
- transport_security_state_ = state;
- }
CTPolicyEnforcer* ct_policy_enforcer() const { return ct_policy_enforcer_; }
- void set_ct_policy_enforcer(CTPolicyEnforcer* enforcer) {
- ct_policy_enforcer_ = enforcer;
- }
SCTAuditingDelegate* sct_auditing_delegate() const {
return sct_auditing_delegate_;
}
- void set_sct_auditing_delegate(SCTAuditingDelegate* delegate) {
- sct_auditing_delegate_ = delegate;
- }
const URLRequestJobFactory* job_factory() const { return job_factory_; }
- void set_job_factory(const URLRequestJobFactory* job_factory) {
- job_factory_ = job_factory;
- }
// May return nullptr.
URLRequestThrottlerManager* throttler_manager() const {
return throttler_manager_;
}
- void set_throttler_manager(URLRequestThrottlerManager* throttler_manager) {
- throttler_manager_ = throttler_manager;
- }
QuicContext* quic_context() const { return quic_context_; }
- void set_quic_context(QuicContext* quic_context) {
- quic_context_ = quic_context;
- }
// Gets the URLRequest objects that hold a reference to this
// URLRequestContext.
@@ -253,52 +201,26 @@
const HttpUserAgentSettings* http_user_agent_settings() const {
return http_user_agent_settings_;
}
- void set_http_user_agent_settings(
- const HttpUserAgentSettings* http_user_agent_settings) {
- http_user_agent_settings_ = http_user_agent_settings;
- }
// Gets the NetworkQualityEstimator associated with this context.
// May return nullptr.
NetworkQualityEstimator* network_quality_estimator() const {
return network_quality_estimator_;
}
- void set_network_quality_estimator(
- NetworkQualityEstimator* network_quality_estimator) {
- network_quality_estimator_ = network_quality_estimator;
- }
#if BUILDFLAG(ENABLE_REPORTING)
ReportingService* reporting_service() const { return reporting_service_; }
- void set_reporting_service(ReportingService* reporting_service) {
- reporting_service_ = reporting_service;
- }
NetworkErrorLoggingService* network_error_logging_service() const {
return network_error_logging_service_;
}
- void set_network_error_logging_service(
- NetworkErrorLoggingService* network_error_logging_service) {
- network_error_logging_service_ = network_error_logging_service;
- }
#endif // BUILDFLAG(ENABLE_REPORTING)
- void set_enable_brotli(bool enable_brotli) { enable_brotli_ = enable_brotli; }
-
bool enable_brotli() const { return enable_brotli_; }
- // Sets the |check_cleartext_permitted| flag, which controls whether to check
- // system policy before allowing a cleartext http or ws request.
- void set_check_cleartext_permitted(bool check_cleartext_permitted) {
- check_cleartext_permitted_ = check_cleartext_permitted;
- }
-
// Returns current value of the |check_cleartext_permitted| flag.
bool check_cleartext_permitted() const { return check_cleartext_permitted_; }
- void set_require_network_isolation_key(bool require_network_isolation_key) {
- require_network_isolation_key_ = require_network_isolation_key;
- }
bool require_network_isolation_key() const {
return require_network_isolation_key_;
}
@@ -308,15 +230,97 @@
NetworkChangeNotifier::NetworkHandle bound_network() const {
return bound_network_;
}
- void set_bound_network(NetworkChangeNotifier::NetworkHandle network) {
- bound_network_ = network;
- }
void AssertCalledOnValidThread() {
DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
}
+ // DEPRECATED: Do not use this even in tests. This is for a legacy use.
+ void SetJobFactoryForTesting(const URLRequestJobFactory* job_factory) {
+ job_factory_ = job_factory;
+ }
+
private:
+ friend class URLRequestContextStorage;
+ friend class URLRequestContextBuilder;
+ void set_net_log(NetLog* net_log) { net_log_ = net_log; }
+ void set_host_resolver(HostResolver* host_resolver) {
+ DCHECK(host_resolver);
+ host_resolver_ = host_resolver;
+ }
+ void set_cert_verifier(CertVerifier* cert_verifier) {
+ cert_verifier_ = cert_verifier;
+ }
+ void set_proxy_resolution_service(
+ ProxyResolutionService* proxy_resolution_service) {
+ proxy_resolution_service_ = proxy_resolution_service;
+ }
+ void set_proxy_delegate(ProxyDelegate* proxy_delegate) {
+ proxy_delegate_ = proxy_delegate;
+ }
+ void set_ssl_config_service(SSLConfigService* service) {
+ ssl_config_service_ = service;
+ }
+ void set_http_auth_handler_factory(HttpAuthHandlerFactory* factory) {
+ http_auth_handler_factory_ = factory;
+ }
+ void set_http_transaction_factory(HttpTransactionFactory* factory) {
+ http_transaction_factory_ = factory;
+ }
+ void set_network_delegate(NetworkDelegate* network_delegate) {
+ network_delegate_ = network_delegate;
+ }
+ void set_http_server_properties(
+ HttpServerProperties* http_server_properties) {
+ http_server_properties_ = http_server_properties;
+ }
+ void set_cookie_store(CookieStore* cookie_store);
+ void set_transport_security_state(TransportSecurityState* state) {
+ transport_security_state_ = state;
+ }
+ void set_ct_policy_enforcer(CTPolicyEnforcer* enforcer) {
+ ct_policy_enforcer_ = enforcer;
+ }
+ void set_sct_auditing_delegate(SCTAuditingDelegate* delegate) {
+ sct_auditing_delegate_ = delegate;
+ }
+ void set_job_factory(const URLRequestJobFactory* job_factory) {
+ job_factory_ = job_factory;
+ }
+ void set_throttler_manager(URLRequestThrottlerManager* throttler_manager) {
+ throttler_manager_ = throttler_manager;
+ }
+ void set_quic_context(QuicContext* quic_context) {
+ quic_context_ = quic_context;
+ }
+ void set_http_user_agent_settings(
+ const HttpUserAgentSettings* http_user_agent_settings) {
+ http_user_agent_settings_ = http_user_agent_settings;
+ }
+ void set_network_quality_estimator(
+ NetworkQualityEstimator* network_quality_estimator) {
+ network_quality_estimator_ = network_quality_estimator;
+ }
+#if BUILDFLAG(ENABLE_REPORTING)
+ void set_reporting_service(ReportingService* reporting_service) {
+ reporting_service_ = reporting_service;
+ }
+ void set_network_error_logging_service(
+ NetworkErrorLoggingService* network_error_logging_service) {
+ network_error_logging_service_ = network_error_logging_service;
+ }
+#endif // BUILDFLAG(ENABLE_REPORTING)
+ void set_enable_brotli(bool enable_brotli) { enable_brotli_ = enable_brotli; }
+ void set_check_cleartext_permitted(bool check_cleartext_permitted) {
+ check_cleartext_permitted_ = check_cleartext_permitted;
+ }
+ void set_require_network_isolation_key(bool require_network_isolation_key) {
+ require_network_isolation_key_ = require_network_isolation_key;
+ }
+ void set_bound_network(NetworkChangeNotifier::NetworkHandle network) {
+ bound_network_ = network;
+ }
+
// Ownership for these members are not defined here. Clients should either
// provide storage elsewhere or have a subclass take ownership.
raw_ptr<NetLog> net_log_;