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

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

Issue 2892613002: IOThread: Use URLRequestContextBuilder::NetworkSessionParams. (Closed)
Patch Set: Merge Created 3 years, 6 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
« no previous file with comments | « no previous file | chrome/browser/io_thread.cc » ('j') | no next file with comments »
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 <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 15 matching lines...) Expand all
26 #include "chrome/common/features.h" 26 #include "chrome/common/features.h"
27 #include "components/metrics/data_use_tracker.h" 27 #include "components/metrics/data_use_tracker.h"
28 #include "components/prefs/pref_member.h" 28 #include "components/prefs/pref_member.h"
29 #include "components/ssl_config/ssl_config_service_manager.h" 29 #include "components/ssl_config/ssl_config_service_manager.h"
30 #include "content/public/browser/browser_thread.h" 30 #include "content/public/browser/browser_thread.h"
31 #include "content/public/browser/browser_thread_delegate.h" 31 #include "content/public/browser/browser_thread_delegate.h"
32 #include "extensions/features/features.h" 32 #include "extensions/features/features.h"
33 #include "net/base/network_change_notifier.h" 33 #include "net/base/network_change_notifier.h"
34 #include "net/http/http_network_session.h" 34 #include "net/http/http_network_session.h"
35 #include "net/nqe/network_quality_estimator.h" 35 #include "net/nqe/network_quality_estimator.h"
36 #include "net/url_request/url_request_context_builder.h"
36 37
37 class PrefProxyConfigTracker; 38 class PrefProxyConfigTracker;
38 class PrefService; 39 class PrefService;
39 class PrefRegistrySimple; 40 class PrefRegistrySimple;
40 41
41 #if defined(OS_ANDROID) 42 #if defined(OS_ANDROID)
42 namespace chrome { 43 namespace chrome {
43 namespace android { 44 namespace android {
44 class ExternalDataUseObserver; 45 class ExternalDataUseObserver;
45 } 46 }
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 // Returns a getter for the URLRequestContext. Only called on the UI thread. 194 // Returns a getter for the URLRequestContext. Only called on the UI thread.
194 net::URLRequestContextGetter* system_url_request_context_getter(); 195 net::URLRequestContextGetter* system_url_request_context_getter();
195 196
196 // Clears the host cache. Intended to be used to prevent exposing recently 197 // Clears the host cache. Intended to be used to prevent exposing recently
197 // visited sites on about:net-internals/#dns and about:dns pages. Must be 198 // visited sites on about:net-internals/#dns and about:dns pages. Must be
198 // called on the IO thread. If |host_filter| is not null, only hosts matched 199 // called on the IO thread. If |host_filter| is not null, only hosts matched
199 // by it are deleted from the cache. 200 // by it are deleted from the cache.
200 void ClearHostCache( 201 void ClearHostCache(
201 const base::Callback<bool(const std::string&)>& host_filter); 202 const base::Callback<bool(const std::string&)>& host_filter);
202 203
203 const net::HttpNetworkSession::Params& NetworkSessionParams() const; 204 net::HttpNetworkSession::Params NetworkSessionParams() const;
204 205
205 // Dynamically disables QUIC for HttpNetworkSessions owned by io_thread, and 206 // Dynamically disables QUIC for HttpNetworkSessions owned by io_thread, and
206 // to HttpNetworkSession::Params which are used for the creation of new 207 // to |params_| which are used for the creation of new
207 // HttpNetworkSessions. Not that re-enabling Quic dynamically is not 208 // HttpNetworkSessions. Note that re-enabling Quic dynamically is not
208 // supported for simplicity and requires a browser restart. 209 // supported for simplicity and requires a browser restart.
209 void DisableQuic(); 210 void DisableQuic();
210 211
211 base::TimeTicks creation_time() const; 212 base::TimeTicks creation_time() const;
212 213
213 // Returns the callback for updating data use prefs. 214 // Returns the callback for updating data use prefs.
214 metrics::UpdateUsagePrefCallbackType GetMetricsDataUseForwarder(); 215 metrics::UpdateUsagePrefCallbackType GetMetricsDataUseForwarder();
215 216
216 // Registers the |observer| for new STH notifications. 217 // Registers the |observer| for new STH notifications.
217 void RegisterSTHObserver(net::ct::STHObserver* observer); 218 void RegisterSTHObserver(net::ct::STHObserver* observer);
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
262 #endif 263 #endif
263 } 264 }
264 void ConstructSystemRequestContext(); 265 void ConstructSystemRequestContext();
265 266
266 // Parse command line flags and use components/network_session_configurator to 267 // Parse command line flags and use components/network_session_configurator to
267 // configure |params|. 268 // configure |params|.
268 static void ConfigureParamsFromFieldTrialsAndCommandLine( 269 static void ConfigureParamsFromFieldTrialsAndCommandLine(
269 const base::CommandLine& command_line, 270 const base::CommandLine& command_line,
270 bool is_quic_allowed_by_policy, 271 bool is_quic_allowed_by_policy,
271 bool http_09_on_non_default_ports_enabled, 272 bool http_09_on_non_default_ports_enabled,
272 net::HttpNetworkSession::Params* params); 273 net::URLRequestContextBuilder::HttpNetworkSessionParams* params);
273 274
274 // The NetLog is owned by the browser process, to allow logging from other 275 // The NetLog is owned by the browser process, to allow logging from other
275 // threads during shutdown, but is used most frequently on the IOThread. 276 // threads during shutdown, but is used most frequently on the IOThread.
276 net_log::ChromeNetLog* net_log_; 277 net_log::ChromeNetLog* net_log_;
277 278
278 #if BUILDFLAG(ENABLE_EXTENSIONS) 279 #if BUILDFLAG(ENABLE_EXTENSIONS)
279 // The extensions::EventRouterForwarder allows for sending events to 280 // The extensions::EventRouterForwarder allows for sending events to
280 // extensions from the IOThread. 281 // extensions from the IOThread.
281 extensions::EventRouterForwarder* extension_event_router_forwarder_; 282 extensions::EventRouterForwarder* extension_event_router_forwarder_;
282 #endif 283 #endif
283 284
284 // These member variables are basically global, but their lifetimes are tied 285 // These member variables are basically global, but their lifetimes are tied
285 // to the IOThread. IOThread owns them all, despite not using scoped_ptr. 286 // to the IOThread. IOThread owns them all, despite not using scoped_ptr.
286 // This is because the destructor of IOThread runs on the wrong thread. All 287 // This is because the destructor of IOThread runs on the wrong thread. All
287 // member variables should be deleted in CleanUp(). 288 // member variables should be deleted in CleanUp().
288 289
289 // These member variables are initialized in Init() and do not change for the 290 // These member variables are initialized in Init() and do not change for the
290 // lifetime of the IO thread. 291 // lifetime of the IO thread.
291 292
292 Globals* globals_; 293 Globals* globals_;
293 294
294 net::HttpNetworkSession::Params params_; 295 net::URLRequestContextBuilder::HttpNetworkSessionParams params_;
295 296
296 // Observer that logs network changes to the ChromeNetLog. 297 // Observer that logs network changes to the ChromeNetLog.
297 std::unique_ptr<net::LoggingNetworkChangeObserver> network_change_observer_; 298 std::unique_ptr<net::LoggingNetworkChangeObserver> network_change_observer_;
298 299
299 std::unique_ptr<certificate_transparency::TreeStateTracker> ct_tree_tracker_; 300 std::unique_ptr<certificate_transparency::TreeStateTracker> ct_tree_tracker_;
300 301
301 BooleanPrefMember system_enable_referrers_; 302 BooleanPrefMember system_enable_referrers_;
302 303
303 BooleanPrefMember dns_client_enabled_; 304 BooleanPrefMember dns_client_enabled_;
304 305
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
350 bool http_09_on_non_default_ports_enabled_; 351 bool http_09_on_non_default_ports_enabled_;
351 352
352 const base::TimeTicks creation_time_; 353 const base::TimeTicks creation_time_;
353 354
354 base::WeakPtrFactory<IOThread> weak_factory_; 355 base::WeakPtrFactory<IOThread> weak_factory_;
355 356
356 DISALLOW_COPY_AND_ASSIGN(IOThread); 357 DISALLOW_COPY_AND_ASSIGN(IOThread);
357 }; 358 };
358 359
359 #endif // CHROME_BROWSER_IO_THREAD_H_ 360 #endif // CHROME_BROWSER_IO_THREAD_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/io_thread.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698