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

Side by Side Diff: chrome/browser/profiles/off_the_record_profile_impl.cc

Issue 12079097: Introduce PrefRegistrySyncable, simplifying PrefServiceSyncable. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add to PrefRegistrySyncable and PrefServiceSyncable to let sync know of pre-registered prefs. Created 7 years, 10 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 | 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 #include "chrome/browser/profiles/off_the_record_profile_impl.h" 5 #include "chrome/browser/profiles/off_the_record_profile_impl.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/file_path.h" 10 #include "base/file_path.h"
(...skipping 14 matching lines...) Expand all
25 #include "chrome/browser/extensions/extension_info_map.h" 25 #include "chrome/browser/extensions/extension_info_map.h"
26 #include "chrome/browser/extensions/extension_pref_store.h" 26 #include "chrome/browser/extensions/extension_pref_store.h"
27 #include "chrome/browser/extensions/extension_service.h" 27 #include "chrome/browser/extensions/extension_service.h"
28 #include "chrome/browser/extensions/extension_special_storage_policy.h" 28 #include "chrome/browser/extensions/extension_special_storage_policy.h"
29 #include "chrome/browser/extensions/extension_system.h" 29 #include "chrome/browser/extensions/extension_system.h"
30 #include "chrome/browser/io_thread.h" 30 #include "chrome/browser/io_thread.h"
31 #include "chrome/browser/net/proxy_service_factory.h" 31 #include "chrome/browser/net/proxy_service_factory.h"
32 #include "chrome/browser/plugins/chrome_plugin_service_filter.h" 32 #include "chrome/browser/plugins/chrome_plugin_service_filter.h"
33 #include "chrome/browser/plugins/plugin_prefs.h" 33 #include "chrome/browser/plugins/plugin_prefs.h"
34 #include "chrome/browser/prefs/incognito_mode_prefs.h" 34 #include "chrome/browser/prefs/incognito_mode_prefs.h"
35 #include "chrome/browser/prefs/pref_service.h" 35 #include "chrome/browser/prefs/pref_service_syncable.h"
36 #include "chrome/browser/profiles/profile_dependency_manager.h" 36 #include "chrome/browser/profiles/profile_dependency_manager.h"
37 #include "chrome/browser/themes/theme_service.h" 37 #include "chrome/browser/themes/theme_service.h"
38 #include "chrome/browser/ui/webui/extensions/extension_icon_source.h" 38 #include "chrome/browser/ui/webui/extensions/extension_icon_source.h"
39 #include "chrome/common/chrome_constants.h" 39 #include "chrome/common/chrome_constants.h"
40 #include "chrome/common/chrome_paths.h" 40 #include "chrome/common/chrome_paths.h"
41 #include "chrome/common/chrome_switches.h" 41 #include "chrome/common/chrome_switches.h"
42 #include "chrome/common/extensions/extension.h" 42 #include "chrome/common/extensions/extension.h"
43 #include "chrome/common/pref_names.h" 43 #include "chrome/common/pref_names.h"
44 #include "chrome/common/render_messages.h" 44 #include "chrome/common/render_messages.h"
45 #include "content/public/browser/browser_thread.h" 45 #include "content/public/browser/browser_thread.h"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 void NotifyOTRProfileDestroyedOnIOThread(void* original_profile, 78 void NotifyOTRProfileDestroyedOnIOThread(void* original_profile,
79 void* otr_profile) { 79 void* otr_profile) {
80 ExtensionWebRequestEventRouter::GetInstance()->OnOTRProfileDestroyed( 80 ExtensionWebRequestEventRouter::GetInstance()->OnOTRProfileDestroyed(
81 original_profile, otr_profile); 81 original_profile, otr_profile);
82 } 82 }
83 83
84 } // namespace 84 } // namespace
85 85
86 OffTheRecordProfileImpl::OffTheRecordProfileImpl(Profile* real_profile) 86 OffTheRecordProfileImpl::OffTheRecordProfileImpl(Profile* real_profile)
87 : profile_(real_profile), 87 : profile_(real_profile),
88 prefs_(real_profile->GetOffTheRecordPrefs()), 88 prefs_(PrefServiceSyncable::IncognitoFromProfile(real_profile)),
Mattias Nissler (ping if slow) 2013/02/06 17:53:33 Do we really need a PrefServiceSyncable typed poin
Jói 2013/02/07 14:52:32 I think we probably could, but we'd be casting it
Mattias Nissler (ping if slow) 2013/02/08 11:26:56 OK for now.
89 ALLOW_THIS_IN_INITIALIZER_LIST(io_data_(this)), 89 ALLOW_THIS_IN_INITIALIZER_LIST(io_data_(this)),
90 start_time_(Time::Now()) { 90 start_time_(Time::Now()) {
91 } 91 }
92 92
93 void OffTheRecordProfileImpl::Init() { 93 void OffTheRecordProfileImpl::Init() {
94 ProfileDependencyManager::GetInstance()->CreateProfileServices(this, false); 94 ProfileDependencyManager::GetInstance()->CreateProfileServices(this, false);
95 95
96 extensions::ExtensionSystem::Get(this)->InitForOTRProfile(); 96 extensions::ExtensionSystem::Get(this)->InitForOTRProfile();
97 97
98 DCHECK_NE(IncognitoModePrefs::DISABLED, 98 DCHECK_NE(IncognitoModePrefs::DISABLED,
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 231
232 policy::ManagedModePolicyProvider* 232 policy::ManagedModePolicyProvider*
233 OffTheRecordProfileImpl::GetManagedModePolicyProvider() { 233 OffTheRecordProfileImpl::GetManagedModePolicyProvider() {
234 return profile_->GetManagedModePolicyProvider(); 234 return profile_->GetManagedModePolicyProvider();
235 } 235 }
236 236
237 policy::PolicyService* OffTheRecordProfileImpl::GetPolicyService() { 237 policy::PolicyService* OffTheRecordProfileImpl::GetPolicyService() {
238 return profile_->GetPolicyService(); 238 return profile_->GetPolicyService();
239 } 239 }
240 240
241 PrefServiceSyncable* OffTheRecordProfileImpl::GetPrefs() { 241 PrefService* OffTheRecordProfileImpl::GetPrefs() {
242 return prefs_; 242 return prefs_;
243 } 243 }
244 244
245 PrefServiceSyncable* OffTheRecordProfileImpl::GetOffTheRecordPrefs() { 245 PrefService* OffTheRecordProfileImpl::GetOffTheRecordPrefs() {
246 return prefs_; 246 return prefs_;
247 } 247 }
248 248
249 DownloadManagerDelegate* OffTheRecordProfileImpl::GetDownloadManagerDelegate() { 249 DownloadManagerDelegate* OffTheRecordProfileImpl::GetDownloadManagerDelegate() {
250 return DownloadServiceFactory::GetForProfile(this)-> 250 return DownloadServiceFactory::GetForProfile(this)->
251 GetDownloadManagerDelegate(); 251 GetDownloadManagerDelegate();
252 } 252 }
253 253
254 net::URLRequestContextGetter* OffTheRecordProfileImpl::GetRequestContext() { 254 net::URLRequestContextGetter* OffTheRecordProfileImpl::GetRequestContext() {
255 return io_data_.GetMainRequestContextGetter(); 255 return io_data_.GetMainRequestContextGetter();
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
449 // Special case of the OffTheRecordProfileImpl which is used while Guest 449 // Special case of the OffTheRecordProfileImpl which is used while Guest
450 // session in CrOS. 450 // session in CrOS.
451 class GuestSessionProfile : public OffTheRecordProfileImpl { 451 class GuestSessionProfile : public OffTheRecordProfileImpl {
452 public: 452 public:
453 explicit GuestSessionProfile(Profile* real_profile) 453 explicit GuestSessionProfile(Profile* real_profile)
454 : OffTheRecordProfileImpl(real_profile) { 454 : OffTheRecordProfileImpl(real_profile) {
455 } 455 }
456 456
457 virtual void InitChromeOSPreferences() { 457 virtual void InitChromeOSPreferences() {
458 chromeos_preferences_.reset(new chromeos::Preferences()); 458 chromeos_preferences_.reset(new chromeos::Preferences());
459 chromeos_preferences_->Init(GetPrefs()); 459 chromeos_preferences_->Init(static_cast<PrefServiceSyncable*>(GetPrefs()));
460 } 460 }
461 461
462 private: 462 private:
463 // The guest user should be able to customize Chrome OS preferences. 463 // The guest user should be able to customize Chrome OS preferences.
464 scoped_ptr<chromeos::Preferences> chromeos_preferences_; 464 scoped_ptr<chromeos::Preferences> chromeos_preferences_;
465 }; 465 };
466 #endif 466 #endif
467 467
468 Profile* Profile::CreateOffTheRecordProfile() { 468 Profile* Profile::CreateOffTheRecordProfile() {
469 OffTheRecordProfileImpl* profile = NULL; 469 OffTheRecordProfileImpl* profile = NULL;
470 #if defined(OS_CHROMEOS) 470 #if defined(OS_CHROMEOS)
471 if (IsGuestSession()) 471 if (IsGuestSession())
472 profile = new GuestSessionProfile(this); 472 profile = new GuestSessionProfile(this);
473 #endif 473 #endif
474 if (!profile) 474 if (!profile)
475 profile = new OffTheRecordProfileImpl(this); 475 profile = new OffTheRecordProfileImpl(this);
476 profile->Init(); 476 profile->Init();
477 return profile; 477 return profile;
478 } 478 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698