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

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

Issue 61323002: Fix broken threading model in CheckDesktopNotificationPermission (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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 | Annotate | Revision Log
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 <string> 8 #include <string>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 11 matching lines...) Expand all
22 #include "chrome/common/content_settings_types.h" 22 #include "chrome/common/content_settings_types.h"
23 #include "content/public/browser/content_browser_client.h" 23 #include "content/public/browser/content_browser_client.h"
24 #include "content/public/browser/resource_context.h" 24 #include "content/public/browser/resource_context.h"
25 #include "net/cookies/cookie_monster.h" 25 #include "net/cookies/cookie_monster.h"
26 #include "net/http/http_network_session.h" 26 #include "net/http/http_network_session.h"
27 #include "net/url_request/url_request_job_factory.h" 27 #include "net/url_request/url_request_job_factory.h"
28 28
29 class ChromeHttpUserAgentSettings; 29 class ChromeHttpUserAgentSettings;
30 class ChromeNetworkDelegate; 30 class ChromeNetworkDelegate;
31 class CookieSettings; 31 class CookieSettings;
32 class DesktopNotificationService;
33 class ExtensionInfoMap; 32 class ExtensionInfoMap;
34 class HostContentSettingsMap; 33 class HostContentSettingsMap;
35 class ManagedModeURLFilter; 34 class ManagedModeURLFilter;
36 class Profile; 35 class Profile;
37 class ProtocolHandlerRegistry; 36 class ProtocolHandlerRegistry;
38 class SigninNamesOnIOThread; 37 class SigninNamesOnIOThread;
39 class TransportSecurityPersister; 38 class TransportSecurityPersister;
40 39
41 namespace chrome_browser_net { 40 namespace chrome_browser_net {
42 class LoadTimeStats; 41 class LoadTimeStats;
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 ChromeURLRequestContext* app_context, 109 ChromeURLRequestContext* app_context,
111 const StoragePartitionDescriptor& partition_descriptor) const; 110 const StoragePartitionDescriptor& partition_descriptor) const;
112 111
113 // These are useful when the Chrome layer is called from the content layer 112 // These are useful when the Chrome layer is called from the content layer
114 // with a content::ResourceContext, and they want access to Chrome data for 113 // with a content::ResourceContext, and they want access to Chrome data for
115 // that profile. 114 // that profile.
116 ExtensionInfoMap* GetExtensionInfoMap() const; 115 ExtensionInfoMap* GetExtensionInfoMap() const;
117 CookieSettings* GetCookieSettings() const; 116 CookieSettings* GetCookieSettings() const;
118 HostContentSettingsMap* GetHostContentSettingsMap() const; 117 HostContentSettingsMap* GetHostContentSettingsMap() const;
119 118
120 #if defined(ENABLE_NOTIFICATIONS)
121 DesktopNotificationService* GetNotificationService() const;
122 #endif
123
124 IntegerPrefMember* session_startup_pref() const { 119 IntegerPrefMember* session_startup_pref() const {
125 return &session_startup_pref_; 120 return &session_startup_pref_;
126 } 121 }
127 122
128 SigninNamesOnIOThread* signin_names() const { 123 SigninNamesOnIOThread* signin_names() const {
129 return signin_names_.get(); 124 return signin_names_.get();
130 } 125 }
131 126
132 StringPrefMember* google_services_username() const { 127 StringPrefMember* google_services_username() const {
133 return &google_services_username_; 128 return &google_services_username_;
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 base::FilePath path; 242 base::FilePath path;
248 IOThread* io_thread; 243 IOThread* io_thread;
249 scoped_refptr<CookieSettings> cookie_settings; 244 scoped_refptr<CookieSettings> cookie_settings;
250 scoped_refptr<HostContentSettingsMap> host_content_settings_map; 245 scoped_refptr<HostContentSettingsMap> host_content_settings_map;
251 scoped_refptr<net::SSLConfigService> ssl_config_service; 246 scoped_refptr<net::SSLConfigService> ssl_config_service;
252 scoped_refptr<net::CookieMonster::Delegate> cookie_monster_delegate; 247 scoped_refptr<net::CookieMonster::Delegate> cookie_monster_delegate;
253 scoped_refptr<ExtensionInfoMap> extension_info_map; 248 scoped_refptr<ExtensionInfoMap> extension_info_map;
254 scoped_ptr<chrome_browser_net::ResourcePrefetchPredictorObserver> 249 scoped_ptr<chrome_browser_net::ResourcePrefetchPredictorObserver>
255 resource_prefetch_predictor_observer_; 250 resource_prefetch_predictor_observer_;
256 251
257 #if defined(ENABLE_NOTIFICATIONS)
258 DesktopNotificationService* notification_service;
259 #endif
260
261 // This pointer exists only as a means of conveying a url job factory 252 // This pointer exists only as a means of conveying a url job factory
262 // pointer from the protocol handler registry on the UI thread to the 253 // pointer from the protocol handler registry on the UI thread to the
263 // the URLRequestContext on the IO thread. The consumer MUST take 254 // the URLRequestContext on the IO thread. The consumer MUST take
264 // ownership of the object by calling release() on this pointer. 255 // ownership of the object by calling release() on this pointer.
265 scoped_ptr<ProtocolHandlerRegistry::JobInterceptorFactory> 256 scoped_ptr<ProtocolHandlerRegistry::JobInterceptorFactory>
266 protocol_handler_interceptor; 257 protocol_handler_interceptor;
267 258
268 // We need to initialize the ProxyConfigService from the UI thread 259 // We need to initialize the ProxyConfigService from the UI thread
269 // because on linux it relies on initializing things through gconf, 260 // because on linux it relies on initializing things through gconf,
270 // and needs to be on the main thread. 261 // and needs to be on the main thread.
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
494 mutable scoped_ptr<net::FraudulentCertificateReporter> 485 mutable scoped_ptr<net::FraudulentCertificateReporter>
495 fraudulent_certificate_reporter_; 486 fraudulent_certificate_reporter_;
496 mutable scoped_ptr<net::ProxyService> proxy_service_; 487 mutable scoped_ptr<net::ProxyService> proxy_service_;
497 mutable scoped_ptr<net::TransportSecurityState> transport_security_state_; 488 mutable scoped_ptr<net::TransportSecurityState> transport_security_state_;
498 mutable scoped_ptr<net::HttpServerProperties> 489 mutable scoped_ptr<net::HttpServerProperties>
499 http_server_properties_; 490 http_server_properties_;
500 #if defined(OS_CHROMEOS) 491 #if defined(OS_CHROMEOS)
501 mutable scoped_ptr<net::CertVerifier> cert_verifier_; 492 mutable scoped_ptr<net::CertVerifier> cert_verifier_;
502 #endif 493 #endif
503 494
504 #if defined(ENABLE_NOTIFICATIONS)
505 mutable DesktopNotificationService* notification_service_;
506 #endif
507
508 mutable scoped_ptr<TransportSecurityPersister> 495 mutable scoped_ptr<TransportSecurityPersister>
509 transport_security_persister_; 496 transport_security_persister_;
510 497
511 // These are only valid in between LazyInitialize() and their accessor being 498 // These are only valid in between LazyInitialize() and their accessor being
512 // called. 499 // called.
513 mutable scoped_ptr<ChromeURLRequestContext> main_request_context_; 500 mutable scoped_ptr<ChromeURLRequestContext> main_request_context_;
514 mutable scoped_ptr<ChromeURLRequestContext> extensions_request_context_; 501 mutable scoped_ptr<ChromeURLRequestContext> extensions_request_context_;
515 // One URLRequestContext per isolated app for main and media requests. 502 // One URLRequestContext per isolated app for main and media requests.
516 mutable URLRequestContextMap app_request_context_map_; 503 mutable URLRequestContextMap app_request_context_map_;
517 mutable URLRequestContextMap isolated_media_request_context_map_; 504 mutable URLRequestContextMap isolated_media_request_context_map_;
(...skipping 18 matching lines...) Expand all
536 523
537 // TODO(jhawkins): Remove once crbug.com/102004 is fixed. 524 // TODO(jhawkins): Remove once crbug.com/102004 is fixed.
538 bool initialized_on_UI_thread_; 525 bool initialized_on_UI_thread_;
539 526
540 bool is_incognito_; 527 bool is_incognito_;
541 528
542 DISALLOW_COPY_AND_ASSIGN(ProfileIOData); 529 DISALLOW_COPY_AND_ASSIGN(ProfileIOData);
543 }; 530 };
544 531
545 #endif // CHROME_BROWSER_PROFILES_PROFILE_IO_DATA_H_ 532 #endif // CHROME_BROWSER_PROFILES_PROFILE_IO_DATA_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698