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/spellchecker/spellcheck_service.h" | 5 #include "chrome/browser/spellchecker/spellcheck_service.h" |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/stl_util.h" | |
10 #include "base/strings/string_split.h" | 11 #include "base/strings/string_split.h" |
11 #include "base/supports_user_data.h" | 12 #include "base/supports_user_data.h" |
12 #include "base/synchronization/waitable_event.h" | 13 #include "base/synchronization/waitable_event.h" |
13 #include "build/build_config.h" | 14 #include "build/build_config.h" |
14 #include "chrome/browser/spellchecker/feedback_sender.h" | 15 #include "chrome/browser/spellchecker/feedback_sender.h" |
15 #include "chrome/browser/spellchecker/spellcheck_factory.h" | 16 #include "chrome/browser/spellchecker/spellcheck_factory.h" |
16 #include "chrome/browser/spellchecker/spellcheck_host_metrics.h" | 17 #include "chrome/browser/spellchecker/spellcheck_host_metrics.h" |
17 #include "chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h" | 18 #include "chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h" |
18 #include "chrome/browser/spellchecker/spellcheck_platform.h" | 19 #include "chrome/browser/spellchecker/spellcheck_platform.h" |
19 #include "chrome/browser/spellchecker/spelling_service_client.h" | 20 #include "chrome/browser/spellchecker/spelling_service_client.h" |
(...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
346 std::transform( | 347 std::transform( |
347 accept_languages.begin(), accept_languages.end(), | 348 accept_languages.begin(), accept_languages.end(), |
348 accept_languages.begin(), | 349 accept_languages.begin(), |
349 &chrome::spellcheck_common::GetCorrespondingSpellCheckLanguage); | 350 &chrome::spellcheck_common::GetCorrespondingSpellCheckLanguage); |
350 | 351 |
351 StringListPrefMember dictionaries_pref; | 352 StringListPrefMember dictionaries_pref; |
352 dictionaries_pref.Init(prefs::kSpellCheckDictionaries, prefs); | 353 dictionaries_pref.Init(prefs::kSpellCheckDictionaries, prefs); |
353 std::vector<std::string> dictionaries = dictionaries_pref.GetValue(); | 354 std::vector<std::string> dictionaries = dictionaries_pref.GetValue(); |
354 std::vector<std::string> filtered_dictionaries; | 355 std::vector<std::string> filtered_dictionaries; |
355 | 356 |
356 for (const auto& dictionary : dictionaries) { | 357 for (const auto& dictionary : dictionaries) { |
sky
2016/03/02 17:19:34
Isn't this std::set_intersection?
chakshu
2016/03/07 08:10:46
Yes, probably it is. Made the changes using set_in
| |
357 if (std::find(accept_languages.begin(), accept_languages.end(), | 358 if (ContainsValue(accept_languages, dictionary)) { |
sky
2016/03/02 17:19:34
nit: no {}
chakshu
2016/03/07 08:10:46
Done.
| |
358 dictionary) != accept_languages.end()) { | |
359 filtered_dictionaries.push_back(dictionary); | 359 filtered_dictionaries.push_back(dictionary); |
360 } | 360 } |
361 } | 361 } |
362 | 362 |
363 dictionaries_pref.SetValue(filtered_dictionaries); | 363 dictionaries_pref.SetValue(filtered_dictionaries); |
364 } | 364 } |
365 | 365 |
366 void SpellcheckService::UpdateFeedbackSenderState() { | 366 void SpellcheckService::UpdateFeedbackSenderState() { |
367 std::string feedback_language; | 367 std::string feedback_language; |
368 if (!hunspell_dictionaries_.empty()) | 368 if (!hunspell_dictionaries_.empty()) |
369 feedback_language = hunspell_dictionaries_.front()->GetLanguage(); | 369 feedback_language = hunspell_dictionaries_.front()->GetLanguage(); |
370 std::string language_code; | 370 std::string language_code; |
371 std::string country_code; | 371 std::string country_code; |
372 chrome::spellcheck_common::GetISOLanguageCountryCodeFromLocale( | 372 chrome::spellcheck_common::GetISOLanguageCountryCodeFromLocale( |
373 feedback_language, &language_code, &country_code); | 373 feedback_language, &language_code, &country_code); |
374 feedback_sender_->OnLanguageCountryChange(language_code, country_code); | 374 feedback_sender_->OnLanguageCountryChange(language_code, country_code); |
375 if (SpellingServiceClient::IsAvailable( | 375 if (SpellingServiceClient::IsAvailable( |
376 context_, SpellingServiceClient::SPELLCHECK)) { | 376 context_, SpellingServiceClient::SPELLCHECK)) { |
377 feedback_sender_->StartFeedbackCollection(); | 377 feedback_sender_->StartFeedbackCollection(); |
378 } else { | 378 } else { |
379 feedback_sender_->StopFeedbackCollection(); | 379 feedback_sender_->StopFeedbackCollection(); |
380 } | 380 } |
381 } | 381 } |
OLD | NEW |