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