| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/translate/core/browser/translate_prefs.h" | 5 #include "components/translate/core/browser/translate_prefs.h" |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 | 8 |
| 9 #include "base/prefs/pref_service.h" | 9 #include "base/prefs/pref_service.h" |
| 10 #include "base/prefs/scoped_user_pref_update.h" | 10 #include "base/prefs/scoped_user_pref_update.h" |
| (...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 319 const char* key = accept_languages_pref_.c_str(); | 319 const char* key = accept_languages_pref_.c_str(); |
| 320 #endif | 320 #endif |
| 321 | 321 |
| 322 std::string languages_str = prefs_->GetString(key); | 322 std::string languages_str = prefs_->GetString(key); |
| 323 base::SplitString(languages_str, ',', languages); | 323 base::SplitString(languages_str, ',', languages); |
| 324 } | 324 } |
| 325 | 325 |
| 326 void TranslatePrefs::UpdateLanguageList( | 326 void TranslatePrefs::UpdateLanguageList( |
| 327 const std::vector<std::string>& languages) { | 327 const std::vector<std::string>& languages) { |
| 328 #if defined(OS_CHROMEOS) | 328 #if defined(OS_CHROMEOS) |
| 329 std::string languages_str = base::JoinString(languages, ","); | 329 std::string languages_str = JoinString(languages, ','); |
| 330 prefs_->SetString(preferred_languages_pref_.c_str(), languages_str); | 330 prefs_->SetString(preferred_languages_pref_.c_str(), languages_str); |
| 331 #endif | 331 #endif |
| 332 | 332 |
| 333 // Save the same language list as accept languages preference as well, but we | 333 // Save the same language list as accept languages preference as well, but we |
| 334 // need to expand the language list, to make it more acceptable. For instance, | 334 // need to expand the language list, to make it more acceptable. For instance, |
| 335 // some web sites don't understand 'en-US' but 'en'. See crosbug.com/9884. | 335 // some web sites don't understand 'en-US' but 'en'. See crosbug.com/9884. |
| 336 std::vector<std::string> accept_languages; | 336 std::vector<std::string> accept_languages; |
| 337 ExpandLanguageCodes(languages, &accept_languages); | 337 ExpandLanguageCodes(languages, &accept_languages); |
| 338 std::string accept_languages_str = base::JoinString(accept_languages, ","); | 338 std::string accept_languages_str = JoinString(accept_languages, ','); |
| 339 prefs_->SetString(accept_languages_pref_.c_str(), accept_languages_str); | 339 prefs_->SetString(accept_languages_pref_.c_str(), accept_languages_str); |
| 340 } | 340 } |
| 341 | 341 |
| 342 bool TranslatePrefs::CanTranslateLanguage( | 342 bool TranslatePrefs::CanTranslateLanguage( |
| 343 TranslateAcceptLanguages* accept_languages, | 343 TranslateAcceptLanguages* accept_languages, |
| 344 const std::string& language) { | 344 const std::string& language) { |
| 345 bool can_be_accept_language = | 345 bool can_be_accept_language = |
| 346 TranslateAcceptLanguages::CanBeAcceptLanguage(language); | 346 TranslateAcceptLanguages::CanBeAcceptLanguage(language); |
| 347 bool is_accept_language = accept_languages->IsAcceptLanguage(language); | 347 bool is_accept_language = accept_languages->IsAcceptLanguage(language); |
| 348 | 348 |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 478 it != blocked_languages.end(); ++it) { | 478 it != blocked_languages.end(); ++it) { |
| 479 std::string lang = *it; | 479 std::string lang = *it; |
| 480 translate::ToChromeLanguageSynonym(&lang); | 480 translate::ToChromeLanguageSynonym(&lang); |
| 481 bool not_found = | 481 bool not_found = |
| 482 std::find(accept_languages.begin(), accept_languages.end(), lang) == | 482 std::find(accept_languages.begin(), accept_languages.end(), lang) == |
| 483 accept_languages.end(); | 483 accept_languages.end(); |
| 484 if (not_found) | 484 if (not_found) |
| 485 accept_languages.push_back(lang); | 485 accept_languages.push_back(lang); |
| 486 } | 486 } |
| 487 | 487 |
| 488 std::string new_accept_languages_str = | 488 std::string new_accept_languages_str = JoinString(accept_languages, ","); |
| 489 base::JoinString(accept_languages, ","); | |
| 490 user_prefs->SetString(accept_languages_pref, new_accept_languages_str); | 489 user_prefs->SetString(accept_languages_pref, new_accept_languages_str); |
| 491 } | 490 } |
| 492 } | 491 } |
| 493 | 492 |
| 494 // static | 493 // static |
| 495 void TranslatePrefs::CreateBlockedLanguages( | 494 void TranslatePrefs::CreateBlockedLanguages( |
| 496 std::vector<std::string>* blocked_languages, | 495 std::vector<std::string>* blocked_languages, |
| 497 const std::vector<std::string>& blacklisted_languages, | 496 const std::vector<std::string>& blacklisted_languages, |
| 498 const std::vector<std::string>& accept_languages) { | 497 const std::vector<std::string>& accept_languages) { |
| 499 DCHECK(blocked_languages); | 498 DCHECK(blocked_languages); |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 575 const base::ListValue* blacklist = prefs_->GetList(pref_id); | 574 const base::ListValue* blacklist = prefs_->GetList(pref_id); |
| 576 return (blacklist == NULL || blacklist->empty()); | 575 return (blacklist == NULL || blacklist->empty()); |
| 577 } | 576 } |
| 578 | 577 |
| 579 bool TranslatePrefs::IsDictionaryEmpty(const char* pref_id) const { | 578 bool TranslatePrefs::IsDictionaryEmpty(const char* pref_id) const { |
| 580 const base::DictionaryValue* dict = prefs_->GetDictionary(pref_id); | 579 const base::DictionaryValue* dict = prefs_->GetDictionary(pref_id); |
| 581 return (dict == NULL || dict->empty()); | 580 return (dict == NULL || dict->empty()); |
| 582 } | 581 } |
| 583 | 582 |
| 584 } // namespace translate | 583 } // namespace translate |
| OLD | NEW |