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

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

Issue 1257313003: Update Google Input Tools (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Free up grd resources. Created 5 years, 5 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/config/compact_util.js
diff --git a/third_party/google_input_tools/src/chrome/os/inputview/config/compact_util.js b/third_party/google_input_tools/src/chrome/os/inputview/config/compact_util.js
index 899ffd484550bf30d02a9e77032dc5ee6b15d9db..8ea94b1130a2f4985ad347ab36e21cc7c60d8cd1 100644
--- a/third_party/google_input_tools/src/chrome/os/inputview/config/compact_util.js
+++ b/third_party/google_input_tools/src/chrome/os/inputview/config/compact_util.js
@@ -14,7 +14,9 @@
goog.provide('i18n.input.chrome.inputview.content.compact.util');
goog.provide('i18n.input.chrome.inputview.content.compact.util.CompactKeysetSpec');
+goog.require('goog.object');
goog.require('i18n.input.chrome.inputview.Css');
+goog.require('i18n.input.chrome.inputview.SpecNodeName');
goog.require('i18n.input.chrome.inputview.content.Constants');
goog.require('i18n.input.chrome.inputview.elements.ElementType');
@@ -23,6 +25,7 @@ var util = i18n.input.chrome.inputview.content.compact.util;
var NON_LETTER_KEYS =
i18n.input.chrome.inputview.content.Constants.NON_LETTER_KEYS;
var Css = i18n.input.chrome.inputview.Css;
+var SpecNodeName = i18n.input.chrome.inputview.SpecNodeName;
/**
@@ -93,19 +96,22 @@ util.createCompactData = function(keysetSpec, viewIdPrefix, keyIdPrefix) {
for (var i = 0; i < keysetSpec[keysetSpecNode.DATA].length; i++) {
var keySpec = keysetSpec[keysetSpecNode.DATA][i];
if (keySpec == NON_LETTER_KEYS.MENU) {
- keySpec['toKeyset'] = keysetSpec[keysetSpecNode.ID].split('.')[0];
+ keySpec[SpecNodeName.TO_KEYSET] =
+ keysetSpec[keysetSpecNode.ID].split('.')[0];
}
- var id = keySpec['id'] ? keySpec['id'] : keyIdPrefix + i;
+ var id = keySpec[SpecNodeName.ID] ?
+ keySpec[SpecNodeName.ID] :
+ keyIdPrefix + i;
var key = util.createCompactKey(id, keySpec);
keyList.push(key);
- mapping[key['spec']['id']] = viewIdPrefix + i;
+ mapping[key['spec'][SpecNodeName.ID]] = viewIdPrefix + i;
}
- return {
- 'keyList': keyList,
- 'mapping': mapping,
- 'layout': keysetSpec[keysetSpecNode.LAYOUT]
- };
+ var compactKeyData = {};
+ compactKeyData[SpecNodeName.KEY_LIST] = keyList;
+ compactKeyData[SpecNodeName.MAPPING] = mapping;
+ compactKeyData[SpecNodeName.LAYOUT] = keysetSpec[keysetSpecNode.LAYOUT];
+ return compactKeyData;
};
@@ -118,9 +124,10 @@ util.createCompactData = function(keysetSpec, viewIdPrefix, keyIdPrefix) {
*/
util.createCompactKey = function(id, keySpec) {
var spec = keySpec;
- spec['id'] = id;
- if (!spec['type'])
- spec['type'] = i18n.input.chrome.inputview.elements.ElementType.COMPACT_KEY;
+ spec[SpecNodeName.ID] = id;
+ if (!spec[SpecNodeName.TYPE])
+ spec[SpecNodeName.TYPE] =
+ i18n.input.chrome.inputview.elements.ElementType.COMPACT_KEY;
var newSpec = {};
for (var key in spec) {
@@ -140,22 +147,27 @@ util.createCompactKey = function(id, keySpec) {
* @param {!Array.<!Object>} switcherKeys The customized switcher keys.
*/
util.customizeSwitchers = function(keyCharacters, switcherKeys) {
- var j = 0;
+ var switcherKeyIndex = 0;
for (var i = 0; i < keyCharacters.length; i++) {
if (keyCharacters[i] == NON_LETTER_KEYS.SWITCHER) {
- if (j >= switcherKeys.length) {
+ if (switcherKeyIndex >= switcherKeys.length) {
console.error('The number of switcher key spec is less than' +
' the number of switcher keys in the keyset.');
return;
}
- var newSpec = switcherKeys[j++];
- for (var key in keyCharacters[i]) {
- newSpec[key] = keyCharacters[i][key];
- }
+
+ // Merge the switcher key and key character specifications.
+ var newSpec = {};
+ goog.object.extend(newSpec, switcherKeys[switcherKeyIndex]);
+ goog.object.extend(newSpec, keyCharacters[i]);
+
+ // Assign the merged specification to the key and
+ // move on to the next switcher key.
keyCharacters[i] = newSpec;
+ switcherKeyIndex++;
}
}
- if (j < switcherKeys.length - 1) {
+ if (switcherKeyIndex < switcherKeys.length) {
console.error('The number of switcher key spec is more than' +
' the number of switcher keys in the keyset.');
}
@@ -163,73 +175,88 @@ util.customizeSwitchers = function(keyCharacters, switcherKeys) {
/**
- * Generates letter, symbol and more compact keysets and load them.
+ * Attaches a keyset to the spacebar.
+ * This is used to switch to the letter keyset when space is entered
+ * after a symbol.
+ *
+ * @param {!Array.<!Object>} keyCharacters The key characters.
+ * @param {string} letterKeysetId The ID of the letter keyset.
+ * @private
+ */
+util.addKeysetToSpacebar_ = function(keyCharacters, letterKeysetId) {
+ for (var i = 0; i < keyCharacters.length; i++) {
+ if (keyCharacters[i] == NON_LETTER_KEYS.SPACE) {
+ keyCharacters[i][SpecNodeName.TO_KEYSET] = letterKeysetId;
+ break;
+ }
+ }
+};
+
+
+/**
+ * Generates letter, symbol and more compact keysets, and loads them.
*
* @param {!Object} letterKeysetSpec The spec of letter keyset.
* @param {!Object} symbolKeysetSpec The spec of symbol keyset.
* @param {!Object} moreKeysetSpec The spec of more keyset.
- * @param {!function(!Object): void} onLoaded The function to call once a keyset
+ * @param {!function(!Object): void} onLoaded The function to call once keyset
* data is ready.
*/
util.generateCompactKeyboard =
function(letterKeysetSpec, symbolKeysetSpec, moreKeysetSpec, onLoaded) {
- // Creates compacty qwerty keyset.
+ // Creates the switcher key specifications.
var keysetSpecNode = util.CompactKeysetSpec;
+
+ var lettersSwitcherKey = {};
+ lettersSwitcherKey[SpecNodeName.NAME] = 'abc';
+ lettersSwitcherKey[SpecNodeName.TO_KEYSET] =
+ letterKeysetSpec[keysetSpecNode.ID];
+ lettersSwitcherKey[SpecNodeName.TO_KEYSET_NAME] = util.MSG_MAIN_LAYOUT;
+
+ var symbolsSwitcherKey = {};
+ symbolsSwitcherKey[SpecNodeName.NAME] = '?123';
+ symbolsSwitcherKey[SpecNodeName.TO_KEYSET] =
+ symbolKeysetSpec[keysetSpecNode.ID];
+ symbolsSwitcherKey[SpecNodeName.TO_KEYSET_NAME] = util.MSG_NUMBER_AND_SYMBOL;
+
+ var moreSwitcherKey = {};
+ moreSwitcherKey[SpecNodeName.NAME] = '~[<';
+ moreSwitcherKey[SpecNodeName.TO_KEYSET] = moreKeysetSpec[keysetSpecNode.ID];
+ moreSwitcherKey[SpecNodeName.TO_KEYSET_NAME] = util.MSG_MORE_SYMBOLS;
+
+ // Creates compact qwerty keyset.
util.customizeSwitchers(
letterKeysetSpec[keysetSpecNode.DATA],
- [{ 'name': '?123',
- 'toKeyset': symbolKeysetSpec[keysetSpecNode.ID],
- 'toKeysetName': util.MSG_NUMBER_AND_SYMBOL
- }]);
-
+ [symbolsSwitcherKey]);
var data = util.createCompactData(
letterKeysetSpec, 'compactkbd-k-', 'compactkbd-k-key-');
- data['id'] = letterKeysetSpec[keysetSpecNode.ID];
- data['showMenuKey'] = true;
+ data[SpecNodeName.ID] = letterKeysetSpec[keysetSpecNode.ID];
+ data[SpecNodeName.SHOW_MENU_KEY] = true;
onLoaded(data);
- // Creates compacty symbol keyset.
+ // Creates compact symbol keyset.
util.customizeSwitchers(
symbolKeysetSpec[keysetSpecNode.DATA],
- [{ 'name': '~[<',
- 'toKeyset': moreKeysetSpec[keysetSpecNode.ID],
- 'toKeysetName': util.MSG_MORE_SYMBOLS
- },
- { 'name': '~[<',
- 'toKeyset': moreKeysetSpec[keysetSpecNode.ID],
- 'toKeysetName': util.MSG_MORE_SYMBOLS
- },
- { 'name': 'abc',
- 'toKeyset': letterKeysetSpec[keysetSpecNode.ID],
- 'toKeysetName': util.MSG_MAIN_LAYOUT
- }]);
+ [moreSwitcherKey, moreSwitcherKey, lettersSwitcherKey]);
+ util.addKeysetToSpacebar_(
+ symbolKeysetSpec[keysetSpecNode.DATA],
+ letterKeysetSpec[keysetSpecNode.ID]);
data = util.createCompactData(
symbolKeysetSpec, 'compactkbd-k-', 'compactkbd-k-key-');
- data['id'] = symbolKeysetSpec[keysetSpecNode.ID];
- data['showMenuKey'] = false;
- data['noShift'] = true;
+ data[SpecNodeName.ID] = symbolKeysetSpec[keysetSpecNode.ID];
+ data[SpecNodeName.SHOW_MENU_KEY] = false;
+ data[SpecNodeName.NO_SHIFT] = true;
onLoaded(data);
// Creates compact more keyset.
util.customizeSwitchers(
moreKeysetSpec[keysetSpecNode.DATA],
- [{ 'name': '?123',
- 'toKeyset': symbolKeysetSpec[keysetSpecNode.ID],
- 'toKeysetName': util.MSG_NUMBER_AND_SYMBOL
- },
- { 'name': '?123',
- 'toKeyset': symbolKeysetSpec[keysetSpecNode.ID],
- 'toKeysetName': util.MSG_NUMBER_AND_SYMBOL
- },
- { 'name': 'abc',
- 'toKeyset': letterKeysetSpec[keysetSpecNode.ID],
- 'toKeysetName': util.MSG_MAIN_LAYOUT
- }]);
+ [symbolsSwitcherKey, symbolsSwitcherKey, lettersSwitcherKey]);
data = util.createCompactData(moreKeysetSpec, 'compactkbd-k-',
'compactkbd-k-key-');
- data['id'] = moreKeysetSpec[keysetSpecNode.ID];
- data['showMenuKey'] = false;
- data['noShift'] = true;
+ data[SpecNodeName.ID] = moreKeysetSpec[keysetSpecNode.ID];
+ data[SpecNodeName.SHOW_MENU_KEY] = false;
+ data[SpecNodeName.NO_SHIFT] = true;
onLoaded(data);
};
@@ -250,129 +277,120 @@ util.generateCompactKeyboard =
util.generatePinyinCompactKeyboard = function(letterKeysetSpec, engKeysetSpec,
symbolKeysetSpec, engSymbolKeysetSpec,
moreKeysetSpec, engMoreKeysetSpec, onLoaded) {
- // Creates compacty qwerty keyset for pinyin.
+ // Creates the switcher key specifications.
var keysetSpecNode = util.CompactKeysetSpec;
+
+ var lettersSwitcherKey = {};
+ lettersSwitcherKey[SpecNodeName.NAME] = 'abc';
+ lettersSwitcherKey[SpecNodeName.TO_KEYSET] =
+ letterKeysetSpec[keysetSpecNode.ID];
+ lettersSwitcherKey[SpecNodeName.TO_KEYSET_NAME] = util.MSG_MAIN_LAYOUT;
+
+ var symbolsSwitcherKey = {};
+ symbolsSwitcherKey[SpecNodeName.NAME] = '?123';
+ symbolsSwitcherKey[SpecNodeName.TO_KEYSET] =
+ symbolKeysetSpec[keysetSpecNode.ID];
+ symbolsSwitcherKey[SpecNodeName.TO_KEYSET_NAME] = util.MSG_NUMBER_AND_SYMBOL;
+
+ var moreSwitcherKey = {};
+ moreSwitcherKey[SpecNodeName.NAME] = '~[<';
+ moreSwitcherKey[SpecNodeName.TO_KEYSET] = moreKeysetSpec[keysetSpecNode.ID];
+ moreSwitcherKey[SpecNodeName.TO_KEYSET_NAME] = util.MSG_MORE_SYMBOLS;
+
+ var engLettersSwitcherKey = {};
+ engLettersSwitcherKey[SpecNodeName.NAME] = 'abc';
+ engLettersSwitcherKey[SpecNodeName.TO_KEYSET] =
+ engKeysetSpec[keysetSpecNode.ID];
+ engLettersSwitcherKey[SpecNodeName.TO_KEYSET_NAME] = util.MSG_ENG_MAIN_LAYOUT;
+
+ var engSymbolsSwitcherKey = {};
+ engSymbolsSwitcherKey[SpecNodeName.NAME] = '?123';
+ engSymbolsSwitcherKey[SpecNodeName.TO_KEYSET] =
+ engSymbolKeysetSpec[keysetSpecNode.ID];
+ engSymbolsSwitcherKey[SpecNodeName.TO_KEYSET_NAME] =
+ util.MSG_ENG_NUMBER_AND_SYMBOL;
+
+ var engMoreSwitcherKey = {};
+ engMoreSwitcherKey[SpecNodeName.NAME] = '~[<';
+ engMoreSwitcherKey[SpecNodeName.TO_KEYSET] =
+ engMoreKeysetSpec[keysetSpecNode.ID];
+ engMoreSwitcherKey[SpecNodeName.TO_KEYSET_NAME] = util.MSG_ENG_MORE_SYMBOLS;
+
+ var lettersSwitcherKeyWithIcon = {};
+ lettersSwitcherKeyWithIcon[SpecNodeName.TO_KEYSET] =
+ letterKeysetSpec[keysetSpecNode.ID];
+ lettersSwitcherKeyWithIcon[SpecNodeName.TO_KEYSET_NAME] =
+ util.MSG_MAIN_LAYOUT;
+ lettersSwitcherKeyWithIcon[SpecNodeName.ICON_CSS_CLASS] =
+ Css.SWITCHER_ENGLISH;
+
+ var engSwitcherKey = {};
+ engSwitcherKey[SpecNodeName.TO_KEYSET] = engKeysetSpec[keysetSpecNode.ID];
+ engSwitcherKey[SpecNodeName.TO_KEYSET_NAME] = util.MSG_ENG_MAIN_LAYOUT;
+ engSwitcherKey[SpecNodeName.ICON_CSS_CLASS] = Css.SWITCHER_CHINESE;
+
+ // Creates compact qwerty keyset for pinyin.
util.customizeSwitchers(
letterKeysetSpec[keysetSpecNode.DATA],
- [{ 'name': '?123',
- 'toKeyset': symbolKeysetSpec[keysetSpecNode.ID],
- 'toKeysetName': util.MSG_NUMBER_AND_SYMBOL
- },
- { 'toKeyset': engKeysetSpec[keysetSpecNode.ID],
- 'toKeysetName': util.MSG_ENG_MAIN_LAYOUT,
- 'iconCssClass': Css.SWITCHER_CHINESE
- }]);
-
+ [symbolsSwitcherKey, engSwitcherKey]);
var data = util.createCompactData(
letterKeysetSpec, 'compactkbd-k-', 'compactkbd-k-key-');
- data['id'] = letterKeysetSpec[keysetSpecNode.ID];
- data['showMenuKey'] = true;
+ data[SpecNodeName.ID] = letterKeysetSpec[keysetSpecNode.ID];
+ data[SpecNodeName.SHOW_MENU_KEY] = true;
onLoaded(data);
- // Creates the compacty qwerty keyset for pinyin's English mode.
+ // Creates the compact qwerty keyset for pinyin's English mode.
util.customizeSwitchers(
engKeysetSpec[keysetSpecNode.DATA],
- [{ 'name': '?123',
- 'toKeyset': engSymbolKeysetSpec[keysetSpecNode.ID],
- 'toKeysetName': util.MSG_ENG_NUMBER_AND_SYMBOL
- },
- { 'toKeyset': letterKeysetSpec[keysetSpecNode.ID],
- 'toKeysetName': util.MSG_MAIN_LAYOUT,
- 'iconCssClass': Css.SWITCHER_ENGLISH
- }]);
-
+ [engSymbolsSwitcherKey, lettersSwitcherKeyWithIcon]);
data = util.createCompactData(
engKeysetSpec, 'compactkbd-k-', 'compactkbd-k-key-');
- data['id'] = engKeysetSpec[keysetSpecNode.ID];
- data['showMenuKey'] = true;
+ data[SpecNodeName.ID] = engKeysetSpec[keysetSpecNode.ID];
+ data[SpecNodeName.SHOW_MENU_KEY] = true;
onLoaded(data);
- // Creates compacty symbol keyset for pinyin.
+ // Creates compact symbol keyset for pinyin.
util.customizeSwitchers(
symbolKeysetSpec[keysetSpecNode.DATA],
- [{ 'name': '~[<',
- 'toKeyset': moreKeysetSpec[keysetSpecNode.ID],
- 'toKeysetName': util.MSG_MORE_SYMBOLS
- },
- { 'name': '~[<',
- 'toKeyset': moreKeysetSpec[keysetSpecNode.ID],
- 'toKeysetName': util.MSG_MORE_SYMBOLS
- },
- { 'name': 'abc',
- 'toKeyset': letterKeysetSpec[keysetSpecNode.ID],
- 'toKeysetName': util.MSG_MAIN_LAYOUT
- }]);
+ [moreSwitcherKey, moreSwitcherKey, lettersSwitcherKey]);
data = util.createCompactData(
symbolKeysetSpec, 'compactkbd-k-', 'compactkbd-k-key-');
- data['id'] = symbolKeysetSpec[keysetSpecNode.ID];
- data['showMenuKey'] = false;
- data['noShift'] = true;
+ data[SpecNodeName.ID] = symbolKeysetSpec[keysetSpecNode.ID];
+ data[SpecNodeName.SHOW_MENU_KEY] = false;
+ data[SpecNodeName.NO_SHIFT] = true;
onLoaded(data);
- // Creates compacty symbol keyset for English mode.
+ // Creates compact symbol keyset for English mode.
util.customizeSwitchers(
engSymbolKeysetSpec[keysetSpecNode.DATA],
- [{ 'name': '~[<',
- 'toKeyset': engMoreKeysetSpec[keysetSpecNode.ID],
- 'toKeysetName': util.MSG_ENG_MORE_SYMBOLS
- },
- { 'name': '~[<',
- 'toKeyset': engMoreKeysetSpec[keysetSpecNode.ID],
- 'toKeysetName': util.MSG_ENG_MORE_SYMBOLS
- },
- { 'name': 'abc',
- 'toKeyset': engKeysetSpec[keysetSpecNode.ID],
- 'toKeysetName': util.MSG_ENG_MAIN_LAYOUT
- }]);
+ [engMoreSwitcherKey, engMoreSwitcherKey, engLettersSwitcherKey]);
data = util.createCompactData(
engSymbolKeysetSpec, 'compactkbd-k-', 'compactkbd-k-key-');
- data['id'] = engSymbolKeysetSpec[keysetSpecNode.ID];
- data['showMenuKey'] = false;
- data['noShift'] = true;
+ data[SpecNodeName.ID] = engSymbolKeysetSpec[keysetSpecNode.ID];
+ data[SpecNodeName.SHOW_MENU_KEY] = false;
+ data[SpecNodeName.NO_SHIFT] = true;
onLoaded(data);
// Creates compact more keyset for pinyin.
util.customizeSwitchers(
moreKeysetSpec[keysetSpecNode.DATA],
- [{ 'name': '?123',
- 'toKeyset': symbolKeysetSpec[keysetSpecNode.ID],
- 'toKeysetName': util.MSG_NUMBER_AND_SYMBOL
- },
- { 'name': '?123',
- 'toKeyset': symbolKeysetSpec[keysetSpecNode.ID],
- 'toKeysetName': util.MSG_NUMBER_AND_SYMBOL
- },
- { 'name': 'abc',
- 'toKeyset': letterKeysetSpec[keysetSpecNode.ID],
- 'toKeysetName': util.MSG_MAIN_LAYOUT
- }]);
+ [symbolsSwitcherKey, symbolsSwitcherKey, lettersSwitcherKey]);
data = util.createCompactData(moreKeysetSpec, 'compactkbd-k-',
'compactkbd-k-key-');
- data['id'] = moreKeysetSpec[keysetSpecNode.ID];
- data['showMenuKey'] = false;
- data['noShift'] = true;
+ data[SpecNodeName.ID] = moreKeysetSpec[keysetSpecNode.ID];
+ data[SpecNodeName.SHOW_MENU_KEY] = false;
+ data[SpecNodeName.NO_SHIFT] = true;
onLoaded(data);
// Creates the compact more keyset of english mode.
util.customizeSwitchers(
engMoreKeysetSpec[keysetSpecNode.DATA],
- [{ 'name': '?123',
- 'toKeyset': engSymbolKeysetSpec[keysetSpecNode.ID],
- 'toKeysetName': util.MSG_ENG_NUMBER_AND_SYMBOL
- },
- { 'name': '?123',
- 'toKeyset': engSymbolKeysetSpec[keysetSpecNode.ID],
- 'toKeysetName': util.MSG_ENG_NUMBER_AND_SYMBOL
- },
- { 'name': 'abc',
- 'toKeyset': engKeysetSpec[keysetSpecNode.ID],
- 'toKeysetName': util.MSG_ENG_MAIN_LAYOUT
- }]);
+ [engSymbolsSwitcherKey, engSymbolsSwitcherKey, engLettersSwitcherKey]);
data = util.createCompactData(engMoreKeysetSpec, 'compactkbd-k-',
'compactkbd-k-key-');
- data['id'] = engMoreKeysetSpec[keysetSpecNode.ID];
- data['showMenuKey'] = false;
- data['noShift'] = true;
+ data[SpecNodeName.ID] = engMoreKeysetSpec[keysetSpecNode.ID];
+ data[SpecNodeName.SHOW_MENU_KEY] = false;
+ data[SpecNodeName.NO_SHIFT] = true;
onLoaded(data);
};
}); // goog.scope

Powered by Google App Engine
This is Rietveld 408576698