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

Side by Side Diff: chrome/browser/translate/translate_prefs.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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/translate/translate_prefs.h" 5 #include "chrome/browser/translate/translate_prefs.h"
6 6
7 #include "base/string_util.h" 7 #include "base/string_util.h"
8 #include "chrome/browser/prefs/pref_registry_syncable.h"
8 #include "chrome/browser/prefs/pref_service.h" 9 #include "chrome/browser/prefs/pref_service.h"
9 #include "chrome/browser/prefs/scoped_user_pref_update.h" 10 #include "chrome/browser/prefs/scoped_user_pref_update.h"
10 11
11 const char TranslatePrefs::kPrefTranslateLanguageBlacklist[] = 12 const char TranslatePrefs::kPrefTranslateLanguageBlacklist[] =
12 "translate_language_blacklist"; 13 "translate_language_blacklist";
13 const char TranslatePrefs::kPrefTranslateSiteBlacklist[] = 14 const char TranslatePrefs::kPrefTranslateSiteBlacklist[] =
14 "translate_site_blacklist"; 15 "translate_site_blacklist";
15 const char TranslatePrefs::kPrefTranslateWhitelists[] = 16 const char TranslatePrefs::kPrefTranslateWhitelists[] =
16 "translate_whitelists"; 17 "translate_whitelists";
17 const char TranslatePrefs::kPrefTranslateDeniedCount[] = 18 const char TranslatePrefs::kPrefTranslateDeniedCount[] =
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 return false; 142 return false;
142 return (!prefs.IsLanguageBlacklisted(original_language)); 143 return (!prefs.IsLanguageBlacklisted(original_language));
143 } 144 }
144 145
145 bool TranslatePrefs::ShouldAutoTranslate(PrefService* user_prefs, 146 bool TranslatePrefs::ShouldAutoTranslate(PrefService* user_prefs,
146 const std::string& original_language, std::string* target_language) { 147 const std::string& original_language, std::string* target_language) {
147 TranslatePrefs prefs(user_prefs); 148 TranslatePrefs prefs(user_prefs);
148 return prefs.IsLanguageWhitelisted(original_language, target_language); 149 return prefs.IsLanguageWhitelisted(original_language, target_language);
149 } 150 }
150 151
151 void TranslatePrefs::RegisterUserPrefs(PrefServiceSyncable* user_prefs) { 152 void TranslatePrefs::RegisterUserPrefs(PrefService* prefs,
152 if (!user_prefs->FindPreference(kPrefTranslateLanguageBlacklist)) 153 PrefRegistrySyncable* registry) {
153 user_prefs->RegisterListPref(kPrefTranslateLanguageBlacklist, 154 if (!prefs->FindPreference(kPrefTranslateLanguageBlacklist))
154 PrefServiceSyncable::SYNCABLE_PREF); 155 registry->RegisterListPref(kPrefTranslateLanguageBlacklist,
155 if (!user_prefs->FindPreference(kPrefTranslateSiteBlacklist)) 156 PrefRegistrySyncable::SYNCABLE_PREF);
156 user_prefs->RegisterListPref(kPrefTranslateSiteBlacklist, 157 if (!prefs->FindPreference(kPrefTranslateSiteBlacklist))
157 PrefServiceSyncable::SYNCABLE_PREF); 158 registry->RegisterListPref(kPrefTranslateSiteBlacklist,
158 if (!user_prefs->FindPreference(kPrefTranslateWhitelists)) { 159 PrefRegistrySyncable::SYNCABLE_PREF);
159 user_prefs->RegisterDictionaryPref(kPrefTranslateWhitelists, 160 if (!prefs->FindPreference(kPrefTranslateWhitelists)) {
160 PrefServiceSyncable::SYNCABLE_PREF); 161 registry->RegisterDictionaryPref(kPrefTranslateWhitelists,
161 MigrateTranslateWhitelists(user_prefs); 162 PrefRegistrySyncable::SYNCABLE_PREF);
163 MigrateTranslateWhitelists(prefs);
162 } 164 }
163 if (!user_prefs->FindPreference(kPrefTranslateDeniedCount)) 165 if (!prefs->FindPreference(kPrefTranslateDeniedCount))
164 user_prefs->RegisterDictionaryPref(kPrefTranslateDeniedCount, 166 registry->RegisterDictionaryPref(kPrefTranslateDeniedCount,
165 PrefServiceSyncable::SYNCABLE_PREF); 167 PrefRegistrySyncable::SYNCABLE_PREF);
166 if (!user_prefs->FindPreference(kPrefTranslateAcceptedCount)) 168 if (!prefs->FindPreference(kPrefTranslateAcceptedCount))
167 user_prefs->RegisterDictionaryPref(kPrefTranslateAcceptedCount, 169 registry->RegisterDictionaryPref(kPrefTranslateAcceptedCount,
168 PrefServiceSyncable::SYNCABLE_PREF); 170 PrefRegistrySyncable::SYNCABLE_PREF);
169 } 171 }
170 172
171 // TranslatePrefs: private, static: -------------------------------------------- 173 // TranslatePrefs: private, static: --------------------------------------------
172 174
173 void TranslatePrefs::MigrateTranslateWhitelists(PrefService* user_prefs) { 175 void TranslatePrefs::MigrateTranslateWhitelists(PrefService* user_prefs) {
174 // Old format of kPrefTranslateWhitelists 176 // Old format of kPrefTranslateWhitelists
175 // - original language -> list of target langs to auto-translate 177 // - original language -> list of target langs to auto-translate
176 // - list of langs is in order of being enabled i.e. last in list is the 178 // - list of langs is in order of being enabled i.e. last in list is the
177 // most recent language that user enabled via 179 // most recent language that user enabled via
178 // Always translate |source_lang| to |target_lang|" 180 // Always translate |source_lang| to |target_lang|"
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 252
251 bool TranslatePrefs::IsLanguageWhitelisted( 253 bool TranslatePrefs::IsLanguageWhitelisted(
252 const std::string& original_language, std::string* target_language) { 254 const std::string& original_language, std::string* target_language) {
253 const DictionaryValue* dict = prefs_->GetDictionary(kPrefTranslateWhitelists); 255 const DictionaryValue* dict = prefs_->GetDictionary(kPrefTranslateWhitelists);
254 if (dict && dict->GetString(original_language, target_language)) { 256 if (dict && dict->GetString(original_language, target_language)) {
255 DCHECK(!target_language->empty()); 257 DCHECK(!target_language->empty());
256 return !target_language->empty(); 258 return !target_language->empty();
257 } 259 }
258 return false; 260 return false;
259 } 261 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698