OLD | NEW |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |