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

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 compile error on Windows and component build link error Created 5 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 unified diff | Download patch
« no previous file with comments | « no previous file | chrome/browser/io_thread.cc » ('j') | net/http/http_auth_preferences.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>
11 #include <vector> 11 #include <vector>
12 12
13 #include "base/basictypes.h" 13 #include "base/basictypes.h"
14 #include "base/compiler_specific.h" 14 #include "base/compiler_specific.h"
15 #include "base/memory/ref_counted.h" 15 #include "base/memory/ref_counted.h"
16 #include "base/memory/scoped_ptr.h" 16 #include "base/memory/scoped_ptr.h"
17 #include "base/memory/weak_ptr.h" 17 #include "base/memory/weak_ptr.h"
18 #include "base/prefs/pref_member.h" 18 #include "base/prefs/pref_member.h"
19 #include "base/strings/string_piece.h" 19 #include "base/strings/string_piece.h"
20 #include "base/time/time.h" 20 #include "base/time/time.h"
21 #include "chrome/browser/net/chrome_network_delegate.h" 21 #include "chrome/browser/net/chrome_network_delegate.h"
22 #include "components/data_usage/core/data_use_aggregator.h" 22 #include "components/data_usage/core/data_use_aggregator.h"
23 #include "components/ssl_config/ssl_config_service_manager.h" 23 #include "components/ssl_config/ssl_config_service_manager.h"
24 #include "content/public/browser/browser_thread.h" 24 #include "content/public/browser/browser_thread.h"
25 #include "content/public/browser/browser_thread_delegate.h" 25 #include "content/public/browser/browser_thread_delegate.h"
26 #include "net/base/network_change_notifier.h" 26 #include "net/base/network_change_notifier.h"
27 #include "net/http/http_auth_preferences.h"
27 #include "net/http/http_network_session.h" 28 #include "net/http/http_network_session.h"
28 #include "net/socket/next_proto.h" 29 #include "net/socket/next_proto.h"
29 30
30 class PrefProxyConfigTracker; 31 class PrefProxyConfigTracker;
31 class PrefService; 32 class PrefService;
32 class PrefRegistrySimple; 33 class PrefRegistrySimple;
33 class SystemURLRequestContextGetter; 34 class SystemURLRequestContextGetter;
34 35
35 namespace base { 36 namespace base {
36 class CommandLine; 37 class CommandLine;
(...skipping 17 matching lines...) Expand all
54 55
55 namespace net { 56 namespace net {
56 class CertPolicyEnforcer; 57 class CertPolicyEnforcer;
57 class CertVerifier; 58 class CertVerifier;
58 class ChannelIDService; 59 class ChannelIDService;
59 class CookieStore; 60 class CookieStore;
60 class CTVerifier; 61 class CTVerifier;
61 class FtpTransactionFactory; 62 class FtpTransactionFactory;
62 class HostMappingRules; 63 class HostMappingRules;
63 class HostResolver; 64 class HostResolver;
64 class HttpAuthHandlerFactory; 65 class HttpAuthHandlerRegistryFactory;
65 class HttpNetworkSession; 66 class HttpNetworkSession;
66 class HttpServerProperties; 67 class HttpServerProperties;
67 class HttpTransactionFactory; 68 class HttpTransactionFactory;
68 class HttpUserAgentSettings; 69 class HttpUserAgentSettings;
69 class NetworkDelegate; 70 class NetworkDelegate;
70 class NetworkQualityEstimator; 71 class NetworkQualityEstimator;
71 class ProxyConfigService; 72 class ProxyConfigService;
72 class ProxyService; 73 class ProxyService;
73 class SSLConfigService; 74 class SSLConfigService;
74 class TransportSecurityState; 75 class TransportSecurityState;
75 class URLRequestBackoffManager; 76 class URLRequestBackoffManager;
76 class URLRequestContext; 77 class URLRequestContext;
77 class URLRequestContextGetter; 78 class URLRequestContextGetter;
78 class URLRequestJobFactory; 79 class URLRequestJobFactory;
79 class URLSecurityManager;
80 } // namespace net 80 } // namespace net
81 81
82 namespace net_log { 82 namespace net_log {
83 class ChromeNetLog; 83 class ChromeNetLog;
84 } 84 }
85 85
86 namespace policy { 86 namespace policy {
87 class PolicyService; 87 class PolicyService;
88 } // namespace policy 88 } // namespace policy
89 89
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 scoped_ptr<net::ProxyService> proxy_script_fetcher_proxy_service; 150 scoped_ptr<net::ProxyService> proxy_script_fetcher_proxy_service;
151 scoped_ptr<net::HttpNetworkSession> 151 scoped_ptr<net::HttpNetworkSession>
152 proxy_script_fetcher_http_network_session; 152 proxy_script_fetcher_http_network_session;
153 scoped_ptr<net::HttpTransactionFactory> 153 scoped_ptr<net::HttpTransactionFactory>
154 proxy_script_fetcher_http_transaction_factory; 154 proxy_script_fetcher_http_transaction_factory;
155 scoped_ptr<net::FtpTransactionFactory> 155 scoped_ptr<net::FtpTransactionFactory>
156 proxy_script_fetcher_ftp_transaction_factory; 156 proxy_script_fetcher_ftp_transaction_factory;
157 scoped_ptr<net::URLRequestJobFactory> 157 scoped_ptr<net::URLRequestJobFactory>
158 proxy_script_fetcher_url_request_job_factory; 158 proxy_script_fetcher_url_request_job_factory;
159 scoped_ptr<net::URLRequestBackoffManager> url_request_backoff_manager; 159 scoped_ptr<net::URLRequestBackoffManager> url_request_backoff_manager;
160 scoped_ptr<net::URLSecurityManager> url_security_manager;
161 // TODO(willchan): Remove proxy script fetcher context since it's not 160 // TODO(willchan): Remove proxy script fetcher context since it's not
162 // necessary now that I got rid of refcounting URLRequestContexts. 161 // necessary now that I got rid of refcounting URLRequestContexts.
163 // 162 //
164 // The first URLRequestContext is |system_url_request_context|. We introduce 163 // The first URLRequestContext is |system_url_request_context|. We introduce
165 // |proxy_script_fetcher_context| for the second context. It has a direct 164 // |proxy_script_fetcher_context| for the second context. It has a direct
166 // ProxyService, since we always directly connect to fetch the PAC script. 165 // ProxyService, since we always directly connect to fetch the PAC script.
167 scoped_ptr<net::URLRequestContext> proxy_script_fetcher_context; 166 scoped_ptr<net::URLRequestContext> proxy_script_fetcher_context;
168 scoped_ptr<net::ProxyService> system_proxy_service; 167 scoped_ptr<net::ProxyService> system_proxy_service;
169 scoped_ptr<net::HttpNetworkSession> system_http_network_session; 168 scoped_ptr<net::HttpNetworkSession> system_http_network_session;
170 scoped_ptr<net::HttpTransactionFactory> system_http_transaction_factory; 169 scoped_ptr<net::HttpTransactionFactory> system_http_transaction_factory;
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 // Global state must be initialized on the IO thread, then this 312 // Global state must be initialized on the IO thread, then this
314 // method must be invoked on the UI thread. 313 // method must be invoked on the UI thread.
315 void InitSystemRequestContext(); 314 void InitSystemRequestContext();
316 315
317 // Lazy initialization of system request context for 316 // Lazy initialization of system request context for
318 // SystemURLRequestContextGetter. To be called on IO thread only 317 // SystemURLRequestContextGetter. To be called on IO thread only
319 // after global state has been initialized on the IO thread, and 318 // after global state has been initialized on the IO thread, and
320 // SystemRequestContext state has been initialized on the UI thread. 319 // SystemRequestContext state has been initialized on the UI thread.
321 void InitSystemRequestContextOnIOThread(); 320 void InitSystemRequestContextOnIOThread();
322 321
323 net::HttpAuthHandlerFactory* CreateDefaultAuthHandlerFactory( 322 void CreateDefaultAuthHandlerFactory();
324 net::HostResolver* resolver);
325 323
326 // Returns an SSLConfigService instance. 324 // Returns an SSLConfigService instance.
327 net::SSLConfigService* GetSSLConfigService(); 325 net::SSLConfigService* GetSSLConfigService();
328 326
329 void ChangedToOnTheRecordOnIOThread(); 327 void ChangedToOnTheRecordOnIOThread();
330 328
331 void UpdateDnsClientEnabled(); 329 void UpdateDnsClientEnabled();
330 void UpdateServerWhitelist();
331 void UpdateDelegateWhitelist();
332 void UpdateAndroidAuthNegotiateAccountType();
333 void UpdateNegotiateDisableCnameLookup();
334 void UpdateNegotiateEnablePort();
332 335
333 // Configures QUIC options based on the flags in |command_line| as 336 // Configures QUIC options based on the flags in |command_line| as
334 // well as the QUIC field trial group. 337 // well as the QUIC field trial group.
335 void ConfigureQuic(const base::CommandLine& command_line); 338 void ConfigureQuic(const base::CommandLine& command_line);
336 339
337 extensions::EventRouterForwarder* extension_event_router_forwarder() { 340 extensions::EventRouterForwarder* extension_event_router_forwarder() {
338 #if defined(ENABLE_EXTENSIONS) 341 #if defined(ENABLE_EXTENSIONS)
339 return extension_event_router_forwarder_; 342 return extension_event_router_forwarder_;
340 #else 343 #else
341 return NULL; 344 return NULL;
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
497 // Observer that logs network changes to the ChromeNetLog. 500 // Observer that logs network changes to the ChromeNetLog.
498 class LoggingNetworkChangeObserver; 501 class LoggingNetworkChangeObserver;
499 scoped_ptr<LoggingNetworkChangeObserver> network_change_observer_; 502 scoped_ptr<LoggingNetworkChangeObserver> network_change_observer_;
500 503
501 BooleanPrefMember system_enable_referrers_; 504 BooleanPrefMember system_enable_referrers_;
502 505
503 BooleanPrefMember dns_client_enabled_; 506 BooleanPrefMember dns_client_enabled_;
504 507
505 BooleanPrefMember quick_check_enabled_; 508 BooleanPrefMember quick_check_enabled_;
506 509
507 // Store HTTP Auth-related policies in this thread. 510 net::HttpAuthPreferences http_auth_preferences_;
508 std::string auth_schemes_;
509 bool negotiate_disable_cname_lookup_;
510 bool negotiate_enable_port_;
511 std::string auth_server_whitelist_;
512 std::string auth_delegate_whitelist_;
513 std::string gssapi_library_name_;
514 std::string auth_android_negotiate_account_type_;
515 511
516 // This is an instance of the default SSLConfigServiceManager for the current 512 // This is an instance of the default SSLConfigServiceManager for the current
517 // platform and it gets SSL preferences from local_state object. 513 // platform and it gets SSL preferences from local_state object.
518 scoped_ptr<ssl_config::SSLConfigServiceManager> ssl_config_service_manager_; 514 scoped_ptr<ssl_config::SSLConfigServiceManager> ssl_config_service_manager_;
519 515
520 // These member variables are initialized by a task posted to the IO thread, 516 // These member variables are initialized by a task posted to the IO thread,
521 // which gets posted by calling certain member functions of IOThread. 517 // which gets posted by calling certain member functions of IOThread.
522 scoped_ptr<net::ProxyConfigService> system_proxy_config_service_; 518 scoped_ptr<net::ProxyConfigService> system_proxy_config_service_;
523 519
524 scoped_ptr<PrefProxyConfigTracker> pref_proxy_config_tracker_; 520 scoped_ptr<PrefProxyConfigTracker> pref_proxy_config_tracker_;
(...skipping 17 matching lines...) Expand all
542 #endif // defined(OS_ANDROID) 538 #endif // defined(OS_ANDROID)
543 539
544 const base::TimeTicks creation_time_; 540 const base::TimeTicks creation_time_;
545 541
546 base::WeakPtrFactory<IOThread> weak_factory_; 542 base::WeakPtrFactory<IOThread> weak_factory_;
547 543
548 DISALLOW_COPY_AND_ASSIGN(IOThread); 544 DISALLOW_COPY_AND_ASSIGN(IOThread);
549 }; 545 };
550 546
551 #endif // CHROME_BROWSER_IO_THREAD_H_ 547 #endif // CHROME_BROWSER_IO_THREAD_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/io_thread.cc » ('j') | net/http/http_auth_preferences.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698