| 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_service.h" | 8 #include "chrome/browser/prefs/pref_service.h" |
| 9 #include "chrome/browser/prefs/scoped_user_pref_update.h" | 9 #include "chrome/browser/prefs/scoped_user_pref_update.h" |
| 10 | 10 |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 145 } | 145 } |
| 146 | 146 |
| 147 bool TranslatePrefs::ShouldAutoTranslate(PrefService* user_prefs, | 147 bool TranslatePrefs::ShouldAutoTranslate(PrefService* user_prefs, |
| 148 const std::string& original_language, std::string* target_language) { | 148 const std::string& original_language, std::string* target_language) { |
| 149 TranslatePrefs prefs(user_prefs); | 149 TranslatePrefs prefs(user_prefs); |
| 150 return prefs.IsLanguageWhitelisted(original_language, target_language); | 150 return prefs.IsLanguageWhitelisted(original_language, target_language); |
| 151 } | 151 } |
| 152 | 152 |
| 153 void TranslatePrefs::RegisterUserPrefs(PrefService* user_prefs) { | 153 void TranslatePrefs::RegisterUserPrefs(PrefService* user_prefs) { |
| 154 if (!user_prefs->FindPreference(kPrefTranslateLanguageBlacklist)) | 154 if (!user_prefs->FindPreference(kPrefTranslateLanguageBlacklist)) |
| 155 user_prefs->RegisterListPref(kPrefTranslateLanguageBlacklist); | 155 user_prefs->RegisterListPref(kPrefTranslateLanguageBlacklist, |
| 156 PrefService::SYNCABLE_PREF); |
| 156 if (!user_prefs->FindPreference(kPrefTranslateSiteBlacklist)) | 157 if (!user_prefs->FindPreference(kPrefTranslateSiteBlacklist)) |
| 157 user_prefs->RegisterListPref(kPrefTranslateSiteBlacklist); | 158 user_prefs->RegisterListPref(kPrefTranslateSiteBlacklist, |
| 159 PrefService::SYNCABLE_PREF); |
| 158 if (!user_prefs->FindPreference(kPrefTranslateWhitelists)) { | 160 if (!user_prefs->FindPreference(kPrefTranslateWhitelists)) { |
| 159 user_prefs->RegisterDictionaryPref(kPrefTranslateWhitelists); | 161 user_prefs->RegisterDictionaryPref(kPrefTranslateWhitelists, |
| 162 PrefService::SYNCABLE_PREF); |
| 160 MigrateTranslateWhitelists(user_prefs); | 163 MigrateTranslateWhitelists(user_prefs); |
| 161 } | 164 } |
| 162 if (!user_prefs->FindPreference(kPrefTranslateDeniedCount)) | 165 if (!user_prefs->FindPreference(kPrefTranslateDeniedCount)) |
| 163 user_prefs->RegisterDictionaryPref(kPrefTranslateDeniedCount); | 166 user_prefs->RegisterDictionaryPref(kPrefTranslateDeniedCount, |
| 167 PrefService::SYNCABLE_PREF); |
| 164 if (!user_prefs->FindPreference(kPrefTranslateAcceptedCount)) | 168 if (!user_prefs->FindPreference(kPrefTranslateAcceptedCount)) |
| 165 user_prefs->RegisterDictionaryPref(kPrefTranslateAcceptedCount); | 169 user_prefs->RegisterDictionaryPref(kPrefTranslateAcceptedCount, |
| 170 PrefService::SYNCABLE_PREF); |
| 166 } | 171 } |
| 167 | 172 |
| 168 // TranslatePrefs: private, static: -------------------------------------------- | 173 // TranslatePrefs: private, static: -------------------------------------------- |
| 169 | 174 |
| 170 void TranslatePrefs::MigrateTranslateWhitelists(PrefService* user_prefs) { | 175 void TranslatePrefs::MigrateTranslateWhitelists(PrefService* user_prefs) { |
| 171 // Old format of kPrefTranslateWhitelists | 176 // Old format of kPrefTranslateWhitelists |
| 172 // - original language -> list of target langs to auto-translate | 177 // - original language -> list of target langs to auto-translate |
| 173 // - 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 |
| 174 // most recent language that user enabled via | 179 // most recent language that user enabled via |
| 175 // Always translate |source_lang| to |target_lang|" | 180 // Always translate |source_lang| to |target_lang|" |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 258 | 263 |
| 259 bool TranslatePrefs::IsLanguageWhitelisted( | 264 bool TranslatePrefs::IsLanguageWhitelisted( |
| 260 const std::string& original_language, std::string* target_language) { | 265 const std::string& original_language, std::string* target_language) { |
| 261 const DictionaryValue* dict = prefs_->GetDictionary(kPrefTranslateWhitelists); | 266 const DictionaryValue* dict = prefs_->GetDictionary(kPrefTranslateWhitelists); |
| 262 if (dict && dict->GetString(original_language, target_language)) { | 267 if (dict && dict->GetString(original_language, target_language)) { |
| 263 DCHECK(!target_language->empty()); | 268 DCHECK(!target_language->empty()); |
| 264 return !target_language->empty(); | 269 return !target_language->empty(); |
| 265 } | 270 } |
| 266 return false; | 271 return false; |
| 267 } | 272 } |
| OLD | NEW |