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

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

Issue 1845113003: Certificate Transparency: Start tracking logs' state (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Catching up with master Created 4 years, 8 months 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
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 <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
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
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698