OLD | NEW |
---|---|
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/profile_keyed_base_factory.h" | 5 #include "chrome/browser/profiles/profile_keyed_base_factory.h" |
6 | 6 |
7 #include "chrome/browser/prefs/pref_registry_syncable.h" | |
8 #include "chrome/browser/prefs/pref_service.h" | |
7 #include "chrome/browser/profiles/profile.h" | 9 #include "chrome/browser/profiles/profile.h" |
8 #include "chrome/browser/profiles/profile_dependency_manager.h" | 10 #include "chrome/browser/profiles/profile_dependency_manager.h" |
9 | 11 |
10 ProfileKeyedBaseFactory::ProfileKeyedBaseFactory( | 12 ProfileKeyedBaseFactory::ProfileKeyedBaseFactory( |
11 const char* name, ProfileDependencyManager* manager) | 13 const char* name, ProfileDependencyManager* manager) |
12 : dependency_manager_(manager) | 14 : dependency_manager_(manager) |
13 #ifndef NDEBUG | 15 #ifndef NDEBUG |
14 , service_name_(name) | 16 , service_name_(name) |
15 #endif | 17 #endif |
16 { | 18 { |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
69 // registration to happen at service creation time). | 71 // registration to happen at service creation time). |
70 // | 72 // |
71 // Now that services are responsible for declaring their preferences, we have | 73 // Now that services are responsible for declaring their preferences, we have |
72 // to enforce a uniquenes check here because some tests create one profile and | 74 // to enforce a uniquenes check here because some tests create one profile and |
73 // multiple services of the same type attached to that profile (serially, not | 75 // multiple services of the same type attached to that profile (serially, not |
74 // parallel) and we don't want to register multiple times on the same profile. | 76 // parallel) and we don't want to register multiple times on the same profile. |
75 DCHECK(!profile->IsOffTheRecord()); | 77 DCHECK(!profile->IsOffTheRecord()); |
76 | 78 |
77 std::set<Profile*>::iterator it = registered_preferences_.find(profile); | 79 std::set<Profile*>::iterator it = registered_preferences_.find(profile); |
78 if (it == registered_preferences_.end()) { | 80 if (it == registered_preferences_.end()) { |
79 RegisterUserPrefs(profile->GetPrefs()); | 81 PrefService* prefs = profile->GetPrefs(); |
82 PrefRegistrySyncable* registry = static_cast<PrefRegistrySyncable*>( | |
83 prefs->DeprecatedGetPrefRegistry()); | |
84 RegisterUserPrefs(registry); | |
85 // A few registration functions still need the PrefService pointer | |
86 // (e.g. to clear preferences). | |
87 DeprecatedRegisterUserPrefs(prefs, registry); | |
Mattias Nissler (ping if slow)
2013/02/06 17:53:33
Yikes, hacks over hacks here. I'll have to think a
Jói
2013/02/07 14:52:32
Yeah, when I ran into this I thought "oops" :) Bu
Mattias Nissler (ping if slow)
2013/02/08 11:26:56
So, I wonder whether we'd be better off if we just
| |
80 registered_preferences_.insert(profile); | 88 registered_preferences_.insert(profile); |
81 } | 89 } |
82 } | 90 } |
83 | 91 |
84 bool ProfileKeyedBaseFactory::ServiceRedirectedInIncognito() const { | 92 bool ProfileKeyedBaseFactory::ServiceRedirectedInIncognito() const { |
85 return false; | 93 return false; |
86 } | 94 } |
87 | 95 |
88 bool ProfileKeyedBaseFactory::ServiceHasOwnInstanceInIncognito() const { | 96 bool ProfileKeyedBaseFactory::ServiceHasOwnInstanceInIncognito() const { |
89 return false; | 97 return false; |
(...skipping 17 matching lines...) Expand all Loading... | |
107 | 115 |
108 bool ProfileKeyedBaseFactory::ArePreferencesSetOn(Profile* profile) const { | 116 bool ProfileKeyedBaseFactory::ArePreferencesSetOn(Profile* profile) const { |
109 return registered_preferences_.find(profile) != | 117 return registered_preferences_.find(profile) != |
110 registered_preferences_.end(); | 118 registered_preferences_.end(); |
111 } | 119 } |
112 | 120 |
113 void ProfileKeyedBaseFactory::MarkPreferencesSetOn(Profile* profile) { | 121 void ProfileKeyedBaseFactory::MarkPreferencesSetOn(Profile* profile) { |
114 DCHECK(!ArePreferencesSetOn(profile)); | 122 DCHECK(!ArePreferencesSetOn(profile)); |
115 registered_preferences_.insert(profile); | 123 registered_preferences_.insert(profile); |
116 } | 124 } |
OLD | NEW |