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

Unified Diff: third_party/google_input_tools/src/chrome/os/inputview/util.js

Issue 1576613002: Update Google Input Tools. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add missing APIs, remove bade dependencies. Created 4 years, 11 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: third_party/google_input_tools/src/chrome/os/inputview/util.js
diff --git a/third_party/google_input_tools/src/chrome/os/inputview/util.js b/third_party/google_input_tools/src/chrome/os/inputview/util.js
index c8ee4bd697ab642fbcdb17436b63980a730f8322..5c0183311602070029dc6e07ec9c523d72491162 100644
--- a/third_party/google_input_tools/src/chrome/os/inputview/util.js
+++ b/third_party/google_input_tools/src/chrome/os/inputview/util.js
@@ -52,6 +52,34 @@ util.DISPLAY_MAPPING = {
/**
+ * Special lower to upper case mapping.
+ *
+ * @private {!Object.<string, string>}
+ */
+util.CASE_LOWER_TO_UPPER_MAPPING_ = {
+ '\u00b5': '\u00b5',
+ // Korean characters.
+ '\u3142': '\u3143',
+ '\u3148': '\u3149',
+ '\u3137': '\u3138',
+ '\u3131': '\u3132',
+ '\u3145': '\u3146',
+ '\u1162': '\u1164',
+ '\u1166': '\u1168'
+};
+
+
+/**
+ * Special upper to lower case mapping.
+ *
+ * @private {!Object.<string, string>}
+ */
+util.CASE_UPPER_TO_LOWER_MAPPING_ = {
+ '\u0049': '\u0131'
+};
+
+
+/**
* The keysets using US keyboard layouts.
*
* @type {!Array.<string>}
@@ -65,7 +93,17 @@ util.KEYSETS_USE_US = [
'pinyin-zh-TW',
'quick',
't13n',
- 'wubi'
+ 'wubi',
+ 'zhuyin.us',
+ 'ko.set2.us',
+ 'ko.set390.us',
+ 'ko.set3final.us',
+ 'ko.set3sun.us',
+ 'ko.romaja.us',
+ 'ko.ahn.us',
+ 'ko.set2y.us',
+ 'ko.set3yet.us',
+ 'ko.set32.us'
];
@@ -84,7 +122,27 @@ util.KEYSETS_HAVE_EN_SWTICHER = [
'pinyin-zh-TW',
'quick',
'wubi',
- 'zhuyin'
+ 'zhuyin',
+ 'zhuyin.us'
+];
+
+
+/**
+ * The keysets that can switch with US keyboard layouts.
+ *
+ * @type {!Array.<string>}
+ */
+util.KEYSETS_SWITCH_WITH_US = [
+ 'zhuyin',
+ 'ko.set2',
+ 'ko.set390',
+ 'ko.set3final',
+ 'ko.set3sun',
+ 'ko.romaja',
+ 'ko.ahn',
+ 'ko.set2y',
+ 'ko.set3yet',
+ 'ko.set32'
];
@@ -214,11 +272,11 @@ util.getPropertyValue = function(elem, property) {
* @return {string} The uppercase of the character.
*/
util.toUpper = function(character) {
- if (character == '\u00b5') {
- return '\u00b5';
- } else {
- return character.toUpperCase();
+ var upper = util.CASE_LOWER_TO_UPPER_MAPPING_[character];
+ if (upper) {
+ return upper;
}
+ return character.toUpperCase();
};
@@ -229,8 +287,9 @@ util.toUpper = function(character) {
* @return {string} The lower case of the character.
*/
util.toLower = function(character) {
- if (character == '\u0049') {
- return '\u0131';
+ var lower = util.CASE_UPPER_TO_LOWER_MAPPING_[character];
+ if (lower) {
+ return lower;
}
return character.toLowerCase();
};
@@ -327,63 +386,4 @@ util.getConfigName = function(keyboardCode) {
// Strips out all the suffixes in the keyboard code.
return keyboardCode.replace(/\..*$/, '');
};
-
-
-/**
- * Checks that the word is a valid delete from the old to new context.
- *
- * @param {string} oldContext The old context.
- * @param {string} newContext The new context.
- * @param {string} deletionCandidate A possible word deletion.
- *
- * @return {boolean} Whether the deletion was valid.
- */
-util.isPossibleDelete = function(
- oldContext, newContext, deletionCandidate) {
- // Check that deletionCandidate exists in oldContext. We don't check if it's a
- // tail since our heuristic may have trimmed whitespace.
- var rootEnd = oldContext.lastIndexOf(deletionCandidate);
- if (rootEnd != -1) {
- // Check that remaining text in root persisted in newContext.
- var root = oldContext.slice(0, rootEnd);
- return root == newContext.slice(-rootEnd);
- }
- return false;
-};
-
-
-/**
- * Checks whether a letter deletion would cause the observed context transform.
- *
- * @param {string} oldContext The old context.
- * @param {string} newContext The new context.
- *
- * @return {boolean} Whether the transform is valid.
- */
-util.isLetterDelete = function(oldContext, newContext) {
- if (oldContext == '') {
- return false;
- }
- // Handle buffer overflow.
- if (oldContext.length == newContext.length) {
- return util.isLetterDelete(oldContext, newContext.slice(1));
- }
- return oldContext.length == newContext.length + 1 &&
- oldContext.indexOf(newContext) == 0;
-};
-
-
-/**
- * Checks whether a letter restoration would cause the observed context
- * transform.
- *
- * @param {string} oldContext The old context.
- * @param {string} newContext The new context.
- *
- * @return {boolean} Whether the transform is valid.
- */
-util.isLetterRestore = function(oldContext, newContext) {
- return util.isLetterDelete(newContext, oldContext);
-};
-
}); // goog.scope

Powered by Google App Engine
This is Rietveld 408576698