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

Unified Diff: chrome/common/spellcheck_common.cc

Issue 654653002: Enables the user to select multiple languages for spellchecking (UI) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed a regression. Created 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/common/spellcheck_common.cc
diff --git a/chrome/common/spellcheck_common.cc b/chrome/common/spellcheck_common.cc
index 958ea56f9cf2c216a49f8bdd705474e9a44d83fd..ab669782f872bb3b0bb606a2a264fa6a0999a38b 100644
--- a/chrome/common/spellcheck_common.cc
+++ b/chrome/common/spellcheck_common.cc
@@ -4,8 +4,13 @@
#include "chrome/common/spellcheck_common.h"
+#include "base/command_line.h"
#include "base/files/file_path.h"
#include "base/logging.h"
+#include "base/prefs/pref_service.h"
+#include "base/strings/string_split.h"
+#include "chrome/common/chrome_switches.h"
+#include "chrome/common/pref_names.h"
#include "third_party/icu/source/common/unicode/uloc.h"
namespace chrome {
@@ -176,5 +181,29 @@ void GetISOLanguageCountryCodeFromLocale(const std::string& locale,
*country_code = std::string(country);
}
+std::vector<std::string> GetDictionaryLanguagesPref(PrefService* prefs) {
+ const base::CommandLine* command_line =
+ base::CommandLine::ForCurrentProcess();
+
+ std::vector<std::string> dictionary_languages;
+ if (command_line->HasSwitch(switches::kEnableMultilingualSpellChecker)) {
+ base::SplitString(prefs->GetString(prefs::kSpellCheckDictionaries),
+ kDictionaryLanguagesSeparator, &dictionary_languages);
+ } else {
+ dictionary_languages.push_back(
+ prefs->GetString(prefs::kSpellCheckDictionary));
+ }
+
+ auto empty_strings_begin =
+ std::partition(dictionary_languages.begin(), dictionary_languages.end(),
+ [](const std::string& language) {
+ DCHECK(!language.empty());
+ return language.length() > 0;
+ });
+ dictionary_languages.erase(empty_strings_begin, dictionary_languages.end());
+
+ return dictionary_languages;
+}
+
} // namespace spellcheck_common
} // namespace chrome

Powered by Google App Engine
This is Rietveld 408576698