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

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: Addressing review comments 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 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698