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

Side by Side Diff: chrome/browser/io_thread.h

Issue 1414313002: Allow dynamic updating of authentication policies (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix IOS compile problem - attempt 3 Created 5 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 unified diff | Download patch
« no previous file with comments | « no previous file | chrome/browser/io_thread.cc » ('j') | chrome/browser/io_thread.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #ifndef CHROME_BROWSER_IO_THREAD_H_ 5 #ifndef CHROME_BROWSER_IO_THREAD_H_
6 #define CHROME_BROWSER_IO_THREAD_H_ 6 #define CHROME_BROWSER_IO_THREAD_H_
7 7
8 #include <map> 8 #include <map>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 57
58 namespace net { 58 namespace net {
59 class CertPolicyEnforcer; 59 class CertPolicyEnforcer;
60 class CertVerifier; 60 class CertVerifier;
61 class ChannelIDService; 61 class ChannelIDService;
62 class CookieStore; 62 class CookieStore;
63 class CTVerifier; 63 class CTVerifier;
64 class FtpTransactionFactory; 64 class FtpTransactionFactory;
65 class HostMappingRules; 65 class HostMappingRules;
66 class HostResolver; 66 class HostResolver;
67 class HttpAuthHandlerFactory; 67 class HttpAuthHandlerRegistryFactory;
68 class HttpNetworkSession; 68 class HttpNetworkSession;
69 class HttpServerProperties; 69 class HttpServerProperties;
70 class HttpTransactionFactory; 70 class HttpTransactionFactory;
71 class HttpUserAgentSettings; 71 class HttpUserAgentSettings;
72 class NetworkDelegate; 72 class NetworkDelegate;
73 class NetworkQualityEstimator; 73 class NetworkQualityEstimator;
74 class ProxyConfigService; 74 class ProxyConfigService;
75 class ProxyService; 75 class ProxyService;
76 class SSLConfigService; 76 class SSLConfigService;
77 class TransportSecurityState; 77 class TransportSecurityState;
78 class URLRequestBackoffManager; 78 class URLRequestBackoffManager;
79 class URLRequestContext; 79 class URLRequestContext;
80 class URLRequestContextGetter; 80 class URLRequestContextGetter;
81 class URLRequestJobFactory; 81 class URLRequestJobFactory;
82 class URLSecurityManager; 82 class HttpAuthPreferences;
83 } // namespace net 83 } // namespace net
84 84
85 namespace net_log { 85 namespace net_log {
86 class ChromeNetLog; 86 class ChromeNetLog;
87 } 87 }
88 88
89 namespace policy { 89 namespace policy {
90 class PolicyService; 90 class PolicyService;
91 } // namespace policy 91 } // namespace policy
92 92
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 scoped_ptr<net::ProxyService> proxy_script_fetcher_proxy_service; 161 scoped_ptr<net::ProxyService> proxy_script_fetcher_proxy_service;
162 scoped_ptr<net::HttpNetworkSession> 162 scoped_ptr<net::HttpNetworkSession>
163 proxy_script_fetcher_http_network_session; 163 proxy_script_fetcher_http_network_session;
164 scoped_ptr<net::HttpTransactionFactory> 164 scoped_ptr<net::HttpTransactionFactory>
165 proxy_script_fetcher_http_transaction_factory; 165 proxy_script_fetcher_http_transaction_factory;
166 scoped_ptr<net::FtpTransactionFactory> 166 scoped_ptr<net::FtpTransactionFactory>
167 proxy_script_fetcher_ftp_transaction_factory; 167 proxy_script_fetcher_ftp_transaction_factory;
168 scoped_ptr<net::URLRequestJobFactory> 168 scoped_ptr<net::URLRequestJobFactory>
169 proxy_script_fetcher_url_request_job_factory; 169 proxy_script_fetcher_url_request_job_factory;
170 scoped_ptr<net::URLRequestBackoffManager> url_request_backoff_manager; 170 scoped_ptr<net::URLRequestBackoffManager> url_request_backoff_manager;
171 scoped_ptr<net::URLSecurityManager> url_security_manager; 171 scoped_ptr<net::HttpAuthPreferences> http_auth_preferences;
172 // TODO(willchan): Remove proxy script fetcher context since it's not 172 // TODO(willchan): Remove proxy script fetcher context since it's not
173 // necessary now that I got rid of refcounting URLRequestContexts. 173 // necessary now that I got rid of refcounting URLRequestContexts.
174 // 174 //
175 // The first URLRequestContext is |system_url_request_context|. We introduce 175 // The first URLRequestContext is |system_url_request_context|. We introduce
176 // |proxy_script_fetcher_context| for the second context. It has a direct 176 // |proxy_script_fetcher_context| for the second context. It has a direct
177 // ProxyService, since we always directly connect to fetch the PAC script. 177 // ProxyService, since we always directly connect to fetch the PAC script.
178 scoped_ptr<net::URLRequestContext> proxy_script_fetcher_context; 178 scoped_ptr<net::URLRequestContext> proxy_script_fetcher_context;
179 scoped_ptr<net::ProxyService> system_proxy_service; 179 scoped_ptr<net::ProxyService> system_proxy_service;
180 scoped_ptr<net::HttpNetworkSession> system_http_network_session; 180 scoped_ptr<net::HttpNetworkSession> system_http_network_session;
181 scoped_ptr<net::HttpTransactionFactory> system_http_transaction_factory; 181 scoped_ptr<net::HttpTransactionFactory> system_http_transaction_factory;
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
316 // Global state must be initialized on the IO thread, then this 316 // Global state must be initialized on the IO thread, then this
317 // method must be invoked on the UI thread. 317 // method must be invoked on the UI thread.
318 void InitSystemRequestContext(); 318 void InitSystemRequestContext();
319 319
320 // Lazy initialization of system request context for 320 // Lazy initialization of system request context for
321 // SystemURLRequestContextGetter. To be called on IO thread only 321 // SystemURLRequestContextGetter. To be called on IO thread only
322 // after global state has been initialized on the IO thread, and 322 // after global state has been initialized on the IO thread, and
323 // SystemRequestContext state has been initialized on the UI thread. 323 // SystemRequestContext state has been initialized on the UI thread.
324 void InitSystemRequestContextOnIOThread(); 324 void InitSystemRequestContextOnIOThread();
325 325
326 net::HttpAuthHandlerFactory* CreateDefaultAuthHandlerFactory( 326 void CreateDefaultAuthHandlerFactory();
327 net::HostResolver* resolver);
328 327
329 // Returns an SSLConfigService instance. 328 // Returns an SSLConfigService instance.
330 net::SSLConfigService* GetSSLConfigService(); 329 net::SSLConfigService* GetSSLConfigService();
331 330
332 void ChangedToOnTheRecordOnIOThread(); 331 void ChangedToOnTheRecordOnIOThread();
333 332
334 void UpdateDnsClientEnabled(); 333 void UpdateDnsClientEnabled();
334 void UpdateServerWhitelist();
335 void UpdateDelegateWhitelist();
336 void UpdateAndroidAuthNegotiateAccountType();
337 void UpdateNegotiateDisableCnameLookup();
338 void UpdateNegotiateEnablePort();
335 339
336 // Configures QUIC options based on the flags in |command_line| as 340 // Configures QUIC options based on the flags in |command_line| as
337 // well as the QUIC field trial group. 341 // well as the QUIC field trial group.
338 void ConfigureQuic(const base::CommandLine& command_line); 342 void ConfigureQuic(const base::CommandLine& command_line);
339 343
340 extensions::EventRouterForwarder* extension_event_router_forwarder() { 344 extensions::EventRouterForwarder* extension_event_router_forwarder() {
341 #if defined(ENABLE_EXTENSIONS) 345 #if defined(ENABLE_EXTENSIONS)
342 return extension_event_router_forwarder_; 346 return extension_event_router_forwarder_;
343 #else 347 #else
344 return NULL; 348 return NULL;
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
501 class LoggingNetworkChangeObserver; 505 class LoggingNetworkChangeObserver;
502 scoped_ptr<LoggingNetworkChangeObserver> network_change_observer_; 506 scoped_ptr<LoggingNetworkChangeObserver> network_change_observer_;
503 507
504 BooleanPrefMember system_enable_referrers_; 508 BooleanPrefMember system_enable_referrers_;
505 509
506 BooleanPrefMember dns_client_enabled_; 510 BooleanPrefMember dns_client_enabled_;
507 511
508 BooleanPrefMember quick_check_enabled_; 512 BooleanPrefMember quick_check_enabled_;
509 513
510 // Store HTTP Auth-related policies in this thread. 514 // Store HTTP Auth-related policies in this thread.
515 // TODO(aberent) Make the list of auth schemes a PrefMember, so that the
516 // policy can change after startup (https://crbug/549273).
511 std::string auth_schemes_; 517 std::string auth_schemes_;
512 bool negotiate_disable_cname_lookup_; 518 BooleanPrefMember negotiate_disable_cname_lookup_;
513 bool negotiate_enable_port_; 519 BooleanPrefMember negotiate_enable_port_;
514 std::string auth_server_whitelist_; 520 StringPrefMember auth_server_whitelist_;
515 std::string auth_delegate_whitelist_; 521 StringPrefMember auth_delegate_whitelist_;
522
523 #if defined(OS_ANDROID)
524 StringPrefMember auth_android_negotiate_account_type_;
525 #endif
526 #if defined(OS_POSIX) && !defined(OS_ANDROID)
527 // No PrefMember for the GSSAPI library name, since changing it after startup
528 // requires unloading the existing GSSAPI library, which could cause all sorts
529 // of problems for, for example, active Negotiate transactions.
516 std::string gssapi_library_name_; 530 std::string gssapi_library_name_;
517 std::string auth_android_negotiate_account_type_; 531 #endif
518 532
519 // This is an instance of the default SSLConfigServiceManager for the current 533 // This is an instance of the default SSLConfigServiceManager for the current
520 // platform and it gets SSL preferences from local_state object. 534 // platform and it gets SSL preferences from local_state object.
521 scoped_ptr<ssl_config::SSLConfigServiceManager> ssl_config_service_manager_; 535 scoped_ptr<ssl_config::SSLConfigServiceManager> ssl_config_service_manager_;
522 536
523 // These member variables are initialized by a task posted to the IO thread, 537 // These member variables are initialized by a task posted to the IO thread,
524 // which gets posted by calling certain member functions of IOThread. 538 // which gets posted by calling certain member functions of IOThread.
525 scoped_ptr<net::ProxyConfigService> system_proxy_config_service_; 539 scoped_ptr<net::ProxyConfigService> system_proxy_config_service_;
526 540
527 scoped_ptr<PrefProxyConfigTracker> pref_proxy_config_tracker_; 541 scoped_ptr<PrefProxyConfigTracker> pref_proxy_config_tracker_;
528 542
529 scoped_refptr<net::URLRequestContextGetter> 543 scoped_refptr<net::URLRequestContextGetter>
530 system_url_request_context_getter_; 544 system_url_request_context_getter_;
531 545
532 // True if SPDY is disabled by policy. 546 // True if SPDY is disabled by policy.
533 bool is_spdy_disabled_by_policy_; 547 bool is_spdy_disabled_by_policy_;
534 548
535 // True if QUIC is allowed by policy. 549 // True if QUIC is allowed by policy.
536 bool is_quic_allowed_by_policy_; 550 bool is_quic_allowed_by_policy_;
537 551
538 const base::TimeTicks creation_time_; 552 const base::TimeTicks creation_time_;
539 553
540 base::WeakPtrFactory<IOThread> weak_factory_; 554 base::WeakPtrFactory<IOThread> weak_factory_;
541 555
542 DISALLOW_COPY_AND_ASSIGN(IOThread); 556 DISALLOW_COPY_AND_ASSIGN(IOThread);
543 }; 557 };
544 558
545 #endif // CHROME_BROWSER_IO_THREAD_H_ 559 #endif // CHROME_BROWSER_IO_THREAD_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/io_thread.cc » ('j') | chrome/browser/io_thread.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698