| Index: chrome/common/spellcheck_common.cc
|
| diff --git a/chrome/common/spellcheck_common.cc b/chrome/common/spellcheck_common.cc
|
| deleted file mode 100644
|
| index bebbb7c0ed85e1eb23397a2a0888c1e0d3b4090c..0000000000000000000000000000000000000000
|
| --- a/chrome/common/spellcheck_common.cc
|
| +++ /dev/null
|
| @@ -1,198 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "chrome/common/spellcheck_common.h"
|
| -
|
| -#include "base/command_line.h"
|
| -#include "base/files/file_path.h"
|
| -#include "base/logging.h"
|
| -#include "base/macros.h"
|
| -#include "base/metrics/field_trial.h"
|
| -#include "base/strings/string_util.h"
|
| -#include "chrome/common/chrome_switches.h"
|
| -#include "third_party/icu/source/common/unicode/uloc.h"
|
| -#include "third_party/icu/source/common/unicode/urename.h"
|
| -#include "third_party/icu/source/common/unicode/utypes.h"
|
| -
|
| -namespace chrome {
|
| -namespace spellcheck_common {
|
| -
|
| -struct LanguageRegion {
|
| - const char* language; // The language.
|
| - const char* language_region; // language & region, used by dictionaries.
|
| -};
|
| -
|
| -struct LanguageVersion {
|
| - const char* language; // The language input.
|
| - const char* version; // The corresponding version.
|
| -};
|
| -
|
| -static const LanguageRegion g_supported_spellchecker_languages[] = {
|
| - // Several languages are not to be included in the spellchecker list:
|
| - // th-TH, vi-VI.
|
| - {"af", "af-ZA"},
|
| - {"bg", "bg-BG"},
|
| - {"ca", "ca-ES"},
|
| - {"cs", "cs-CZ"},
|
| - {"da", "da-DK"},
|
| - {"de", "de-DE"},
|
| - {"el", "el-GR"},
|
| - {"en-AU", "en-GB"},
|
| - {"en-CA", "en-CA"},
|
| - {"en-GB", "en-GB"},
|
| - {"en-US", "en-US"},
|
| - {"es", "es-ES"},
|
| - {"es-419", "es-ES"},
|
| - {"es-AR", "es-ES"},
|
| - {"es-ES", "es-ES"},
|
| - {"es-MX", "es-ES"},
|
| - {"es-US", "es-ES"},
|
| - {"et", "et-EE"},
|
| - {"fa", "fa-IR"},
|
| - {"fo", "fo-FO"},
|
| - {"fr", "fr-FR"},
|
| - {"he", "he-IL"},
|
| - {"hi", "hi-IN"},
|
| - {"hr", "hr-HR"},
|
| - {"hu", "hu-HU"},
|
| - {"id", "id-ID"},
|
| - {"it", "it-IT"},
|
| - {"ko", "ko"},
|
| - {"lt", "lt-LT"},
|
| - {"lv", "lv-LV"},
|
| - {"nb", "nb-NO"},
|
| - {"nl", "nl-NL"},
|
| - {"pl", "pl-PL"},
|
| - {"pt-BR", "pt-BR"},
|
| - {"pt-PT", "pt-PT"},
|
| - {"ro", "ro-RO"},
|
| - {"ru", "ru-RU"},
|
| - {"sh", "sh"},
|
| - {"sk", "sk-SK"},
|
| - {"sl", "sl-SI"},
|
| - {"sq", "sq"},
|
| - {"sr", "sr"},
|
| - {"sv", "sv-SE"},
|
| - {"ta", "ta-IN"},
|
| - {"tg", "tg-TG"},
|
| - {"tr", "tr-TR"},
|
| - {"uk", "uk-UA"},
|
| - {"vi", "vi-VN"},
|
| -};
|
| -
|
| -bool IsValidRegion(const std::string& region) {
|
| - for (size_t i = 0; i < arraysize(g_supported_spellchecker_languages);
|
| - ++i) {
|
| - if (g_supported_spellchecker_languages[i].language_region == region)
|
| - return true;
|
| - }
|
| - return false;
|
| -}
|
| -
|
| -// This function returns the language-region version of language name.
|
| -// e.g. returns hi-IN for hi.
|
| -std::string GetSpellCheckLanguageRegion(const std::string& input_language) {
|
| - for (size_t i = 0; i < arraysize(g_supported_spellchecker_languages);
|
| - ++i) {
|
| - if (g_supported_spellchecker_languages[i].language == input_language) {
|
| - return std::string(
|
| - g_supported_spellchecker_languages[i].language_region);
|
| - }
|
| - }
|
| -
|
| - return input_language;
|
| -}
|
| -
|
| -base::FilePath GetVersionedFileName(const std::string& input_language,
|
| - const base::FilePath& dict_dir) {
|
| - // The default dictionary version is 3-0. This version indicates that the bdic
|
| - // file contains a checksum.
|
| - static const char kDefaultVersionString[] = "-3-0";
|
| -
|
| - // Add non-default version strings here. Use the same version for all the
|
| - // dictionaries that you add at the same time. Increment the major version
|
| - // number if you're updating either dic or aff files. Increment the minor
|
| - // version number if you're updating only dic_delta files.
|
| - static LanguageVersion special_version_string[] = {
|
| - {"tr-TR", "-4-0"}, // Jan 9, 2013: Add "FLAG num" to aff to avoid heapcheck
|
| - // crash.
|
| - {"tg-TG", "-5-0"}, // Mar 4, 2014: Add Tajik dictionary.
|
| -
|
| - // April 2016: Local fixes
|
| - {"en-CA", "-7-1"},
|
| - {"en-GB", "-7-1"},
|
| - {"en-US", "-7-1"},
|
| -
|
| - // March 2016: Initial check-in of Persian
|
| - {"fa-IR", "-7-0"},
|
| - };
|
| -
|
| - // Generate the bdict file name using default version string or special
|
| - // version string, depending on the language.
|
| - std::string language = GetSpellCheckLanguageRegion(input_language);
|
| - std::string versioned_bdict_file_name(language + kDefaultVersionString +
|
| - ".bdic");
|
| - for (size_t i = 0; i < arraysize(special_version_string); ++i) {
|
| - if (language == special_version_string[i].language) {
|
| - versioned_bdict_file_name =
|
| - language + special_version_string[i].version + ".bdic";
|
| - break;
|
| - }
|
| - }
|
| -
|
| - return dict_dir.AppendASCII(versioned_bdict_file_name);
|
| -}
|
| -
|
| -std::string GetCorrespondingSpellCheckLanguage(const std::string& language) {
|
| - std::string best_match;
|
| - // Look for exact match in the Spell Check language list.
|
| - for (size_t i = 0; i < arraysize(g_supported_spellchecker_languages);
|
| - ++i) {
|
| - // First look for exact match in the language region of the list.
|
| - std::string spellcheck_language(
|
| - g_supported_spellchecker_languages[i].language);
|
| - if (spellcheck_language == language)
|
| - return language;
|
| -
|
| - // Next, look for exact match in the language_region part of the list.
|
| - std::string spellcheck_language_region(
|
| - g_supported_spellchecker_languages[i].language_region);
|
| - if (spellcheck_language_region == language) {
|
| - if (best_match.empty())
|
| - best_match = g_supported_spellchecker_languages[i].language;
|
| - }
|
| - }
|
| -
|
| - // No match found - return best match, if any.
|
| - return best_match;
|
| -}
|
| -
|
| -void SpellCheckLanguages(std::vector<std::string>* languages) {
|
| - for (size_t i = 0; i < arraysize(g_supported_spellchecker_languages);
|
| - ++i) {
|
| - languages->push_back(g_supported_spellchecker_languages[i].language);
|
| - }
|
| -}
|
| -
|
| -void GetISOLanguageCountryCodeFromLocale(const std::string& locale,
|
| - std::string* language_code,
|
| - std::string* country_code) {
|
| - DCHECK(language_code);
|
| - DCHECK(country_code);
|
| - char language[ULOC_LANG_CAPACITY] = ULOC_ENGLISH;
|
| - const char* country = "USA";
|
| - if (!locale.empty()) {
|
| - UErrorCode error = U_ZERO_ERROR;
|
| - char id[ULOC_LANG_CAPACITY + ULOC_SCRIPT_CAPACITY + ULOC_COUNTRY_CAPACITY];
|
| - uloc_addLikelySubtags(locale.c_str(), id, arraysize(id), &error);
|
| - error = U_ZERO_ERROR;
|
| - uloc_getLanguage(id, language, arraysize(language), &error);
|
| - country = uloc_getISO3Country(id);
|
| - }
|
| - *language_code = std::string(language);
|
| - *country_code = std::string(country);
|
| -}
|
| -
|
| -} // namespace spellcheck_common
|
| -} // namespace chrome
|
|
|