| OLD | NEW |
| 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 <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 77 class NetworkDelegate; | 77 class NetworkDelegate; |
| 78 class NetworkQualityEstimator; | 78 class NetworkQualityEstimator; |
| 79 class ProxyConfigService; | 79 class ProxyConfigService; |
| 80 class ProxyService; | 80 class ProxyService; |
| 81 class SSLConfigService; | 81 class SSLConfigService; |
| 82 class TransportSecurityState; | 82 class TransportSecurityState; |
| 83 class URLRequestBackoffManager; | 83 class URLRequestBackoffManager; |
| 84 class URLRequestContext; | 84 class URLRequestContext; |
| 85 class URLRequestContextGetter; | 85 class URLRequestContextGetter; |
| 86 class URLRequestJobFactory; | 86 class URLRequestJobFactory; |
| 87 |
| 88 namespace ct { |
| 89 class CTObserver; |
| 90 class STHObserver; |
| 91 class STHReporter; |
| 92 } // namespace ct |
| 93 |
| 87 } // namespace net | 94 } // namespace net |
| 88 | 95 |
| 89 namespace net_log { | 96 namespace net_log { |
| 90 class ChromeNetLog; | 97 class ChromeNetLog; |
| 91 } | 98 } |
| 92 | 99 |
| 93 namespace policy { | 100 namespace policy { |
| 94 class PolicyService; | 101 class PolicyService; |
| 95 } // namespace policy | 102 } // namespace policy |
| 96 | 103 |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 scoped_ptr<net::URLRequestContext> proxy_script_fetcher_context; | 170 scoped_ptr<net::URLRequestContext> proxy_script_fetcher_context; |
| 164 scoped_ptr<net::ProxyService> system_proxy_service; | 171 scoped_ptr<net::ProxyService> system_proxy_service; |
| 165 scoped_ptr<net::HttpNetworkSession> system_http_network_session; | 172 scoped_ptr<net::HttpNetworkSession> system_http_network_session; |
| 166 scoped_ptr<net::HttpTransactionFactory> system_http_transaction_factory; | 173 scoped_ptr<net::HttpTransactionFactory> system_http_transaction_factory; |
| 167 scoped_ptr<net::URLRequestJobFactory> system_url_request_job_factory; | 174 scoped_ptr<net::URLRequestJobFactory> system_url_request_job_factory; |
| 168 scoped_ptr<net::URLRequestContext> system_request_context; | 175 scoped_ptr<net::URLRequestContext> system_request_context; |
| 169 SystemRequestContextLeakChecker system_request_context_leak_checker; | 176 SystemRequestContextLeakChecker system_request_context_leak_checker; |
| 170 // |system_cookie_store| and |system_channel_id_service| are shared | 177 // |system_cookie_store| and |system_channel_id_service| are shared |
| 171 // between |proxy_script_fetcher_context| and |system_request_context|. | 178 // between |proxy_script_fetcher_context| and |system_request_context|. |
| 172 scoped_ptr<net::CookieStore> system_cookie_store; | 179 scoped_ptr<net::CookieStore> system_cookie_store; |
| 180 |
| 181 // Used by the cert_transparency_verifier. See IOThread::CleanUp |
| 182 // on lifetime management of this object. |
| 183 scoped_ptr<net::ct::CTObserver> cert_transparency_observer; |
| 173 #if defined(ENABLE_EXTENSIONS) | 184 #if defined(ENABLE_EXTENSIONS) |
| 174 scoped_refptr<extensions::EventRouterForwarder> | 185 scoped_refptr<extensions::EventRouterForwarder> |
| 175 extension_event_router_forwarder; | 186 extension_event_router_forwarder; |
| 176 #endif | 187 #endif |
| 177 scoped_ptr<net::HostMappingRules> host_mapping_rules; | 188 scoped_ptr<net::HostMappingRules> host_mapping_rules; |
| 178 scoped_ptr<net::HttpUserAgentSettings> http_user_agent_settings; | 189 scoped_ptr<net::HttpUserAgentSettings> http_user_agent_settings; |
| 179 scoped_ptr<net::NetworkQualityEstimator> network_quality_estimator; | 190 scoped_ptr<net::NetworkQualityEstimator> network_quality_estimator; |
| 180 | 191 |
| 181 // NetErrorTabHelper uses |dns_probe_service| to send DNS probes when a | 192 // NetErrorTabHelper uses |dns_probe_service| to send DNS probes when a |
| 182 // main frame load fails with a DNS error in order to provide more useful | 193 // main frame load fails with a DNS error in order to provide more useful |
| (...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 426 void ClearHostCache(); | 437 void ClearHostCache(); |
| 427 | 438 |
| 428 const net::HttpNetworkSession::Params& NetworkSessionParams() const; | 439 const net::HttpNetworkSession::Params& NetworkSessionParams() const; |
| 429 | 440 |
| 430 base::TimeTicks creation_time() const; | 441 base::TimeTicks creation_time() const; |
| 431 | 442 |
| 432 // Returns true if QUIC should be enabled for data reduction proxy, either as | 443 // Returns true if QUIC should be enabled for data reduction proxy, either as |
| 433 // a result of a field trial or a command line flag. | 444 // a result of a field trial or a command line flag. |
| 434 static bool ShouldEnableQuicForDataReductionProxy(); | 445 static bool ShouldEnableQuicForDataReductionProxy(); |
| 435 | 446 |
| 447 // Sets the reporter for new STH reports. Observers created by this |
| 448 // class and other classes will be registered with it (the IOThread |
| 449 // class will manage registration). |
| 450 // Does not take ownership of |reporter| as it will out-live the IOThread. |
| 451 void RegisterSTHReporter(net::ct::STHReporter* reporter); |
| 452 // Registers the |observer| for new STH notifications. |
| 453 void RegisterSTHObserver(net::ct::STHObserver* observer); |
| 454 // Un-registers the |observer|. |
| 455 void UnregisterSTHObserver(net::ct::STHObserver* observer); |
| 456 |
| 436 // Returns the callback for updating data use prefs. | 457 // Returns the callback for updating data use prefs. |
| 437 const metrics::UpdateUsagePrefCallbackType& GetMetricsDataUseForwarder(); | 458 const metrics::UpdateUsagePrefCallbackType& GetMetricsDataUseForwarder(); |
| 438 | 459 |
| 439 private: | 460 private: |
| 440 // Provide SystemURLRequestContextGetter with access to | 461 // Provide SystemURLRequestContextGetter with access to |
| 441 // InitSystemRequestContext(). | 462 // InitSystemRequestContext(). |
| 442 friend class SystemURLRequestContextGetter; | 463 friend class SystemURLRequestContextGetter; |
| 443 | 464 |
| 444 friend class test::IOThreadPeer; | 465 friend class test::IOThreadPeer; |
| 445 | 466 |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 559 | 580 |
| 560 scoped_refptr<net::URLRequestContextGetter> | 581 scoped_refptr<net::URLRequestContextGetter> |
| 561 system_url_request_context_getter_; | 582 system_url_request_context_getter_; |
| 562 | 583 |
| 563 // True if SPDY is allowed by policy. | 584 // True if SPDY is allowed by policy. |
| 564 bool is_spdy_allowed_by_policy_; | 585 bool is_spdy_allowed_by_policy_; |
| 565 | 586 |
| 566 // True if QUIC is allowed by policy. | 587 // True if QUIC is allowed by policy. |
| 567 bool is_quic_allowed_by_policy_; | 588 bool is_quic_allowed_by_policy_; |
| 568 | 589 |
| 590 // Owned by the STHSet component, is null before it's created. |
| 591 net::ct::STHReporter* sth_reporter_; |
| 592 |
| 593 // Keeps track of all the STHObserver instances that need |
| 594 // to get notification of new STHs, from this class |
| 595 // and ProfileIOData. |
| 596 std::set<net::ct::STHObserver*> sth_observers_; |
| 597 |
| 569 const base::TimeTicks creation_time_; | 598 const base::TimeTicks creation_time_; |
| 570 | 599 |
| 571 // Callback for updating data use prefs which needs to be initialized on UI | 600 // Callback for updating data use prefs which needs to be initialized on UI |
| 572 // thread and passed to |ChromeNetworkDelegate|. | 601 // thread and passed to |ChromeNetworkDelegate|. |
| 573 metrics::UpdateUsagePrefCallbackType metrics_data_use_forwarder_; | 602 metrics::UpdateUsagePrefCallbackType metrics_data_use_forwarder_; |
| 574 | 603 |
| 575 base::WeakPtrFactory<IOThread> weak_factory_; | 604 base::WeakPtrFactory<IOThread> weak_factory_; |
| 576 | 605 |
| 577 DISALLOW_COPY_AND_ASSIGN(IOThread); | 606 DISALLOW_COPY_AND_ASSIGN(IOThread); |
| 578 }; | 607 }; |
| 579 | 608 |
| 580 #endif // CHROME_BROWSER_IO_THREAD_H_ | 609 #endif // CHROME_BROWSER_IO_THREAD_H_ |
| OLD | NEW |