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

Unified Diff: chrome/browser/resources/settings/languages_page/languages_types.js

Issue 1419033008: Extract language settings methods into a LanguageHelper interface (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@LanguagePage5InputMethodsAPI
Patch Set: dbeam fb Created 5 years, 1 month 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/browser/resources/settings/languages_page/languages_types.js
diff --git a/chrome/browser/resources/settings/languages_page/languages_types.js b/chrome/browser/resources/settings/languages_page/languages_types.js
new file mode 100644
index 0000000000000000000000000000000000000000..05fd1705cfa53cf924215b82ed1ba0d9b463119f
--- /dev/null
+++ b/chrome/browser/resources/settings/languages_page/languages_types.js
@@ -0,0 +1,129 @@
+// Copyright 2015 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.
+
+/**
+ * @fileoverview Closure typedefs for dictionaries and interfaces used by
+ * language settings.
+ */
+
+/**
+ * Current properties of a language.
+ * @typedef {{spellCheckEnabled: boolean, translateEnabled: boolean,
+ * removable: boolean}} */
+var LanguageState;
+
+/**
+ * Information about a language including intrinsic information (|language|)
+ * and the |state| of the language.
+ * @typedef {{language: !chrome.languageSettingsPrivate.Language,
+ * state: !LanguageState}}
+ */
+var LanguageInfo;
+
+/**
+ * Languages data to expose to consumers.
+ * supportedLanguages: an array of languages, ordered alphabetically.
+ * enabledLanguages: an array of enabled language info, ordered by preference.
+ * translateTarget: the default language to translate into.
+ * @typedef {{
+ * supportedLanguages: !Array<!chrome.languageSettingsPrivate.Language>,
+ * enabledLanguages: !Array<!LanguageInfo>,
+ * translateTarget: string
+ * }}
+ */
+var LanguagesModel;
+
+/**
+ * Helper methods implemented by settings-languages-singleton. The nature of
+ * the interaction between the singleton Polymer element and the |languages|
+ * properties kept in sync is hidden from the consumer, which can just treat
+ * these methods as a handy interface.
+ * @interface
+ */
+var LanguageSettingsHelper = function() {};
+
+/**
+ * Windows and Chrome OS only: Sets the prospective UI language to the chosen
+ * language. This dosen't affect the actual UI language until a restart.
+ * @param {string} languageCode
+ */
+LanguageSettingsHelper.prototype.setUILanguage = function(languageCode) {};
+
+/**
+ * Windows and Chrome OS only: Resets the prospective UI language back to the
+ * actual UI language.
+ */
+LanguageSettingsHelper.prototype.resetUILanguage = function() {};
+
+/**
+ * Returns the "prospective" UI language, i.e. the one to be used on next
+ * restart. If the pref is not set, the current UI language is also the
+ * "prospective" language.
+ * @return {string} Language code of the prospective UI language.
+ */
+LanguageSettingsHelper.prototype.getProspectiveUILanguage = function() {};
+
+/**
+ * @param {string} languageCode
+ * @return {boolean}
+ */
+LanguageSettingsHelper.prototype.isLanguageEnabled = function(languageCode) {};
+
+/**
+ * Enables the language, making it available for spell check and input.
+ * @param {string} languageCode
+ */
+LanguageSettingsHelper.prototype.enableLanguage = function(languageCode) {};
+
+/**
+ * Disables the language.
+ * @param {string} languageCode
+ */
+LanguageSettingsHelper.prototype.disableLanguage = function(languageCode) {};
+
+/**
+ * @param {string} languageCode Language code for an enabled language.
+ * @return {boolean}
+ */
+LanguageSettingsHelper.prototype.canDisableLanguage = function(languageCode) {};
+
+/**
+ * Enables translate for the given language by removing the translate
+ * language from the blocked languages preference.
+ * @param {string} languageCode
+ */
+LanguageSettingsHelper.prototype.enableTranslateLanguage =
+ function(languageCode) {};
+
+/**
+ * Disables translate for the given language by adding the translate
+ * language to the blocked languages preference.
+ * @param {string} languageCode
+ */
+LanguageSettingsHelper.prototype.disableTranslateLanguage =
+ function(languageCode) {};
+
+/**
+ * Enables or disables spell check for the given language.
+ * @param {string} languageCode
+ * @param {boolean} enable
+ */
+LanguageSettingsHelper.prototype.toggleSpellCheck =
+ function(languageCode, enable) {};
+
+/**
+ * Converts the language code for translate. There are some differences
+ * between the language set the Translate server uses and that for
+ * Accept-Language.
+ * @param {string} languageCode
+ * @return {string} The converted language code.
+ */
+LanguageSettingsHelper.prototype.convertLanguageCodeForTranslate =
+ function(languageCode) {};
+
+/**
+ * @param {string} languageCode
+ * @return {!chrome.languageSettingsPrivate.Language|undefined}
+ */
+LanguageSettingsHelper.prototype.getLanguage = function(languageCode) {};

Powered by Google App Engine
This is Rietveld 408576698