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

Side by Side Diff: chrome/browser/profiles/profile_io_data.h

Issue 1124333010: Shut down Profile's URLRequestContextGetters safely. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@fetcher
Patch Set: Cleanup Created 5 years, 7 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_PROFILES_PROFILE_IO_DATA_H_ 5 #ifndef CHROME_BROWSER_PROFILES_PROFILE_IO_DATA_H_
6 #define CHROME_BROWSER_PROFILES_PROFILE_IO_DATA_H_ 6 #define CHROME_BROWSER_PROFILES_PROFILE_IO_DATA_H_
7 7
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after
321 void ApplyProfileParamsToContext(net::URLRequestContext* context) const; 321 void ApplyProfileParamsToContext(net::URLRequestContext* context) const;
322 322
323 scoped_ptr<net::URLRequestJobFactory> SetUpJobFactoryDefaults( 323 scoped_ptr<net::URLRequestJobFactory> SetUpJobFactoryDefaults(
324 scoped_ptr<net::URLRequestJobFactoryImpl> job_factory, 324 scoped_ptr<net::URLRequestJobFactoryImpl> job_factory,
325 content::URLRequestInterceptorScopedVector request_interceptors, 325 content::URLRequestInterceptorScopedVector request_interceptors,
326 scoped_ptr<ProtocolHandlerRegistry::JobInterceptorFactory> 326 scoped_ptr<ProtocolHandlerRegistry::JobInterceptorFactory>
327 protocol_handler_interceptor, 327 protocol_handler_interceptor,
328 net::NetworkDelegate* network_delegate, 328 net::NetworkDelegate* network_delegate,
329 net::FtpTransactionFactory* ftp_transaction_factory) const; 329 net::FtpTransactionFactory* ftp_transaction_factory) const;
330 330
331 // Called when the profile is destroyed. 331 // Called when the Profile is destroyed. |context_getters| must include all
332 // URLRequestContextGetters that refer to the ProfileIOData's
333 // URLRequestContexts. Triggers destruction of the ProfileIOData and shuts
334 // down |context_getters| safely on the IO thread.
335 // TODO(mmenke): Passing all those URLRequestContextGetters around like this
336 // is really silly. Can we do something cleaner?
332 void ShutdownOnUIThread( 337 void ShutdownOnUIThread(
333 scoped_ptr<ChromeURLRequestContextGetterVector> context_getters); 338 scoped_ptr<ChromeURLRequestContextGetterVector> context_getters);
334 339
335 // A ChannelIDService object is created by a derived class of 340 // A ChannelIDService object is created by a derived class of
336 // ProfileIOData, and the derived class calls this method to set the 341 // ProfileIOData, and the derived class calls this method to set the
337 // channel_id_service_ member and transfers ownership to the base 342 // channel_id_service_ member and transfers ownership to the base
338 // class. 343 // class.
339 void set_channel_id_service( 344 void set_channel_id_service(
340 net::ChannelIDService* channel_id_service) const; 345 net::ChannelIDService* channel_id_service) const;
341 346
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
576 581
577 // TODO(jhawkins): Remove once crbug.com/102004 is fixed. 582 // TODO(jhawkins): Remove once crbug.com/102004 is fixed.
578 bool initialized_on_UI_thread_; 583 bool initialized_on_UI_thread_;
579 584
580 const Profile::ProfileType profile_type_; 585 const Profile::ProfileType profile_type_;
581 586
582 DISALLOW_COPY_AND_ASSIGN(ProfileIOData); 587 DISALLOW_COPY_AND_ASSIGN(ProfileIOData);
583 }; 588 };
584 589
585 #endif // CHROME_BROWSER_PROFILES_PROFILE_IO_DATA_H_ 590 #endif // CHROME_BROWSER_PROFILES_PROFILE_IO_DATA_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698