blob: 3f12278c00f061922660d09ab908c46f8765123f [file] [log] [blame]
diff -urN nacl-mozc-1.15.1800.4.orig/config/jp.js nacl-mozc-1.15.1800.4/config/jp.js
--- nacl-mozc-1.15.1800.4.orig/config/jp.js 1970-01-01 09:00:00.000000000 +0900
+++ nacl-mozc-1.15.1800.4/config/jp.js 2014-05-09 13:27:42.390442458 +0900
@@ -0,0 +1,5 @@
+(function() { function b(c,a){return c.type=a}var d="push",e="ArrowDown",f="ArrowLeft",h="ArrowRight",k="ArrowUp",l="ShiftLeft",m="ShiftRight",n="inputview-arrow-key ",p="inputview-down-key",q="inputview-left-key",r="inputview-right-key",s="inputview-shift-icon",t="inputview-up-key";function u(c,a,g,H){v.splice.apply(c,w(arguments,1))}function w(c,a,g){return 2>=arguments.length?v.slice.call(c,a):v.slice.call(c,a,g)}
+function x(c){var a={toState:1,iconCssClass:s,type:5};a.id=c?l:m;a.supportSticky=void 0;return y(a)}function z(c){var a={iconCssClass:n};0==c?(a.id=k,a.iconCssClass+=t,b(a,15)):1==c?(a.id=e,a.iconCssClass+=p,b(a,16)):2==c?(a.id=f,a.iconCssClass+=q,b(a,17)):3==c&&(a.id=h,a.iconCssClass+=r,b(a,18));return y(a)}function y(c){var a={},g;for(g in c)a[g]=c[g];return{spec:a}};var v=Array.prototype;for(var A=[["`","~"],["1","!"],["2",'"'],["3","#"],["4","$"],["5","%"],["6","&"],["7","'"],["8","("],["9",")"],["0","~"],["-","="],["^","~"],["q","Q"],["w","W"],["e","E"],["r","R"],["t","T"],["y","Y"],["u","U"],["i","I"],["o","O"],["p","P"],["@","`"],["[","{"],["]","}"],["a","A"],["s","S"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],[";","+"],[":","*"],["z","Z"],["x","X"],["c","C"],["v","V"],["b","B"],["n","N"],["m","M"],[",","<"],[".",">"],["/","?"],[" "," "]],B=[],C={},
+D="Backquote Digit1 Digit2 Digit3 Digit4 Digit5 Digit6 Digit7 Digit8 Digit9 Digit0 Minus Equal KeyQ KeyW KeyE KeyR KeyT KeyY KeyU KeyI KeyO KeyP BracketLeft BracketRight Backslash KeyA KeyS KeyD KeyF KeyG KeyH KeyJ KeyK KeyL Semicolon Quote KeyZ KeyX KeyC KeyV KeyB KeyN KeyM Comma Period Slash".split(" "),E=0;E<A.length-1;E++){var F=y({id:D[E],type:6,characters:A[E]});B[d](F)}var G=y({name:" ",type:11,id:"Space"});u(B,13,0,y({iconCssClass:"inputview-backspace-icon",type:13,id:"Backspace"}));
+u(B,14,0,y({iconCssClass:"inputview-tab-icon",type:14,id:"Tab"}));u(B,28,0,y({toState:4,name:"caps",type:5,id:"OsLeft"}));u(B,40,0,y({iconCssClass:"inputview-enter-icon",type:12,id:"Enter"}));u(B,41,0,x(!0));B[d](x(!1));B[d](y({toState:8,name:"ctrl",type:5,id:"ControlLeft"}));B[d](y({toState:16,name:"alt",type:5,id:"AltLeft"}));B[d](y({id:"toCompact",name:"",toKeyset:"us.compact",iconCssClass:"inputview-compact-switcher",type:21,record:!0}));B[d](G);B[d](y({toState:2,name:"altgr",type:5,id:"AltRight"}));
+B[d](z(2));B[d](z(3));B[d](y({iconCssClass:"inputview-hide-keyboard-icon",type:19,id:"HideKeyboard"}));for(E=0;E<B.length;E++)F=B[E],C[F.spec.id]="101kbd-k-"+E;google.ime.chrome.inputview.onConfigLoaded({keyList:B,mapping:C,layout:"101kbd",hasAltGrKey:!1,id:"jp"}); })()
diff -urN nacl-mozc-1.15.1800.4.orig/config/us.js nacl-mozc-1.15.1800.4/config/us.js
--- nacl-mozc-1.15.1800.4.orig/config/us.js 2014-05-09 13:53:08.470488225 +0900
+++ nacl-mozc-1.15.1800.4/config/us.js 2014-05-09 13:27:42.390442458 +0900
@@ -1,10 +1,10 @@
-(function() { function e(d,a){return d.type=a}
-var f="push",h="chrome",k="inputview",m="length",n="onConfigLoaded",p="",q=" ",r="?123",s="ArrowDown",t="ArrowLeft",w="ArrowRight",x="ArrowUp",y="Backspace",z="Enter",A="HideKeyboard",B="ShiftLeft",aa="ShiftRight",ba="Space",C="abc",ca="compactkbd",da="compactkbd-k-",D="compactkbd-k-key-",ea="inputview-arrow-key ",fa="inputview-backspace-icon",ga="inputview-down-key",ha="inputview-enter-icon",ia="inputview-hide-keyboard-icon",ja="inputview-left-key",ka="inputview-regular-switcher",la="inputview-right-key",
-ma="inputview-shift-icon",na="inputview-up-key",E="us",F="us.compact",G="us.compact.123",H="us.compact.more",I="~[<";function J(d,a,b,v){K.splice.apply(d,oa(arguments,1))}function oa(d,a,b){return 2>=arguments[m]?K.slice.call(d,a):K.slice.call(d,a,b)}function L(){return M({iconCssClass:ia,type:19,id:A})}function N(d,a){var b={toState:1,iconCssClass:ma,type:5};b.id=d?B:aa;b.supportSticky=a;return M(b)}function O(){return M({iconCssClass:ha,type:12,id:z})}
-function P(){return M({iconCssClass:fa,type:13,id:y})}function R(){return M({name:q,type:11,id:ba})}function S(d){var a={iconCssClass:ea};0==d?(a.id=x,a.iconCssClass+=na,e(a,15)):1==d?(a.id=s,a.iconCssClass+=ga,e(a,16)):2==d?(a.id=t,a.iconCssClass+=ja,e(a,17)):3==d&&(a.id=w,a.iconCssClass+=la,e(a,18));return M(a)}function M(d){var a={},b;for(b in d)a[b]=d[b];return{spec:a}}
-function T(d,a){for(var b=[],v={},g=0;g<d[m]-1;g++){var c;c=d[g][0];var l=2==d[g][m]?d[g][1]:void 0,Q=10==g?0.43:0,u={};u.id=D+g;e(u,22);u.text=c;l&&(u.hintText=l);Q&&(u.marginLeftPercent=Q);c=M(u);b[f](c)}g=R();c=b[m];J(b,10,0,P());J(b,20,0,O());switch(a){case 0:J(b,21,0,N(!0,!0));J(b,31,0,N(!1,!0));l=U(D+c++,r,G);J(b,32,0,l);c=U(D+c++,p,E,ka,!0);J(b,34,0,c);break;case 1:l=U(D+c++,I,H);J(b,21,0,l);l=U(D+c++,I,H);J(b,31,0,l);c=U(D+c++,C,F);J(b,32,0,c);break;case 2:l=U(D+c++,r,G),J(b,21,0,l),l=U(D+
-c++,r,G),J(b,31,0,l),c=U(D+c++,C,F),J(b,32,0,c)}J(b,35,0,g);b[f](L());for(g=0;g<b[m];g++)c=b[g],v[c.spec.id]=da+g;return{keyList:b,mapping:v,layout:ca}}function U(d,a,b,v,g){var c={};c.id=d;c.name=a;c.toKeyset=b;c.iconCssClass=v;e(c,21);c.record=!!g;return M(c)};var K=Array.prototype;for(var V,W=[["`","~"],["1","!"],["2","@"],["3","#"],["4","$"],["5","%"],["6","^"],["7","&"],["8","*"],["9","("],["0",")"],["-","_"],["=","+"],["q","Q"],["w","W"],["e","E"],["r","R"],["t","T"],["y","Y"],["u","U"],["i","I"],["o","O"],["p","P"],["[","{"],["]","}"],["\\","|"],["a","A"],["s","S"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],[";",":"],["'",'"'],["z","Z"],["x","X"],["c","C"],["v","V"],["b","B"],["n","N"],["m","M"],[",","<"],[".",">"],["/","?"],[q,q]],X=[],Y={},
-pa="Backquote Digit1 Digit2 Digit3 Digit4 Digit5 Digit6 Digit7 Digit8 Digit9 Digit0 Minus Equal KeyQ KeyW KeyE KeyR KeyT KeyY KeyU KeyI KeyO KeyP BracketLeft BracketRight Backslash KeyA KeyS KeyD KeyF KeyG KeyH KeyJ KeyK KeyL Semicolon Quote KeyZ KeyX KeyC KeyV KeyB KeyN KeyM Comma Period Slash".split(" "),Z=0;Z<W[m]-1;Z++){var $=M({id:pa[Z],type:6,characters:W[Z]});X[f]($)}var qa=R();J(X,13,0,P());J(X,14,0,M({iconCssClass:"inputview-tab-icon",type:14,id:"Tab"}));
-J(X,28,0,M({toState:4,name:"caps",type:5,id:"OsLeft"}));J(X,40,0,O());J(X,41,0,N(!0));X[f](N(!1));X[f](M({toState:8,name:"ctrl",type:5,id:"Ctrl"}));X[f](M({toState:16,name:"alt",type:5,id:"Alt"}));X[f](U("toCompact",p,F,"inputview-compact-switcher",!0));X[f](qa);X[f](M({toState:2,name:"alt gr",type:5,id:"AltRight"}));X[f](S(2));X[f](S(3));X[f](L());for(Z=0;Z<X[m];Z++)$=X[Z],Y[$.spec.id]="101kbd-k-"+Z;V={keyList:X,mapping:Y,layout:"101kbd",hasAltGrKey:!1,id:E};google.ime[h][k][n](V);
-V=T([["q","1"],["w","2"],["e","3"],["r","4"],["t","5"],["y","6"],["u","7"],["i","8"],["o","9"],["p","0"],["a"],["s"],["d"],["f"],["g"],["h"],["j"],["k"],["l"],["z"],["x"],["c"],["v"],["b"],["n"],["m"],["!"],["?"],["/"],[","],["."],[q]],0);V.id=F;google.ime[h][k][n](V);V=T([["1"],["2"],["3"],["4"],["5"],["6"],["7"],["8"],["9"],["0"],["@"],["#"],["$"],["%"],["&"],["-"],["+"],["("],[")"],["\\"],["="],["*"],['"'],["'"],[":"],[";"],["!"],["?"],["/"],["_"],[","],["."],[q]],1);V.id=G;google.ime[h][k][n](V);
-V=T([["~"],["`"],["|"],["\u2022"],["\u23b7"],["\u03a0"],["\u00f7"],["\u00d7"],["\u00b6"],["\u0394"],["\u00a3"],["\u00a2"],["\u20ac"],["\u00a5"],["^"],["\u00b0"],["="],["{"],["}"],["\\"],["\u00a9"],["\u00ae"],["\u2122"],["\u2105"],["["],["]"],["\u00a1"],["\u00bf"],["<"],[">"],[","],["."],[q]],2);V.id=H;google.ime[h][k][n](V); })()
+(function() { function f(d,a){return d.type=a}
+var g="push",h="chrome",k="inputview",l="length",n="onConfigLoaded",p=" ",q="?123",r="ArrowDown",t="ArrowLeft",u="ArrowRight",w="ArrowUp",x="Backspace",y="Enter",z="HideKeyboard",A="ShiftLeft",B="ShiftRight",C="Space",D="abc",aa="compactkbd",ba="compactkbd-k-",E="compactkbd-k-key-",ca="inputview-arrow-key ",da="inputview-backspace-icon",ea="inputview-down-key",fa="inputview-enter-icon",ga="inputview-hide-keyboard-icon",ha="inputview-left-key",ia="inputview-right-key",ja="inputview-shift-icon",ka=
+"inputview-up-key",F="us.compact",G="us.compact.123",H="us.compact.more",I="~[<";function J(d,a,b,v){K.splice.apply(d,la(arguments,1))}function la(d,a,b){return 2>=arguments[l]?K.slice.call(d,a):K.slice.call(d,a,b)}function L(){return M({iconCssClass:ga,type:19,id:z})}function N(d,a){var b={toState:1,iconCssClass:ja,type:5};b.id=d?A:B;b.supportSticky=a;return M(b)}function P(){return M({iconCssClass:fa,type:12,id:y})}function Q(){return M({iconCssClass:da,type:13,id:x})}
+function R(){return M({name:p,type:11,id:C})}function S(d){var a={iconCssClass:ca};0==d?(a.id=w,a.iconCssClass+=ka,f(a,15)):1==d?(a.id=r,a.iconCssClass+=ea,f(a,16)):2==d?(a.id=t,a.iconCssClass+=ha,f(a,17)):3==d&&(a.id=u,a.iconCssClass+=ia,f(a,18));return M(a)}function M(d){var a={},b;for(b in d)a[b]=d[b];return{spec:a}}
+function T(d,a){for(var b=[],v={},e=0;e<d[l]-1;e++){var c;c=d[e][0];var m=2==d[e][l]?d[e][1]:void 0,O=10==e?.33:0,ma=3==d[e][l]?!!d[e][2]:!1,s={};s.id=E+e;f(s,22);s.text=c;m&&(s.hintText=m);O&&(s.marginLeftPercent=O);s.isGrey=!!ma;c=M(s);b[g](c)}e=R();c=b[l];J(b,10,0,Q());J(b,20,0,P());switch(a){case 0:J(b,21,0,N(!0,!0));J(b,31,0,N(!1,!0));c=U(E+c++,q,G);J(b,32,0,c);break;case 1:m=U(E+c++,I,H);J(b,21,0,m);m=U(E+c++,I,H);J(b,31,0,m);c=U(E+c++,D,F);J(b,32,0,c);break;case 2:m=U(E+c++,q,G),J(b,21,0,m),
+m=U(E+c++,q,G),J(b,31,0,m),c=U(E+c++,D,F),J(b,32,0,c)}J(b,35,0,e);b[g](L());for(e=0;e<b[l];e++)c=b[e],v[c.spec.id]=ba+e;return{keyList:b,mapping:v,layout:aa}}function U(d,a,b,v,e){var c={};c.id=d;c.name=a;c.toKeyset=b;c.iconCssClass=v;f(c,21);c.record=!!e;return M(c)};var K=Array.prototype;for(var V,W=[["`","~"],["1","!"],["2","@"],["3","#"],["4","$"],["5","%"],["6","^"],["7","&"],["8","*"],["9","("],["0",")"],["-","_"],["=","+"],["q","Q"],["w","W"],["e","E"],["r","R"],["t","T"],["y","Y"],["u","U"],["i","I"],["o","O"],["p","P"],["[","{"],["]","}"],["\\","|"],["a","A"],["s","S"],["d","D"],["f","F"],["g","G"],["h","H"],["j","J"],["k","K"],["l","L"],[";",":"],["'",'"'],["z","Z"],["x","X"],["c","C"],["v","V"],["b","B"],["n","N"],["m","M"],[",","<"],[".",">"],["/","?"],[p,p]],X=[],Y={},
+na="Backquote Digit1 Digit2 Digit3 Digit4 Digit5 Digit6 Digit7 Digit8 Digit9 Digit0 Minus Equal KeyQ KeyW KeyE KeyR KeyT KeyY KeyU KeyI KeyO KeyP BracketLeft BracketRight Backslash KeyA KeyS KeyD KeyF KeyG KeyH KeyJ KeyK KeyL Semicolon Quote KeyZ KeyX KeyC KeyV KeyB KeyN KeyM Comma Period Slash".split(" "),Z=0;Z<W[l]-1;Z++){var $=M({id:na[Z],type:6,characters:W[Z]});X[g]($)}var oa=R();J(X,13,0,Q());J(X,14,0,M({iconCssClass:"inputview-tab-icon",type:14,id:"Tab"}));
+J(X,28,0,M({toState:4,name:"caps",type:5,id:"OsLeft"}));J(X,40,0,P());J(X,41,0,N(!0));X[g](N(!1));X[g](M({toState:8,name:"ctrl",type:5,id:"ControlLeft"}));X[g](M({toState:16,name:"alt",type:5,id:"AltLeft"}));X[g](U("toCompact","",F,"inputview-compact-switcher",!0));X[g](oa);X[g](M({toState:2,name:"altgr",type:5,id:"AltRight"}));X[g](S(2));X[g](S(3));X[g](L());for(Z=0;Z<X[l];Z++)$=X[Z],Y[$.spec.id]="101kbd-k-"+Z;V={keyList:X,mapping:Y,layout:"101kbd",hasAltGrKey:!1,id:"us"};google.ime[h][k][n](V);
+V=T([["q","1"],["w","2"],["e","3"],["r","4"],["t","5"],["y","6"],["u","7"],["i","8"],["o","9"],["p","0"],["a"],["s"],["d"],["f"],["g"],["h"],["j"],["k"],["l"],["z"],["x"],["c"],["v"],["b"],["n"],["m"],["!"],["?"],["/"],["-"],[","],["."],[p]],0);V.id=F;google.ime[h][k][n](V);V=T([["1"],["2"],["3"],["4"],["5"],["6"],["7"],["8"],["9"],["0"],["@"],["#"],["$"],["%"],["&"],["-"],["+"],["("],[")"],["\\"],["="],["*"],['"'],["'"],[":"],[";"],["!"],["?"],["/"],["_"],[","],["."],[p]],1);V.id=G;google.ime[h][k][n](V);
+V=T([["~"],["`"],["|"],["\u2022"],["\u23b7"],["\u03a0"],["\u00f7"],["\u00d7"],["\u00b6"],["\u0394"],["\u00a3"],["\u00a2"],["\u20ac"],["\u00a5"],["^"],["\u00b0"],["="],["{"],["}"],["\\"],["\u00a9"],["\u00ae"],["\u2122"],["\u2105"],["["],["]"],["\u00a1"],["\u00bf"],["<"],[">"],[","],["."],[p]],2);V.id=H;google.ime[h][k][n](V); })()
diff -urN nacl-mozc-1.15.1800.4.orig/inputview.js nacl-mozc-1.15.1800.4/inputview.js
--- nacl-mozc-1.15.1800.4.orig/inputview.js 2014-05-09 13:53:08.490488226 +0900
+++ nacl-mozc-1.15.1800.4/inputview.js 2014-05-09 13:27:42.640442490 +0900
@@ -516,7 +516,7 @@
};
goog.string.htmlEscape = function $goog$string$htmlEscape$(str, opt_isLikelyToContainHtmlChars) {
if (opt_isLikelyToContainHtmlChars) {
- str = str.replace(goog.string.AMP_RE_, "&amp;").replace(goog.string.LT_RE_, "&lt;").replace(goog.string.GT_RE_, "&gt;").replace(goog.string.QUOT_RE_, "&quot;").replace(goog.string.SINGLE_QUOTE_RE_, "&#39;"), goog.string.DETECT_DOUBLE_ESCAPING && (str = str.replace(goog.string.E_RE_, "&#101;"));
+ str = str.replace(goog.string.AMP_RE_, "&amp;").replace(goog.string.LT_RE_, "&lt;").replace(goog.string.GT_RE_, "&gt;").replace(goog.string.QUOT_RE_, "&quot;").replace(goog.string.SINGLE_QUOTE_RE_, "&#39;").replace(goog.string.NULL_RE_, "&#0;"), goog.string.DETECT_DOUBLE_ESCAPING && (str = str.replace(goog.string.E_RE_, "&#101;"));
} else {
if (!goog.string.ALL_RE_.test(str)) {
return str;
@@ -526,6 +526,7 @@
-1 != str.indexOf(">") && (str = str.replace(goog.string.GT_RE_, "&gt;"));
-1 != str.indexOf('"') && (str = str.replace(goog.string.QUOT_RE_, "&quot;"));
-1 != str.indexOf("'") && (str = str.replace(goog.string.SINGLE_QUOTE_RE_, "&#39;"));
+ -1 != str.indexOf("\x00") && (str = str.replace(goog.string.NULL_RE_, "&#0;"));
goog.string.DETECT_DOUBLE_ESCAPING && -1 != str.indexOf("e") && (str = str.replace(goog.string.E_RE_, "&#101;"));
}
return str;
@@ -535,8 +536,9 @@
goog.string.GT_RE_ = />/g;
goog.string.QUOT_RE_ = /"/g;
goog.string.SINGLE_QUOTE_RE_ = /'/g;
+goog.string.NULL_RE_ = /\x00/g;
goog.string.E_RE_ = /e/g;
-goog.string.ALL_RE_ = goog.string.DETECT_DOUBLE_ESCAPING ? /[&<>"'e]/ : /[&<>"']/;
+goog.string.ALL_RE_ = goog.string.DETECT_DOUBLE_ESCAPING ? /[\x00&<>"'e]/ : /[\x00&<>"']/;
goog.string.unescapeEntities = function $goog$string$unescapeEntities$(str) {
return goog.string.contains(str, "&") ? "document" in goog.global ? goog.string.unescapeEntitiesUsingDom_(str) : goog.string.unescapePureXmlEntities_(str) : str;
};
@@ -4015,7 +4017,7 @@
i18n.input.chrome.inputview.Context.prototype.getQueryText = goog.functions.constant("");
i18n.input.chrome.inputview.Context.EventType = {UPDATE:"u$0", RESET:"r$1", CONTEXT_CHANGE:"cc$2", VISIBILITY_CHANGE:"vc$3"};
i18n.input.chrome.inputview.events = {};
-i18n.input.chrome.inputview.events.EventType = {CONFIG_LOADED:"cl$4", DOUBLE_CLICK:"dc$5", KEY_CLICK:"kc$6", LAYOUT_LOADED:"ll$7", LONG_PRESS:"lp$8", LONG_PRESS_END:"lpe$9", POINTER_DOWN:"pd$10", POINTER_UP:"pu$11", POINTER_OVER:"po$12", POINTER_OUT:"po$13", SWIPE:"s$14"};
+i18n.input.chrome.inputview.events.EventType = {CONFIG_LOADED:"cl$4", DOUBLE_CLICK:"dc$5", KEY_CLICK:"kc$6", LAYOUT_LOADED:"ll$7", LONG_PRESS:"lp$8", LONG_PRESS_END:"lpe$9", POINTER_DOWN:"pd$10", POINTER_UP:"pu$11", POINTER_OVER:"po$12", POINTER_OUT:"po$13", SETTINGS_READY:"sr$14", SWIPE:"s$15"};
i18n.input.chrome.inputview.events.LayoutLoadedEvent = function $i18n$input$chrome$inputview$events$LayoutLoadedEvent$(data) {
goog.events.Event.call(this, i18n.input.chrome.inputview.events.EventType.LAYOUT_LOADED);
this.data = data;
@@ -4048,12 +4050,14 @@
this.isHidden_ = document.webkitHidden;
this.context = {contextID:0, type:""};
this.modifierState_ = {};
- if (chrome.virtualKeyboardPrivate && chrome.virtualKeyboardPrivate.getKeyboardConfig) {
- var self = this;
- chrome.virtualKeyboardPrivate.getKeyboardConfig(function(config) {
- self.isA11yMode = !!config.a11ymode;
- });
- }
+ var self = this;
+ chrome.virtualKeyboardPrivate && chrome.virtualKeyboardPrivate.getKeyboardConfig && chrome.virtualKeyboardPrivate.getKeyboardConfig(function(config) {
+ self.isA11yMode = !!config.a11ymode;
+ self.dispatchEvent(new goog.events.Event(i18n.input.chrome.inputview.events.EventType.SETTINGS_READY));
+ });
+ window.setTimeout(function() {
+ self.dispatchEvent(new goog.events.Event(i18n.input.chrome.inputview.events.EventType.SETTINGS_READY));
+ }, 500);
this.registerEventHandler_(isKeyEventhandled);
chrome.inputMethodPrivate && chrome.inputMethodPrivate.startIme && chrome.inputMethodPrivate.startIme();
};
@@ -4101,6 +4105,7 @@
};
i18n.input.chrome.inputview.ChromeOsContext.prototype.setCompositionText = function $i18n$input$chrome$inputview$ChromeOsContext$$setCompositionText$(compositionText) {
if (0 != this.context.contextID) {
+ this.maybeSendKickOffEvent_();
this.committedText_ = "";
this.compositionText_ = compositionText;
this.settingComposing_ = !0;
@@ -4118,9 +4123,14 @@
i18n.input.chrome.inputview.ChromeOsContext.prototype.getCommittedText = function $i18n$input$chrome$inputview$ChromeOsContext$$getCommittedText$() {
return this.committedText_;
};
+i18n.input.chrome.inputview.ChromeOsContext.prototype.maybeSendKickOffEvent_ = function $i18n$input$chrome$inputview$ChromeOsContext$$maybeSendKickOffEvent_$() {
+ this.isPasswdBox() || this.sendKeyEvent_([this.generateKeyboardEvent_("keydown", "", "KeyA"), this.generateKeyboardEvent_("keyup", "", "KeyA")]);
+};
i18n.input.chrome.inputview.ChromeOsContext.prototype.commitText = function $i18n$input$chrome$inputview$ChromeOsContext$$commitText$(opt_text) {
- if (0 != this.context.contextID) {
- var textToCommit = opt_text || this.compositionText_, contextID = this.context.contextID;
+ var textToCommit = opt_text || this.compositionText_;
+ if (0 != this.context.contextID && textToCommit) {
+ this.maybeSendKickOffEvent_();
+ var contextID = this.context.contextID;
if (this.compositionText_ || this.isPasswdBox()) {
chrome.input.ime.commitText({contextID:contextID, text:textToCommit});
} else {
@@ -4135,20 +4145,21 @@
}
};
i18n.input.chrome.inputview.ChromeOsContext.prototype.sendKeyDownAndUpEvent = function $i18n$input$chrome$inputview$ChromeOsContext$$sendKeyDownAndUpEvent$(key, code) {
+ this.commitText();
this.sendKeyEvent_([this.generateKeyboardEvent_("keydown", key, code), this.generateKeyboardEvent_("keyup", key, code)]);
};
i18n.input.chrome.inputview.ChromeOsContext.prototype.sendKeyDownAndUpMessage = function $i18n$input$chrome$inputview$ChromeOsContext$$sendKeyDownAndUpMessage$(key, code, opt_callback) {
chrome.runtime.sendMessage(goog.object.create(goog.events.EventType.KEYDOWN, this.generateKeyboardEvent_(goog.events.EventType.KEYDOWN, key, code), goog.events.EventType.KEYUP, this.generateKeyboardEvent_(goog.events.EventType.KEYUP, key, code)), opt_callback);
};
i18n.input.chrome.inputview.ChromeOsContext.prototype.sendKeyDownEvent = function $i18n$input$chrome$inputview$ChromeOsContext$$sendKeyDownEvent$(key, code) {
+ this.commitText();
this.sendKeyEvent_([this.generateKeyboardEvent_("keydown", key, code)]);
};
i18n.input.chrome.inputview.ChromeOsContext.prototype.sendKeyUpEvent = function $i18n$input$chrome$inputview$ChromeOsContext$$sendKeyUpEvent$(key, code) {
+ this.commitText();
this.sendKeyEvent_([this.generateKeyboardEvent_("keyup", key, code)]);
};
i18n.input.chrome.inputview.ChromeOsContext.prototype.sendKeyEvent_ = function $i18n$input$chrome$inputview$ChromeOsContext$$sendKeyEvent_$(keyData) {
- var StateType = i18n.input.chrome.inputview.StateType;
- this.compositionText_ && (this.modifierState_[StateType.CTRL] || this.modifierState_[StateType.ALT]) && chrome.input.ime.commitText({contextID:this.context.contextID, text:this.compositionText_});
chrome.input.ime.sendKeyEvents({contextID:0, keyData:keyData});
};
i18n.input.chrome.inputview.ChromeOsContext.prototype.generateKeyboardEvent_ = function $i18n$input$chrome$inputview$ChromeOsContext$$generateKeyboardEvent_$(type, key, code) {
@@ -4177,6 +4188,9 @@
i18n.input.chrome.inputview.ChromeOsContext.prototype.getQueryText = function $i18n$input$chrome$inputview$ChromeOsContext$$getQueryText$() {
return this.textBeforeCursor_ + "," + this.compositionText_;
};
+i18n.input.chrome.inputview.ChromeOsContext.prototype.setContext = function $i18n$input$chrome$inputview$ChromeOsContext$$setContext$(context) {
+ this.context = context;
+};
goog.Timer = function $goog$Timer$(opt_interval, opt_timerObject) {
goog.events.EventTarget.call(this);
this.interval_ = opt_interval || 1;
@@ -4188,7 +4202,7 @@
goog.Timer.MAX_TIMEOUT_ = 2147483647;
goog.Timer.prototype.enabled = !1;
goog.Timer.defaultTimerObject = goog.global;
-goog.Timer.intervalScale = 0.8;
+goog.Timer.intervalScale = .8;
goog.Timer.prototype.timer_ = null;
goog.Timer.prototype.tick_ = function $goog$Timer$$tick_$() {
if (this.enabled) {
@@ -5050,7 +5064,7 @@
};
goog.dom.getPixelRatio = goog.functions.cacheReturnValue(function() {
var win = goog.dom.getWindow(), isFirefoxMobile = goog.userAgent.GECKO && goog.userAgent.MOBILE;
- return goog.isDef(win.devicePixelRatio) && !isFirefoxMobile ? win.devicePixelRatio : win.matchMedia ? goog.dom.matchesPixelRatio_(0.75) || goog.dom.matchesPixelRatio_(1.5) || goog.dom.matchesPixelRatio_(2) || goog.dom.matchesPixelRatio_(3) || 1 : 1;
+ return goog.isDef(win.devicePixelRatio) && !isFirefoxMobile ? win.devicePixelRatio : win.matchMedia ? goog.dom.matchesPixelRatio_(.75) || goog.dom.matchesPixelRatio_(1.5) || goog.dom.matchesPixelRatio_(2) || goog.dom.matchesPixelRatio_(3) || 1 : 1;
});
goog.dom.matchesPixelRatio_ = function $goog$dom$matchesPixelRatio_$(pixelRatio) {
var win = goog.dom.getWindow(), query = "(-webkit-min-device-pixel-ratio: " + pixelRatio + "),(min--moz-device-pixel-ratio: " + pixelRatio + "),(min-resolution: " + pixelRatio + "dppx)";
@@ -6172,10 +6186,10 @@
var matches = transform.match(goog.style.MATRIX_TRANSLATION_REGEX_);
return matches ? new goog.math.Coordinate(parseFloat(matches[1]), parseFloat(matches[2])) : new goog.math.Coordinate(0, 0);
};
-i18n.input.chrome.inputview.Css = {ALTDATA_VIEW:"inputview-altdata-view", ALTDATA_KEY:"inputview-altdata-key", ALTDATA_COVER:"inputview-altdata-cover", ALTGR_CONTENT:"inputview-ac", ARROW_KEY:"inputview-arrow-key", BACKSPACE_ICON:"inputview-backspace-icon", CANDIDATE:"inputview-candidate", CANDIDATE_SEPARATOR:"inputview-candidate-separator", CANDIDATE_VIEW:"inputview-candidate-view", CAPSLOCK_DOT:"inputview-capslock-dot", CAPSLOCK_DOT_HIGHLIGHT:"inputview-capslock-dot-highlight", CHARACTER:"inputview-character",
-CHARACTER_HIGHLIGHT:"inputview-ch", COMPACT_KEY:"inputview-compact-key", COMPACT_SWITCHER:"inputview-compact-switcher", DEFAULT_CONTENT:"inputview-dc", DOWN_KEY:"inputview-down-key", ELEMENT_HIGHLIGHT:"inputview-element-highlight", ENTER_ICON:"inputview-enter-icon", HIDE_KEYBOARD_ICON:"inputview-hide-keyboard-icon", HINT_TEXT:"inputview-hint-text", MODIFIER_ON:"inputview-modifier-on", HOLD:"inputview-hold", KEY_HOLD:"inputview-key-hold", LAYOUT_VIEW:"inputview-layoutview", LEFT_KEY:"inputview-left-key",
-LINEAR_LAYOUT:"inputview-linear", MODIFIER:"inputview-modifier", MODIFIER_STATE_ICON:"inputview-modifier-state-icon", REGULAR_SWITCHER:"inputview-regular-switcher", RIGHT_KEY:"inputview-right-key", SHIFT_ICON:"inputview-shift-icon", SPECIAL_KEY_HIGHLIGHT:"inputview-special-key-highlight", SPECIAL_KEY_BG:"inputview-special-key-bg", SPECIAL_KEY_NAME:"inputview-special-key-name", SOFT_KEY:"inputview-sk", SOFT_KEY_VIEW:"inputview-skv", TABLE_CELL:"inputview-table-cell", TAB_ICON:"inputview-tab-icon",
-TITLE:"inputview-title", TITLE_BAR:"inputview-title-bar", UP_KEY:"inputview-up-key", VERTICAL_LAYOUT:"inputview-vertical", VIEW:"inputview-view"};
+i18n.input.chrome.inputview.Css = {ALTDATA_VIEW:"inputview-altdata-view", ALTDATA_KEY:"inputview-altdata-key", ALTDATA_COVER:"inputview-altdata-cover", ALTGR_CONTENT:"inputview-ac", ARROW_KEY:"inputview-arrow-key", BACKSPACE_ICON:"inputview-backspace-icon", CANDIDATE:"inputview-candidate", CANDIDATE_SEPARATOR:"inputview-candidate-separator", CANDIDATE_VIEW:"inputview-candidate-view", CAPSLOCK_DOT:"inputview-capslock-dot", CAPSLOCK_DOT_HIGHLIGHT:"inputview-capslock-dot-highlight", CANDIDATE_HIGHLIGHT:"inputview-candidate-highlight",
+CHARACTER:"inputview-character", CHARACTER_HIGHLIGHT:"inputview-ch", COMPACT_KEY:"inputview-compact-key", COMPACT_SWITCHER:"inputview-compact-switcher", DEFAULT_CONTENT:"inputview-dc", DOWN_KEY:"inputview-down-key", ELEMENT_HIGHLIGHT:"inputview-element-highlight", ENTER_ICON:"inputview-enter-icon", FONT:"inputview-font", HIDE_KEYBOARD_ICON:"inputview-hide-keyboard-icon", HINT_TEXT:"inputview-hint-text", MODIFIER_ON:"inputview-modifier-on", HOLD:"inputview-hold", KEY_HOLD:"inputview-key-hold", LAYOUT_VIEW:"inputview-layoutview",
+LEFT_KEY:"inputview-left-key", LINEAR_LAYOUT:"inputview-linear", MODIFIER:"inputview-modifier", MODIFIER_STATE_ICON:"inputview-modifier-state-icon", REGULAR_SWITCHER:"inputview-regular-switcher", RIGHT_KEY:"inputview-right-key", SHIFT_ICON:"inputview-shift-icon", SPECIAL_KEY_HIGHLIGHT:"inputview-special-key-highlight", SPECIAL_KEY_BG:"inputview-special-key-bg", SPECIAL_KEY_NAME:"inputview-special-key-name", SOFT_KEY:"inputview-sk", SOFT_KEY_VIEW:"inputview-skv", TABLE_CELL:"inputview-table-cell",
+TAB_ICON:"inputview-tab-icon", TITLE:"inputview-title", TITLE_BAR:"inputview-title-bar", UP_KEY:"inputview-up-key", VERTICAL_LAYOUT:"inputview-vertical", VIEW:"inputview-view"};
goog.ui = {};
goog.ui.IdGenerator = function $goog$ui$IdGenerator$() {
};
@@ -6508,14 +6522,9 @@
this.swipeState_.previousY = touchEvent.pageY;
0 < direction && (goog.Timer.clear(this.longPressTimer_), this.dispatchEvent(new i18n.input.chrome.inputview.events.SwipeEvent(this.view_, direction, touchEvent.target, touchEvent.pageX, touchEvent.pageY)), this.isFlickering_ = !this.isLongPressing_ && !!(this.view_.pointerConfig.flickerDirection & direction));
if (!this.isFlickering_) {
- var actualTarget = document.elementFromPoint(touchEvent.pageX, touchEvent.pageY);
- if (this.currentTarget_ != actualTarget) {
- var currentTargetView = this.getView_(this.currentTarget_);
- currentTargetView && this.dispatchEvent(new i18n.input.chrome.inputview.events.PointerEvent(currentTargetView, i18n.input.chrome.inputview.events.EventType.POINTER_OUT, this.currentTarget_, touchEvent.pageX, touchEvent.pageY));
- var actualTargetView = this.getView_(actualTarget);
- actualTargetView && this.dispatchEvent(new i18n.input.chrome.inputview.events.PointerEvent(actualTargetView, i18n.input.chrome.inputview.events.EventType.POINTER_OVER, actualTarget, touchEvent.pageX, touchEvent.pageY));
- this.currentTarget_ = actualTarget;
- }
+ var actualTarget = document.elementFromPoint(touchEvent.pageX, touchEvent.pageY), currentTargetView = this.getView_(this.currentTarget_), actualTargetView = this.getView_(actualTarget);
+ currentTargetView != actualTargetView && (currentTargetView && this.dispatchEvent(new i18n.input.chrome.inputview.events.PointerEvent(currentTargetView, i18n.input.chrome.inputview.events.EventType.POINTER_OUT, this.currentTarget_, touchEvent.pageX, touchEvent.pageY)), actualTargetView && this.dispatchEvent(new i18n.input.chrome.inputview.events.PointerEvent(actualTargetView, i18n.input.chrome.inputview.events.EventType.POINTER_OVER, actualTarget, touchEvent.pageX, touchEvent.pageY)), this.currentTarget_ =
+ actualTarget);
}
};
i18n.input.chrome.inputview.PointerHandler.prototype.handlePointerUp = function $i18n$input$chrome$inputview$PointerHandler$$handlePointerUp$(e) {
@@ -6555,7 +6564,6 @@
};
i18n.input.chrome.inputview.PointerHandler.prototype.triggerLongPress_ = function $i18n$input$chrome$inputview$PointerHandler$$triggerLongPress_$(e) {
var nativeEvt = e.getBrowserEvent();
- this.dispatchEvent(new i18n.input.chrome.inputview.events.PointerEvent(this.view_, i18n.input.chrome.inputview.events.EventType.POINTER_OUT, e.target, nativeEvt.pageX, nativeEvt.pageY));
this.dispatchEvent(new i18n.input.chrome.inputview.events.PointerEvent(this.view_, i18n.input.chrome.inputview.events.EventType.LONG_PRESS, e.target, nativeEvt.pageX, nativeEvt.pageY));
this.isLongPressing_ = !0;
};
@@ -6573,8 +6581,9 @@
i18n.input.chrome.inputview.AltDataView.prototype.highlightIndex_ = 0;
i18n.input.chrome.inputview.AltDataView.prototype.createDom = function $i18n$input$chrome$inputview$AltDataView$$createDom$() {
i18n.input.chrome.inputview.AltDataView.superClass_.createDom.call(this);
- var dom = this.getDomHelper();
- goog.dom.classes.add(this.getElement(), i18n.input.chrome.inputview.Css.ALTDATA_VIEW);
+ var dom = this.getDomHelper(), elem = this.getElement();
+ goog.dom.classes.add(elem, i18n.input.chrome.inputview.Css.ALTDATA_VIEW);
+ goog.dom.classes.add(elem, i18n.input.chrome.inputview.Css.FONT);
this.coverElement_ = dom.createDom(goog.dom.TagName.DIV, i18n.input.chrome.inputview.Css.ALTDATA_COVER);
dom.appendChild(document.body, this.coverElement_);
goog.style.setElementShown(this.coverElement_, !1);
@@ -6595,7 +6604,6 @@
characters = [];
accents && (characters = goog.array.clone(accents));
key.hintText && goog.array.insertAt(characters, key.hintText, 0);
- 0 < characters.length && goog.array.insertAt(characters, key.text, 0);
}
}
if (characters && 0 != characters.length) {
@@ -6661,15 +6669,17 @@
i18n.input.chrome.inputview.AltDataView.superClass_.disposeInternal.call(this);
};
i18n.input.chrome.inputview.ElementType = {CHARACTER:0, FUNCTIONAL_KEY:1, KEYBOARD:2, LAYOUT_VIEW:3, LINEAR_LAYOUT:4, MODIFIER_KEY:5, CHARACTER_KEY:6, SOFT_KEY:7, SOFT_KEY_VIEW:8, VERTICAL_LAYOUT:9, CANDIDATE_VIEW:10, SPACE_KEY:11, ENTER_KEY:12, BACKSPACE_KEY:13, TAB_KEY:14, ARROW_UP:15, ARROW_DOWN:16, ARROW_LEFT:17, ARROW_RIGHT:18, HIDE_KEYBOARD_KEY:19, ALTDATA_VIEW:20, SWITCHER_KEY:21, COMPACT_KEY:22};
-i18n.input.chrome.inputview.CandidateView = function $i18n$input$chrome$inputview$CandidateView$(id, widthInWeight, heightInWeight, opt_eventTarget) {
+i18n.input.chrome.inputview.CandidateView = function $i18n$input$chrome$inputview$CandidateView$(id, widthInWeight, heightInWeight, numberRowWeight, opt_eventTarget) {
i18n.input.chrome.inputview.Element.call(this, id, i18n.input.chrome.inputview.ElementType.CANDIDATE_VIEW, opt_eventTarget);
- this.handler_ = new goog.events.EventHandler(this);
this.widthInWeight_ = widthInWeight;
this.heightInWeight_ = heightInWeight;
+ this.numberRowWeight_ = numberRowWeight;
};
goog.inherits(i18n.input.chrome.inputview.CandidateView, i18n.input.chrome.inputview.Element);
i18n.input.chrome.inputview.CandidateView.PADDING_ = 50;
i18n.input.chrome.inputview.CandidateView.prototype.showingCandidates = !1;
+i18n.input.chrome.inputview.CandidateView.prototype.showingNumberRow = !1;
+i18n.input.chrome.inputview.CandidateView.WIDTH_FOR_THREE_CANDIDATES_ = 235;
i18n.input.chrome.inputview.CandidateView.prototype.createDom = function $i18n$input$chrome$inputview$CandidateView$$createDom$() {
i18n.input.chrome.inputview.CandidateView.superClass_.createDom.call(this);
goog.dom.classes.add(this.getElement(), i18n.input.chrome.inputview.Css.CANDIDATE_VIEW);
@@ -6680,18 +6690,46 @@
i18n.input.chrome.inputview.CandidateView.prototype.getHeightInWeight = function $i18n$input$chrome$inputview$CandidateView$$getHeightInWeight$() {
return this.heightInWeight_;
};
-i18n.input.chrome.inputview.CandidateView.prototype.showCandidates = function $i18n$input$chrome$inputview$CandidateView$$showCandidates$(candidates) {
- this.getDomHelper().removeChildren(this.getElement());
- this.handler_.removeAll();
- this.addCandidates_(candidates);
- this.showingCandidates = 0 < candidates.length;
+i18n.input.chrome.inputview.CandidateView.prototype.hideNumberRow = function $i18n$input$chrome$inputview$CandidateView$$hideNumberRow$() {
+ this.showingNumberRow && (this.getDomHelper().removeChildren(this.getElement()), this.showingNumberRow = !1);
+};
+i18n.input.chrome.inputview.CandidateView.prototype.showNumberRow = function $i18n$input$chrome$inputview$CandidateView$$showNumberRow$() {
+ if (this.numberRowWeight_) {
+ var dom = this.getDomHelper(), numberWidth = this.numberRowWeight_ / this.widthInWeight_ / 10 * this.width - 1;
+ dom.removeChildren(this.getElement());
+ for (var i = 0;10 > i;i++) {
+ this.createSeparator_();
+ var numberElem = dom.createDom(goog.dom.TagName.DIV, i18n.input.chrome.inputview.Css.CANDIDATE, String((i + 1) % 10));
+ dom.appendChild(this.getElement(), numberElem);
+ numberElem.style.height = this.height + "px";
+ numberElem.style.width = numberWidth + "px";
+ }
+ this.createSeparator_();
+ this.getElement().style.paddingLeft = "0";
+ this.showingNumberRow = !0;
+ }
+};
+i18n.input.chrome.inputview.CandidateView.prototype.showCandidates = function $i18n$input$chrome$inputview$CandidateView$$showCandidates$(candidates, showThreeCandidates) {
+ this.clearCandidates();
+ 0 < candidates.length && (showThreeCandidates ? this.addThreeCandidates_(candidates) : this.addFullCandidates_(candidates), this.showingCandidates = !0);
+};
+i18n.input.chrome.inputview.CandidateView.prototype.addThreeCandidates_ = function $i18n$input$chrome$inputview$CandidateView$$addThreeCandidates_$(candidates) {
+ for (var width = i18n.input.chrome.inputview.CandidateView.WIDTH_FOR_THREE_CANDIDATES_, num = Math.min(3, candidates.length), dom = this.getDomHelper(), i = 0;i < num;i++) {
+ this.createSeparator_();
+ var candidateElem = dom.createDom(goog.dom.TagName.DIV, i18n.input.chrome.inputview.Css.CANDIDATE, candidates[i]);
+ candidateElem.style.height = this.height + "px";
+ candidateElem.style.width = width + "px";
+ 0 == i && goog.dom.classes.add(candidateElem, i18n.input.chrome.inputview.Css.CANDIDATE_HIGHLIGHT);
+ 1 == i ? dom.insertChildAt(this.getElement(), candidateElem, 0) : dom.appendChild(this.getElement(), candidateElem);
+ }
+ this.createSeparator_();
+ var padding = (this.width - width * i - i - 1) / 2;
+ this.getElement().style.paddingLeft = padding + "px";
};
i18n.input.chrome.inputview.CandidateView.prototype.clearCandidates = function $i18n$input$chrome$inputview$CandidateView$$clearCandidates$() {
- this.getDomHelper().removeChildren(this.getElement());
- this.handler_.removeAll();
- this.showingCandidates = !1;
+ this.showingCandidates && (this.getDomHelper().removeChildren(this.getElement()), this.showingCandidates = !1);
};
-i18n.input.chrome.inputview.CandidateView.prototype.addCandidates_ = function $i18n$input$chrome$inputview$CandidateView$$addCandidates_$(candidates) {
+i18n.input.chrome.inputview.CandidateView.prototype.addFullCandidates_ = function $i18n$input$chrome$inputview$CandidateView$$addFullCandidates_$(candidates) {
for (var w = 0, dom = this.getDomHelper(), i = 0;i < candidates.length;i++) {
this.createSeparator_();
var candidateElem = dom.createDom(goog.dom.TagName.DIV, i18n.input.chrome.inputview.Css.CANDIDATE, candidates[i]);
@@ -6699,16 +6737,17 @@
var size = goog.style.getSize(candidateElem), w = w + (size.width + 2 * i18n.input.chrome.inputview.CandidateView.PADDING_);
if (w >= this.width) {
this.getElement().removeChild(candidateElem);
- break;
+ return;
}
candidateElem.style.height = this.height + "px";
candidateElem.style.paddingLeft = i18n.input.chrome.inputview.CandidateView.PADDING_ + "px";
candidateElem.style.paddingRight = i18n.input.chrome.inputview.CandidateView.PADDING_ + "px";
}
+ this.getElement().style.paddingLeft = "0";
};
i18n.input.chrome.inputview.CandidateView.prototype.createSeparator_ = function $i18n$input$chrome$inputview$CandidateView$$createSeparator_$() {
var dom = this.getDomHelper(), tableCell = dom.createDom(goog.dom.TagName.DIV, i18n.input.chrome.inputview.Css.TABLE_CELL), separator = dom.createDom(goog.dom.TagName.DIV, i18n.input.chrome.inputview.Css.CANDIDATE_SEPARATOR);
- separator.style.height = Math.floor(0.5 * this.height) + "px";
+ separator.style.height = Math.floor(.5 * this.height) + "px";
dom.appendChild(tableCell, separator);
dom.appendChild(this.getElement(), tableCell);
};
@@ -6718,16 +6757,12 @@
elem.style.width = width + "px";
elem.style.height = height + "px";
};
-i18n.input.chrome.inputview.CandidateView.prototype.disposeInternal = function $i18n$input$chrome$inputview$CandidateView$$disposeInternal$() {
- goog.dispose(this.handler_);
- i18n.input.chrome.inputview.CandidateView.superClass_.disposeInternal.call(this);
-};
i18n.input.chrome.inputview.Character = function $i18n$input$chrome$inputview$Character$(id, model) {
i18n.input.chrome.inputview.Element.call(this, id, i18n.input.chrome.inputview.ElementType.CHARACTER);
this.characterModel_ = model;
};
goog.inherits(i18n.input.chrome.inputview.Character, i18n.input.chrome.inputview.Element);
-i18n.input.chrome.inputview.Character.PADDING_ = 5.5;
+i18n.input.chrome.inputview.Character.PADDING_ = 3;
i18n.input.chrome.inputview.Character.prototype.createDom = function $i18n$input$chrome$inputview$Character$$createDom$() {
i18n.input.chrome.inputview.Character.superClass_.createDom.call(this);
var elem = this.getElement(), dom = this.getDomHelper();
@@ -6818,8 +6853,8 @@
};
i18n.input.chrome.inputview.util = {};
i18n.input.chrome.inputview.util.DISPLAY_MAPPING = {"\u0300":"`", "\u0301":"\u00b4", "\u0302":"\u02c6", "\u0303":"\u02dc", "\u0304":"\u02c9", "\u0305":"\u00af", "\u0306":"\u02d8", "\u0307":"\u02d9", "\u0308":"\u00a8", "\u0309":"\u02c0", "\u030a":"\u02da", "\u030b":"\u02dd", "\u030c":"\u02c7", "\u030d":"\u02c8", "\u030e":'"', "\u0327":"\u00b8", "\u0328":"\u02db", "\u0345":"\u037a", "\u030f":"\u030f ", "\u031b":"\u031b ", "\u0323":"\u0323 "};
-i18n.input.chrome.inputview.util.ACCENT_MAP = {A:"A\u00c0\u00c1\u00c2\u00c3\u00c4\u00c5\u00c6\u0100".split(""), C:["C", "\u00c7"], E:"E\u00c8\u00c9\u00ca\u00cb\u0112".split(""), I:"I\u00cc\u00cd\u00ce\u00cf\u012a".split(""), N:["N", "\u00d1"], O:"\u00d2\u00d3\u00d4\u00d5\u00d6\u014c\u0152O".split(""), S:["S", "\u1e9e"], U:"U\u00d9\u00da\u00db\u00dc\u016a".split(""), a:"a\u00e0\u00e1\u00e2\u00e3\u00e4\u00e5\u00e6\u0101".split(""), c:["c", "\u00e7"], e:"e\u00e8\u00e9\u00ea\u00eb\u0113".split(""), i:"i\u00ec\u00ed\u00ee\u00ef\u012b".split(""),
-n:["n", "\u00f1"], o:"\u00f2\u00f3\u00f4\u00f5\u00f6\u00f8\u0153o".split(""), s:["s", "\u00df"], u:"u\u00f9\u00fa\u00fb\u00fc\u016b".split("")};
+i18n.input.chrome.inputview.util.ACCENT_MAP = {A:"\u00c0\u00c1\u00c2\u00c3\u00c4\u00c5\u00c6\u0100".split(""), C:["\u00c7"], E:["\u00c8", "\u00c9", "\u00ca", "\u00cb", "\u0112"], I:["\u00cc", "\u00cd", "\u00ce", "\u00cf", "\u012a"], N:["\u00d1"], O:"\u00d2\u00d3\u00d4\u00d5\u00d6\u014c\u0152".split(""), S:["\u1e9e"], U:["\u00d9", "\u00da", "\u00db", "\u00dc", "\u016a"], a:"\u00e0\u00e1\u00e2\u00e3\u00e4\u00e5\u00e6\u0101".split(""), c:["\u00e7"], e:["\u00e8", "\u00e9", "\u00ea", "\u00eb", "\u0113"],
+i:["\u00ec", "\u00ed", "\u00ee", "\u00ef", "\u012b"], n:["\u00f1"], o:"\u00f2\u00f3\u00f4\u00f5\u00f6\u00f8\u0153".split(""), s:["\u00df"], u:["\u00f9", "\u00fa", "\u00fb", "\u00fc", "\u016b"]};
i18n.input.chrome.inputview.util.REGEX_CHARACTER_SUPPORT_DEADKEY_ = /^[a-zA-Z\u00e6\u00c6\u0153\u0152]+$/;
i18n.input.chrome.inputview.util.REGEX_LANGUAGE_MODEL_CHARACTERS = /^[a-zA-Z\u00e6\u00c6\u0153\u0152\'-]$/;
i18n.input.chrome.inputview.util.splitValue = function $i18n$input$chrome$inputview$util$splitValue$(weightArray, totalValue) {
@@ -8880,9 +8915,10 @@
};
i18n.input.chrome.inputview.DataSource.prototype.sendAutoComplete = goog.functions.NULL;
i18n.input.chrome.inputview.DataSource.prototype.sendAutoPrediction = goog.functions.NULL;
-i18n.input.chrome.inputview.DataSource.EventType = {AUTO_COMPLETE:"ac$15", AUTO_PREDICTION:"ap$16"};
-i18n.input.chrome.inputview.DataSource.AutoCompleteEvent = function $i18n$input$chrome$inputview$DataSource$AutoCompleteEvent$(candidates, matchedLengths) {
+i18n.input.chrome.inputview.DataSource.EventType = {AUTO_COMPLETE:"ac$16", AUTO_PREDICTION:"ap$17"};
+i18n.input.chrome.inputview.DataSource.AutoCompleteEvent = function $i18n$input$chrome$inputview$DataSource$AutoCompleteEvent$(source, candidates, matchedLengths) {
goog.events.Event.call(this, i18n.input.chrome.inputview.DataSource.EventType.AUTO_COMPLETE);
+ this.source = source;
this.candidates = candidates;
this.matchedLengths = matchedLengths;
};
@@ -9052,7 +9088,7 @@
this.toState = toState;
this.stateManager_ = stateManager;
if (this.supportSticky = supportSticky) {
- this.pointerConfig.dblClick = !0;
+ this.pointerConfig.dblClick = !0, this.pointerConfig.longPressWithoutPointerUp = !0;
}
};
goog.inherits(i18n.input.chrome.inputview.ModifierKey, i18n.input.chrome.inputview.FunctionalKey);
@@ -9122,8 +9158,8 @@
i18n.input.chrome.inputview.SpaceKey.prototype.setTitleVisible = function $i18n$input$chrome$inputview$SpaceKey$$setTitleVisible$(visible) {
goog.dom.setTextContent(this.textElem, visible ? this.text : "");
};
-i18n.input.chrome.inputview.SpecNodeName = {ALIGN:"align", CHARACTERS:"characters", CHILDREN:"children", CONDITION:"condition", DIRECTION:"direction", FULL_HEIGHT_IN_WEIGHT:"fullHeightInWeight", GIVE_WEIGHT_TO:"giveWeightTo", HAS_ALTGR_KEY:"hasAltGrKey", HEIGHT:"height", HEIGHT_IN_WEIGHT:"heightInWeight", HEIGHT_PERCENT:"heightPercent", HINT_TEXT:"hintText", ICON_CSS_CLASS:"iconCssClass", ID:"id", LAYOUT:"layout", LAYOUT_ID:"layoutID", HEIGHT_PERCENT_OF_WIDTH:"heightPercentOfWidth", MARGIN_LEFT_PERCENT:"marginLeftPercent",
-MINIMUM_HEIGHT:"minimumHeight", KEY_LIST:"keyList", MAPPING:"mapping", NAME:"name", PADDING:"padding", RECORD:"record", SUPPORT_STICKY:"supportSticky", SPEC:"spec", TEXT:"text", TITLE:"title", TYPE:"type", TO_STATE:"toState", TO_KEYSET:"toKeyset", WIDTH:"width", WIDTH_IN_WEIGHT:"widthInWeight", WIDTH_PERCENT:"widthPercent"};
+i18n.input.chrome.inputview.SpecNodeName = {ALIGN:"align", CHARACTERS:"characters", CHILDREN:"children", CONDITION:"condition", DIRECTION:"direction", FULL_HEIGHT_IN_WEIGHT:"fullHeightInWeight", GIVE_WEIGHT_TO:"giveWeightTo", HAS_ALTGR_KEY:"hasAltGrKey", HEIGHT:"height", HEIGHT_IN_WEIGHT:"heightInWeight", HEIGHT_PERCENT:"heightPercent", HINT_TEXT:"hintText", ICON_CSS_CLASS:"iconCssClass", ID:"id", IS_GREY:"isGrey", LAYOUT:"layout", LAYOUT_ID:"layoutID", HEIGHT_PERCENT_OF_WIDTH:"heightPercentOfWidth",
+MARGIN_LEFT_PERCENT:"marginLeftPercent", MINIMUM_HEIGHT:"minimumHeight", NUMBER_ROW_WEIGHT:"numberRowWeight", KEY_LIST:"keyList", MAPPING:"mapping", NAME:"name", PADDING:"padding", RECORD:"record", SUPPORT_STICKY:"supportSticky", SPEC:"spec", TEXT:"text", TITLE:"title", TYPE:"type", TO_STATE:"toState", TO_KEYSET:"toKeyset", WIDTH:"width", WIDTH_IN_WEIGHT:"widthInWeight", WIDTH_PERCENT:"widthPercent"};
i18n.input.chrome.inputview.StateManager = function $i18n$input$chrome$inputview$StateManager$() {
this.chording_ = this.stateKeyDown_ = this.sticky_ = this.state_ = 0;
};
@@ -9273,7 +9309,7 @@
spec.toState = i18n.input.chrome.inputview.StateType.CTRL;
spec.name = "ctrl";
spec.type = i18n.input.chrome.inputview.ElementType.MODIFIER_KEY;
- spec.id = "Ctrl";
+ spec.id = "ControlLeft";
return i18n.input.chrome.inputview.content.util.createKey(spec);
};
i18n.input.chrome.inputview.content.util.createAltKey = function $i18n$input$chrome$inputview$content$util$createAltKey$() {
@@ -9281,13 +9317,13 @@
spec.toState = i18n.input.chrome.inputview.StateType.ALT;
spec.name = "alt";
spec.type = i18n.input.chrome.inputview.ElementType.MODIFIER_KEY;
- spec.id = "Alt";
+ spec.id = "AltLeft";
return i18n.input.chrome.inputview.content.util.createKey(spec);
};
i18n.input.chrome.inputview.content.util.createAltgrKey = function $i18n$input$chrome$inputview$content$util$createAltgrKey$() {
var spec = {};
spec.toState = i18n.input.chrome.inputview.StateType.ALTGR;
- spec.name = "alt gr";
+ spec.name = "altgr";
spec.type = i18n.input.chrome.inputview.ElementType.MODIFIER_KEY;
spec.id = "AltRight";
return i18n.input.chrome.inputview.content.util.createKey(spec);
@@ -9362,7 +9398,7 @@
};
i18n.input.chrome.inputview.content.util.createCompactData = function $i18n$input$chrome$inputview$content$util$createCompactData$(keyCharacters, viewIdPrefix, keyIdPrefix, compactKeysetType) {
for (var keyList = [], mapping = {}, i = 0;i < keyCharacters.length - 1;i++) {
- var hintText = 2 == keyCharacters[i].length ? keyCharacters[i][1] : void 0, marginLeftPercent = 10 == i ? 0.43 : 0, key = i18n.input.chrome.inputview.content.util.createCompactKey(keyIdPrefix + i, keyCharacters[i][0], hintText, marginLeftPercent);
+ var hintText = 2 == keyCharacters[i].length ? keyCharacters[i][1] : void 0, marginLeftPercent = 10 == i ? .33 : 0, isGrey = 3 == keyCharacters[i].length ? !!keyCharacters[i][2] : !1, key = i18n.input.chrome.inputview.content.util.createCompactKey(keyIdPrefix + i, keyCharacters[i][0], hintText, marginLeftPercent, isGrey);
keyList.push(key);
}
var spaceKey = i18n.input.chrome.inputview.content.util.createSpaceKey();
@@ -9372,13 +9408,14 @@
}
return{keyList:keyList, mapping:mapping, layout:"compactkbd"};
};
-i18n.input.chrome.inputview.content.util.createCompactKey = function $i18n$input$chrome$inputview$content$util$createCompactKey$(id, text, opt_hintText, opt_marginLeftPercent) {
+i18n.input.chrome.inputview.content.util.createCompactKey = function $i18n$input$chrome$inputview$content$util$createCompactKey$(id, text, opt_hintText, opt_marginLeftPercent, opt_isGrey) {
var spec = {};
spec.id = id;
spec.type = i18n.input.chrome.inputview.ElementType.COMPACT_KEY;
spec.text = text;
opt_hintText && (spec.hintText = opt_hintText);
opt_marginLeftPercent && (spec.marginLeftPercent = opt_marginLeftPercent);
+ spec.isGrey = !!opt_isGrey;
return i18n.input.chrome.inputview.content.util.createKey(spec);
};
i18n.input.chrome.inputview.content.util.createSwitcherKey = function $i18n$input$chrome$inputview$content$util$createSwitcherKey$(id, name, toKeyset, opt_iconCssClass, opt_record) {
@@ -9416,7 +9453,6 @@
goog.array.insertAt(keyList, i18n.input.chrome.inputview.content.util.createShiftKey(!0, !0), 21);
goog.array.insertAt(keyList, i18n.input.chrome.inputview.content.util.createShiftKey(!1, !0), 31);
goog.array.insertAt(keyList, i18n.input.chrome.inputview.content.util.createSwitcherKey(keyIdPrefix + id++, "?123", "us.compact.123"), 32);
- goog.array.insertAt(keyList, i18n.input.chrome.inputview.content.util.createSwitcherKey(keyIdPrefix + id++, "", "us", i18n.input.chrome.inputview.Css.REGULAR_SWITCHER, !0), 34);
break;
case i18n.input.chrome.inputview.content.util.CompactKeysetType.NUMBER:
goog.array.insertAt(keyList, i18n.input.chrome.inputview.content.util.createSwitcherKey(keyIdPrefix + id++, "~[<", "us.compact.more"), 21);
@@ -9712,8 +9748,10 @@
};
i18n.input.chrome.inputview.OfflineDataSource = function $i18n$input$chrome$inputview$OfflineDataSource$(numOfCandidate) {
i18n.input.chrome.inputview.DataSource.call(this, numOfCandidate);
+ this.naclModule = null;
};
goog.inherits(i18n.input.chrome.inputview.OfflineDataSource, i18n.input.chrome.inputview.DataSource);
+i18n.input.chrome.inputview.OfflineDataSource.prototype.spatialCache_ = {};
i18n.input.chrome.inputview.OfflineDataSource.prototype.isReady_ = !1;
i18n.input.chrome.inputview.OfflineDataSource.prototype.setLanguage = function $i18n$input$chrome$inputview$OfflineDataSource$$setLanguage$(language) {
i18n.input.chrome.inputview.OfflineDataSource.superClass_.setLanguage.call(this, language);
@@ -9729,6 +9767,11 @@
document.body.appendChild(this.naclModule);
this.naclModule.addEventListener("message", goog.bind(this.onResponse_, this), !0);
this.naclModule.addEventListener("load", goog.bind(this.onNaclLoaded_, this), !0);
+ this.naclModule.addEventListener("crash", goog.bind(this.onNaclCrash_, this), !0);
+};
+i18n.input.chrome.inputview.OfflineDataSource.prototype.onNaclCrash_ = function $i18n$input$chrome$inputview$OfflineDataSource$$onNaclCrash_$() {
+ this.naclModule && this.naclModule.parentNode && (this.naclModule.parentNode.removeChild(this.naclModule), this.naclModule = null, this.isReady_ = !1);
+ goog.Timer.callOnce(this.installNacl, 1E3, this);
};
i18n.input.chrome.inputview.OfflineDataSource.prototype.isReady = function $i18n$input$chrome$inputview$OfflineDataSource$$isReady$() {
return this.isReady_;
@@ -9737,15 +9780,22 @@
this.isReady_ = !0;
};
i18n.input.chrome.inputview.OfflineDataSource.prototype.sendAutoComplete = function $i18n$input$chrome$inputview$OfflineDataSource$$sendAutoComplete$(query, opt_charactersForSpatial) {
- var payload = this.createCommonPayload();
- payload.text = query;
+ var payload = this.createCommonPayload(), source = query.replace(/^.+,/, "");
+ payload.text = query.slice(0, query.length - source.length);
+ payload.source = source;
+ payload.multi_text = [];
if (opt_charactersForSpatial) {
var segment = {};
- segment.source = opt_charactersForSpatial;
+ segment.source = opt_charactersForSpatial.map(function(value) {
+ return value.toLowerCase();
+ });
segment.score = opt_charactersForSpatial.map(function(value, i) {
- return 0 == i ? 0.9 : 0.1;
+ return 0 == i ? 9 : 1;
});
- payload.multi_text = [segment];
+ this.spatialCache_[source[source.length - 1]] = segment;
+ }
+ for (var i$$0 = 0;i$$0 < source.length;i$$0++) {
+ payload.multi_text.push(this.spatialCache_[source[i$$0]]);
}
this.isReady() && this.naclModule.postMessage(JSON.stringify(payload));
};
@@ -9762,7 +9812,7 @@
return candidate.replace(/ $/, "");
});
candidates = goog.array.splice(candidates, 0, this.numOfCandidate);
- source ? this.dispatchEvent(new i18n.input.chrome.inputview.DataSource.AutoCompleteEvent(candidates, matchedLengths)) : this.dispatchEvent(new i18n.input.chrome.inputview.DataSource.AutoPredictionEvent(candidates));
+ source ? this.dispatchEvent(new i18n.input.chrome.inputview.DataSource.AutoCompleteEvent(source, candidates, matchedLengths)) : this.dispatchEvent(new i18n.input.chrome.inputview.DataSource.AutoPredictionEvent(candidates));
}
};
i18n.input.chrome.inputview.PointerController = function $i18n$input$chrome$inputview$PointerController$() {
@@ -9908,7 +9958,7 @@
};
goog.i18n.bidi.wordSeparatorRe_ = /\s+/;
goog.i18n.bidi.hasNumeralsRe_ = /\d/;
-goog.i18n.bidi.rtlDetectionThreshold_ = 0.4;
+goog.i18n.bidi.rtlDetectionThreshold_ = .4;
goog.i18n.bidi.estimateDirection = function $goog$i18n$bidi$estimateDirection$(str, opt_isHtml) {
for (var rtlCount = 0, totalCount = 0, hasWeaklyLtr = !1, tokens = goog.i18n.bidi.stripHtmlIfNeeded_(str, opt_isHtml).split(goog.i18n.bidi.wordSeparatorRe_), i = 0;i < tokens.length;i++) {
var token = tokens[i];
@@ -9920,7 +9970,7 @@
return goog.i18n.bidi.estimateDirection(str, opt_isHtml) == goog.i18n.bidi.Dir.RTL;
};
goog.i18n.bidi.setElementDirAndAlign = function $goog$i18n$bidi$setElementDirAndAlign$(element, dir) {
- element && (dir = goog.i18n.bidi.toDir(dir)) && (element.style.textAlign = dir == goog.i18n.bidi.Dir.RTL ? "right" : "left", element.dir = dir == goog.i18n.bidi.Dir.RTL ? "rtl" : "ltr");
+ element && (dir = goog.i18n.bidi.toDir(dir)) && (element.style.textAlign = dir == goog.i18n.bidi.Dir.RTL ? goog.i18n.bidi.RIGHT : goog.i18n.bidi.LEFT, element.dir = dir == goog.i18n.bidi.Dir.RTL ? "rtl" : "ltr");
};
goog.i18n.bidi.DirectionalString = function $goog$i18n$bidi$DirectionalString$() {
};
@@ -11156,11 +11206,12 @@
goog.ui.Container.prototype.setMouseButtonPressed = function $goog$ui$Container$$setMouseButtonPressed$(pressed) {
this.mouseButtonPressed_ = pressed;
};
-i18n.input.chrome.inputview.CompactKey = function $i18n$input$chrome$inputview$CompactKey$(id, text, hintText, stateManager, opt_marginLeftPercent, opt_eventTarget) {
+i18n.input.chrome.inputview.CompactKey = function $i18n$input$chrome$inputview$CompactKey$(id, text, hintText, stateManager, opt_marginLeftPercent, opt_isGrey, opt_eventTarget) {
i18n.input.chrome.inputview.FunctionalKey.call(this, id, i18n.input.chrome.inputview.ElementType.COMPACT_KEY, text, "", opt_eventTarget);
this.hintText = hintText;
this.marginLeftPercent_ = opt_marginLeftPercent || 0;
this.stateManager_ = stateManager;
+ this.isGrey_ = !!opt_isGrey;
this.pointerConfig.longPressWithPointerUp = !0;
this.pointerConfig.flickerDirection = i18n.input.chrome.inputview.SwipeDirection.UP;
};
@@ -11169,7 +11220,7 @@
i18n.input.chrome.inputview.CompactKey.prototype.createDom = function $i18n$input$chrome$inputview$CompactKey$$createDom$() {
i18n.input.chrome.inputview.CompactKey.superClass_.createDom.call(this);
goog.dom.classes.add(this.tableCell, i18n.input.chrome.inputview.Css.COMPACT_KEY);
- goog.dom.classes.remove(this.bgElem, i18n.input.chrome.inputview.Css.SPECIAL_KEY_BG);
+ this.isGrey_ || goog.dom.classes.remove(this.bgElem, i18n.input.chrome.inputview.Css.SPECIAL_KEY_BG);
if (this.hintText) {
var dom = this.getDomHelper(), hintTextElem = dom.createDom(goog.dom.TagName.DIV, i18n.input.chrome.inputview.Css.HINT_TEXT, this.hintText);
dom.appendChild(this.tableCell, hintTextElem);
@@ -11195,10 +11246,11 @@
goog.ui.Container.call(this);
this.keyData_ = keyData;
this.layoutData_ = layoutData;
+ this.keyboardCode_ = keyboardCode;
this.languageCode_ = languageCode;
this.dataModel_ = model;
this.altDataView_ = new i18n.input.chrome.inputview.AltDataView(this);
- this.horizontalPaddingPercent_ = 0.06;
+ this.horizontalPaddingPercent_ = .06;
this.rows_ = [];
this.softKeyViewMap_ = {};
this.softKeyConditionMap_ = {};
@@ -11214,7 +11266,9 @@
i18n.input.chrome.inputview.View.prototype.createDom = function $i18n$input$chrome$inputview$View$$createDom$() {
i18n.input.chrome.inputview.View.superClass_.createDom.call(this);
var elem = this.getElement();
+ elem.id = this.keyboardCode_.replace(".", "-");
goog.dom.classes.add(elem, i18n.input.chrome.inputview.Css.VIEW);
+ goog.dom.classes.add(elem, i18n.input.chrome.inputview.Css.FONT);
elem.setAttribute("lang", this.languageCode_);
for (var children = this.layoutData_.children, i = 0;i < children.length;i++) {
var child = children[i], layoutElem = this.createLayoutElement_(child[i18n.input.chrome.inputview.SpecNodeName.SPEC], this);
@@ -11268,8 +11322,14 @@
i18n.input.chrome.inputview.View.prototype.getAltDataView = function $i18n$input$chrome$inputview$View$$getAltDataView$() {
return this.altDataView_;
};
-i18n.input.chrome.inputview.View.prototype.showCandidates = function $i18n$input$chrome$inputview$View$$showCandidates$(candidates) {
- this.candidateView_ && this.candidateView_.showCandidates(candidates);
+i18n.input.chrome.inputview.View.prototype.showCandidates = function $i18n$input$chrome$inputview$View$$showCandidates$(candidates, showThreeCandidates) {
+ this.candidateView_ && this.candidateView_.showCandidates(candidates, showThreeCandidates);
+};
+i18n.input.chrome.inputview.View.prototype.showNumberRow = function $i18n$input$chrome$inputview$View$$showNumberRow$() {
+ this.candidateView_ && this.candidateView_.showNumberRow();
+};
+i18n.input.chrome.inputview.View.prototype.hideNumberRow = function $i18n$input$chrome$inputview$View$$hideNumberRow$() {
+ this.candidateView_ && this.candidateView_.hideNumberRow();
};
i18n.input.chrome.inputview.View.prototype.clearCandidates = function $i18n$input$chrome$inputview$View$$clearCandidates$() {
this.candidateView_ && this.candidateView_.clearCandidates();
@@ -11297,7 +11357,8 @@
case i18n.input.chrome.inputview.ElementType.LAYOUT_VIEW:
return this.keyboardView_ = new i18n.input.chrome.inputview.KeyboardView(id, opt_eventTarget);
case i18n.input.chrome.inputview.ElementType.CANDIDATE_VIEW:
- return this.candidateView_ = new i18n.input.chrome.inputview.CandidateView(id, widthInWeight, heightInWeight, opt_eventTarget);
+ var numberRowWeight = spec[i18n.input.chrome.inputview.SpecNodeName.NUMBER_ROW_WEIGHT];
+ return this.candidateView_ = new i18n.input.chrome.inputview.CandidateView(id, widthInWeight, heightInWeight, numberRowWeight, opt_eventTarget);
}
return null;
};
@@ -11354,8 +11415,8 @@
var record = spec[i18n.input.chrome.inputview.SpecNodeName.RECORD];
return new i18n.input.chrome.inputview.SwitcherKey(id, type, name, iconCssClass, toKeyset, record);
case i18n.input.chrome.inputview.ElementType.COMPACT_KEY:
- var marginLeftPercent = spec[i18n.input.chrome.inputview.SpecNodeName.MARGIN_LEFT_PERCENT];
- return new i18n.input.chrome.inputview.CompactKey(id, text, hintText, this.dataModel_.stateManager, marginLeftPercent);
+ var marginLeftPercent = spec[i18n.input.chrome.inputview.SpecNodeName.MARGIN_LEFT_PERCENT], isGrey = spec[i18n.input.chrome.inputview.SpecNodeName.IS_GREY];
+ return new i18n.input.chrome.inputview.CompactKey(id, text, hintText, this.dataModel_.stateManager, marginLeftPercent, isGrey);
case i18n.input.chrome.inputview.ElementType.CHARACTER_KEY:
var isLetterKey = i18n.input.chrome.inputview.util.isLetterKey(characters);
return new i18n.input.chrome.inputview.CharacterKey(id, characters, isLetterKey, hasAltGrCharacterInTheKeyset[isLetterKey], this.dataModel_.settings.alwaysRenderAltGrCharacter, this.dataModel_.stateManager);
@@ -11391,6 +11452,9 @@
};
goog.inherits(i18n.input.chrome.inputview.Controller, goog.Disposable);
i18n.input.chrome.inputview.Controller.NACL_LANGUAGES_ = "de en es fr it nl pt".split(" ");
+i18n.input.chrome.inputview.Controller.prototype.isSettingReady = !1;
+i18n.input.chrome.inputview.Controller.prototype.sendBackspaceDown_ = !1;
+i18n.input.chrome.inputview.Controller.prototype.sendEnterDown_ = !1;
i18n.input.chrome.inputview.Controller.prototype.dataSource_ = null;
i18n.input.chrome.inputview.Controller.prototype.deadKey_ = "";
i18n.input.chrome.inputview.Controller.prototype.isFakeEventUsed_ = !1;
@@ -11398,14 +11462,44 @@
i18n.input.chrome.inputview.Controller.prototype.registerEventHandler_ = function $i18n$input$chrome$inputview$Controller$$registerEventHandler_$() {
this.handler_.listen(this.model_, i18n.input.chrome.inputview.events.EventType.LAYOUT_LOADED, this.onLayoutLoaded_).listen(this.model_, i18n.input.chrome.inputview.events.EventType.CONFIG_LOADED, this.onConfigLoaded_).listen(this.m17nModel_, i18n.input.chrome.inputview.events.EventType.CONFIG_LOADED, this.onConfigLoaded_).listen(this.context_, i18n.input.chrome.inputview.Context.EventType.VISIBILITY_CHANGE, this.onVisibilityChange_).listen(this.pointerController_, [i18n.input.chrome.inputview.events.EventType.LONG_PRESS,
i18n.input.chrome.inputview.events.EventType.DOUBLE_CLICK, i18n.input.chrome.inputview.events.EventType.POINTER_UP, i18n.input.chrome.inputview.events.EventType.POINTER_DOWN, i18n.input.chrome.inputview.events.EventType.POINTER_OVER, i18n.input.chrome.inputview.events.EventType.POINTER_OUT, i18n.input.chrome.inputview.events.EventType.SWIPE], this.onPointerEvent_).listen(window, goog.events.EventType.RESIZE, this.resize).listen(this.context_, i18n.input.chrome.inputview.Context.EventType.CONTEXT_CHANGE,
- this.onContextChange_).listen(this.context_, i18n.input.chrome.inputview.Context.EventType.RESET, this.onContextReset_).listen(this.context_, i18n.input.chrome.inputview.Context.EventType.UPDATE, this.onContextUpdate_);
+ this.onContextChange_).listen(this.context_, i18n.input.chrome.inputview.Context.EventType.RESET, this.onContextReset_).listen(this.context_, i18n.input.chrome.inputview.Context.EventType.UPDATE, this.onContextUpdate_).listen(this.context_, i18n.input.chrome.inputview.events.EventType.SETTINGS_READY, this.onSettingsReady_);
this.isFakeEventUsed_ || this.isMessageUsed_ || this.handler_.listen(this.context_, i18n.input.chrome.inputview.events.EventType.KEY_CLICK, this.handlePhysicalKeyboardEvent_);
};
+i18n.input.chrome.inputview.Controller.prototype.onSettingsReady_ = function $i18n$input$chrome$inputview$Controller$$onSettingsReady_$() {
+ if (!this.isSettingReady) {
+ this.isSettingReady = !0;
+ if ("us" == this.keyboardKeyset_ && "en-US" == this.languageCode_) {
+ if (this.context_.isA11yMode) {
+ this.passwordKeyset_ = this.currentKeyset_ = this.keyboardKeyset_ = "us";
+ } else {
+ var preferredKeyset = this.model_.settings.getPreference(i18n.input.chrome.inputview.Settings.Preference.KEY_SET);
+ this.passwordKeyset_ = this.currentKeyset_ = this.keyboardKeyset_ = preferredKeyset || "us.compact";
+ }
+ }
+ this.switchToKeyboard(this.currentKeyset_);
+ }
+};
+i18n.input.chrome.inputview.Controller.prototype.getCharactersForSpatial_ = function $i18n$input$chrome$inputview$Controller$$getCharactersForSpatial_$(key) {
+ var characters = [];
+ characters.push(this.getKeyContent_(key));
+ for (var i = 0;i < key.nearbyKeys.length;i++) {
+ var content = this.getKeyContent_(key.nearbyKeys[i]);
+ content && i18n.input.chrome.inputview.util.REGEX_LANGUAGE_MODEL_CHARACTERS.test(content) && characters.push(content);
+ }
+ return characters;
+};
+i18n.input.chrome.inputview.Controller.prototype.getKeyContent_ = function $i18n$input$chrome$inputview$Controller$$getKeyContent_$(key) {
+ return key.type == i18n.input.chrome.inputview.ElementType.CHARACTER_KEY ? key.getActiveCharacter() : key.type == i18n.input.chrome.inputview.ElementType.COMPACT_KEY ? key.text : "";
+};
i18n.input.chrome.inputview.Controller.prototype.initializeDataSource_ = function $i18n$input$chrome$inputview$Controller$$initializeDataSource_$(language) {
this.dataSource_ = new i18n.input.chrome.inputview.OfflineDataSource(20);
this.dataSource_.setLanguage(language);
this.handler_.listen(this.dataSource_, i18n.input.chrome.inputview.DataSource.EventType.AUTO_COMPLETE, this.onAutoComplete_).listen(this.dataSource_, i18n.input.chrome.inputview.DataSource.EventType.AUTO_PREDICTION, this.onAutoPrediction_);
};
+i18n.input.chrome.inputview.Controller.prototype.shouldSendKeyEvent_ = function $i18n$input$chrome$inputview$Controller$$shouldSendKeyEvent_$() {
+ var ctrlKey = this.model_.stateManager.hasState(i18n.input.chrome.inputview.StateType.CTRL), altKey = this.model_.stateManager.hasState(i18n.input.chrome.inputview.StateType.ALT);
+ return this.isFakeEventUsed_ || ctrlKey || altKey;
+};
i18n.input.chrome.inputview.Controller.prototype.onPointerEvent_ = function $i18n$input$chrome$inputview$Controller$$onPointerEvent_$(e) {
this.getCurrentView_() && e.view && e.view && this.handlePointerAction_(e.view, e);
};
@@ -11425,9 +11519,9 @@
e.type == i18n.input.chrome.inputview.events.EventType.SWIPE && this.handleSwipeAction_(view, e);
switch(view.type) {
case i18n.input.chrome.inputview.ElementType.CANDIDATE_VIEW:
- if (view.showingCandidates && e.type == i18n.input.chrome.inputview.events.EventType.POINTER_UP) {
+ if ((view.showingCandidates || view.showingNumberRow) && e.type == i18n.input.chrome.inputview.events.EventType.POINTER_UP) {
var candidate = goog.dom.getTextContent(e.target);
- this.context_.getCommittedText() && (candidate = " " + candidate);
+ view.showingCandidates && (candidate += " ");
this.commitText_("", candidate, !0, !0, !1);
this.chromeVoxHandler_.handleCandidateEvent(candidate);
}
@@ -11438,7 +11532,7 @@
} else {
if (e.type == i18n.input.chrome.inputview.events.EventType.POINTER_UP) {
var ch = view.getHighlightedCharacter();
- this.isFakeEventUsed_ ? this.context_.sendKeyDownAndUpEvent(ch, view.triggeredBy.id) : this.commitText_(ch, "", i18n.input.chrome.inputview.util.isCommitCharacter(ch), !0, !0);
+ this.shouldSendKeyEvent_() ? this.context_.sendKeyDownAndUpEvent(ch, view.triggeredBy.id) : this.commitText_(ch, "", i18n.input.chrome.inputview.util.isCommitCharacter(ch), !0, !0);
view.hide();
}
}
@@ -11457,30 +11551,29 @@
case i18n.input.chrome.inputview.ElementType.CHARACTER_KEY:
key = softKey;
if (e.type == i18n.input.chrome.inputview.events.EventType.LONG_PRESS) {
- this.isFakeEventUsed_ || this.getCurrentView_().getAltDataView().show(key);
+ this.isFakeEventUsed_ || (this.getCurrentView_().getAltDataView().show(key), key.setHighlighted(!1));
} else {
if (e.type == i18n.input.chrome.inputview.events.EventType.POINTER_UP) {
- var ch = key.getActiveCharacter(), ctrlKey = this.model_.stateManager.hasState(i18n.input.chrome.inputview.StateType.CTRL), altKey = this.model_.stateManager.hasState(i18n.input.chrome.inputview.StateType.ALT);
- this.isFakeEventUsed_ || this.isMessageUsed_ || ctrlKey || altKey ? (this.isMessageUsed_ ? this.context_.sendKeyDownAndUpMessage(ch, key.id, this.commitText_.bind(this, ch, "", i18n.input.chrome.inputview.util.isCommitCharacter(ch), !0, !0)) : this.context_.sendKeyDownAndUpEvent(ch, key.id), this.model_.stateManager.hasUnStickyState() && (this.model_.stateManager.clearUnstickyState(), this.getCurrentView_().update())) : this.commitText_(ch, "", i18n.input.chrome.inputview.util.isCommitCharacter(ch),
- !0, !0);
+ var ch = key.getActiveCharacter();
+ if (this.isMessageUsed_) {
+ this.context_.sendKeyDownAndUpMessage(ch, key.id, this.commitText_.bind(this, ch, "", i18n.input.chrome.inputview.util.isCommitCharacter(ch), !0, !0));
+ } else {
+ if (this.shouldSendKeyEvent_()) {
+ this.context_.sendKeyDownAndUpEvent(ch, key.id), this.model_.stateManager.hasUnStickyState() && (this.model_.stateManager.clearUnstickyState(), this.getCurrentView_().update());
+ } else {
+ var charactersForSpatial = this.getCharactersForSpatial_(key);
+ this.commitText_(ch, "", i18n.input.chrome.inputview.util.isCommitCharacter(ch), !0, !0, charactersForSpatial);
+ }
+ }
key.flickerredCharacter = "";
}
}
break;
case i18n.input.chrome.inputview.ElementType.MODIFIER_KEY:
key = softKey;
- var isStateEnabled = this.model_.stateManager.hasState(key.toState);
- if (e.type == i18n.input.chrome.inputview.events.EventType.POINTER_DOWN) {
- this.changeState_(key.toState, !isStateEnabled, !0), this.model_.stateManager.setKeyDown(key.toState, !0);
- } else {
- if (e.type == i18n.input.chrome.inputview.events.EventType.POINTER_UP || e.type == i18n.input.chrome.inputview.events.EventType.POINTER_OUT) {
- var isChording = this.model_.stateManager.isChording(key.toState);
- isChording ? this.changeState_(key.toState, !1, !1) : key.toState != i18n.input.chrome.inputview.StateType.CAPSLOCK && this.changeState_(key.toState, isStateEnabled, !1);
- this.model_.stateManager.setKeyDown(key.toState, !1);
- } else {
- e.type == i18n.input.chrome.inputview.events.EventType.DOUBLE_CLICK && this.changeState_(key.toState, isStateEnabled, !0);
- }
- }
+ var isStateEnabled = this.model_.stateManager.hasState(key.toState), isChording = this.model_.stateManager.isChording(key.toState);
+ e.type == i18n.input.chrome.inputview.events.EventType.POINTER_DOWN ? (this.changeState_(key.toState, !isStateEnabled, !0), this.model_.stateManager.setKeyDown(key.toState, !0)) : e.type == i18n.input.chrome.inputview.events.EventType.POINTER_UP || e.type == i18n.input.chrome.inputview.events.EventType.POINTER_OUT ? (isChording ? this.changeState_(key.toState, !1, !1) : key.toState != i18n.input.chrome.inputview.StateType.CAPSLOCK && this.changeState_(key.toState, isStateEnabled, !1), this.model_.stateManager.setKeyDown(key.toState,
+ !1), key.pointerConfig.longPressWithoutPointerUp = !0) : e.type == i18n.input.chrome.inputview.events.EventType.DOUBLE_CLICK ? this.changeState_(key.toState, isStateEnabled, !0) : e.type == i18n.input.chrome.inputview.events.EventType.LONG_PRESS && (isChording ? key.pointerConfig.longPressWithoutPointerUp = !1 : (this.changeState_(key.toState, !0, !0), this.model_.stateManager.setKeyDown(key.toState, !1)));
break;
case i18n.input.chrome.inputview.ElementType.BACKSPACE_KEY:
if (e.type == i18n.input.chrome.inputview.events.EventType.POINTER_DOWN) {
@@ -11511,7 +11604,7 @@
break;
case i18n.input.chrome.inputview.ElementType.SPACE_KEY:
key = softKey;
- e.type == i18n.input.chrome.inputview.events.EventType.POINTER_UP && (this.isFakeEventUsed_ ? this.context_.sendKeyDownAndUpEvent(key.getCharacter(), "Space") : this.commitText_(key.getCharacter(), "", !0, !0, !0));
+ e.type == i18n.input.chrome.inputview.events.EventType.POINTER_UP && (this.shouldSendKeyEvent_() ? this.context_.sendKeyDownAndUpEvent(key.getCharacter(), "Space") : this.commitText_(key.getCharacter(), "", !0, !0, !0));
break;
case i18n.input.chrome.inputview.ElementType.SWITCHER_KEY:
key = softKey;
@@ -11524,7 +11617,7 @@
} else {
if (e.type == i18n.input.chrome.inputview.events.EventType.POINTER_UP) {
var text = key.flickerredCharacter || key.text;
- this.commitText_(text, "", i18n.input.chrome.inputview.util.isCommitCharacter(text), !0, !0);
+ this.commitText_(text, "", i18n.input.chrome.inputview.util.isCommitCharacter(text), !0, !0, this.getCharactersForSpatial_(key));
key.flickerredCharacter = "";
}
}
@@ -11539,15 +11632,22 @@
}
var keyData = e.keyData;
if (keyData.extensionId) {
- return!0;
+ return "KeyA" != keyData.code;
}
keyData.capsLock ? this.changeState_(i18n.input.chrome.inputview.StateType.CAPSLOCK, !0, !0) : this.changeState_(i18n.input.chrome.inputview.StateType.CAPSLOCK, !1, !1);
- if ("AltRight" != keyData.code && (keyData.altKey || keyData.ctrlKey)) {
+ var code = keyData.code;
+ "ControlRight" == code && (code = "ControlLeft");
+ var currentView = this.getCurrentView_();
+ if (!currentView) {
return!0;
}
- var keyView = this.getCurrentView_().getViewForKey(keyData.code), evtType = keyData.type, ret = !0;
+ var keyView = this.getCurrentView_().getViewForKey(code), evtType = keyData.type, ret = !0;
if (keyView) {
- switch(keyView.type != i18n.input.chrome.inputview.ElementType.MODIFIER_KEY && (evtType == goog.events.EventType.KEYDOWN ? keyView.setHighlighted(!0) : evtType == goog.events.EventType.KEYUP && keyView.setHighlighted(!1)), keyView.type) {
+ evtType == goog.events.EventType.KEYDOWN ? keyView.setHighlighted(!0) : evtType == goog.events.EventType.KEYUP && keyView.setHighlighted(!1);
+ if ("AltRight" != keyData.code && (keyData.altKey || keyData.ctrlKey)) {
+ return!0;
+ }
+ switch(keyView.type) {
case i18n.input.chrome.inputview.ElementType.CHARACTER_KEY:
if (evtType == goog.events.EventType.KEYDOWN) {
var ch = keyView.getActiveCharacter();
@@ -11580,14 +11680,15 @@
this.context_.isVisible() && (this.resetAll_(), this.resize());
};
i18n.input.chrome.inputview.Controller.prototype.onContextChange_ = function $i18n$input$chrome$inputview$Controller$$onContextChange_$() {
- var currentView = this.getCurrentView_();
- currentView && (this.context_.isPasswdBox() ? (this.switchToKeyboard(this.passwordKeyset_), currentView.setTitleVisible(!1)) : (this.switchToKeyboard(this.keyboardKeyset_), currentView.setTitleVisible(!0)), this.m17nModel_.setContext(this.context_.context));
+ var isPassword = this.context_.isPasswdBox();
+ this.switchToKeyboard(isPassword ? this.passwordKeyset_ : this.keyboardKeyset_);
+ this.m17nModel_.setContext(this.context_.context);
};
i18n.input.chrome.inputview.Controller.prototype.onContextUpdate_ = function $i18n$input$chrome$inputview$Controller$$onContextUpdate_$() {
- if (this.getCurrentView_()) {
+ if (this.getCurrentView_() && !this.context_.isPasswdBox()) {
this.getCurrentView_().clearCandidates();
var commitText = this.context_.getCommittedText();
- commitText && this.dataSource_ && !this.context_.isPasswdBox() && this.dataSource_.sendAutoPrediction(commitText);
+ commitText && this.dataSource_ && this.dataSource_.sendAutoPrediction(commitText);
this.m17nModel_ && this.m17nModel_.clearHistory();
}
};
@@ -11608,13 +11709,14 @@
this.setCompositionText_(compositionText);
ret = !1;
} else {
- isPointerEvent && this.context_.sendKeyDownEvent("Backspace", "Backspace"), this.getCurrentView_().clearCandidates();
+ isPointerEvent && (this.context_.sendKeyDownEvent("Backspace", "Backspace"), this.sendBackspaceDown_ = !0), this.getCurrentView_().clearCandidates();
}
this.context_.execAll();
return ret;
};
i18n.input.chrome.inputview.Controller.prototype.backspaceUp_ = function $i18n$input$chrome$inputview$Controller$$backspaceUp_$() {
- this.context_.sendKeyUpEvent("Backspace", "Backspace");
+ this.sendBackspaceDown_ && this.context_.sendKeyUpEvent("Backspace", "Backspace");
+ this.sendBackspaceDown_ = !1;
};
i18n.input.chrome.inputview.Controller.prototype.tabDown_ = function $i18n$input$chrome$inputview$Controller$$tabDown_$() {
this.context_.sendKeyDownEvent("Tab", "Tab");
@@ -11624,12 +11726,15 @@
};
i18n.input.chrome.inputview.Controller.prototype.enterDown_ = function $i18n$input$chrome$inputview$Controller$$enterDown_$(isPointerEvent) {
var ret = !0;
- this.context_.getCompositionText() ? (this.context_.commitText(), this.context_.sendKeyDownEvent("Enter", "Enter"), ret = !1) : isPointerEvent && this.context_.sendKeyDownEvent("Enter", "Enter");
+ if (this.context_.getCompositionText() || isPointerEvent) {
+ this.context_.sendKeyDownEvent("Enter", "Enter"), this.sendEnterDown_ = !0, ret = !this.context_.getCompositionText();
+ }
this.context_.execAll();
return ret;
};
i18n.input.chrome.inputview.Controller.prototype.enterUp_ = function $i18n$input$chrome$inputview$Controller$$enterUp_$() {
- this.context_.sendKeyUpEvent("Enter", "Enter");
+ this.sendEnterDown_ && this.context_.sendKeyUpEvent("Enter", "Enter");
+ this.sendEnterDown_ = !1;
};
i18n.input.chrome.inputview.Controller.prototype.changeState_ = function $i18n$input$chrome$inputview$Controller$$changeState_$(stateType, enable, isSticky) {
stateType == i18n.input.chrome.inputview.StateType.ALTGR && (enable ? this.context_.sendKeyDownEvent("", "AltRight") : this.context_.sendKeyUpEvent("", "AltRight"));
@@ -11673,22 +11778,26 @@
this.dataSource_ && text && this.dataSource_.sendAutoComplete(this.context_.getQueryText(), opt_charactersForSpatial);
};
i18n.input.chrome.inputview.Controller.prototype.onAutoComplete_ = function $i18n$input$chrome$inputview$Controller$$onAutoComplete_$(e) {
- var candidates = e.candidates, source = this.context_.getCompositionText(), matchedLengths = e.matchedLengths, candidates = goog.array.filter(candidates, function(candidate, i) {
- return void 0 == matchedLengths[i] || matchedLengths[i] == source.replace(/['-]/g, "").length;
- }), candidates = goog.array.map(candidates, function(candidate) {
- if (0 == candidate.toLowerCase().indexOf(source.toLowerCase())) {
- return source + candidate.slice(source.length);
- }
- if (source.toUpperCase() == source) {
- return candidate.toUpperCase();
- }
- var ch = source.charAt(0);
- return ch.toUpperCase() == ch ? candidate.charAt(0).toUpperCase() + candidate.slice(1) : candidate;
- });
- this.getCurrentView_().showCandidates(candidates);
+ var candidates = e.candidates, source = this.context_.getCompositionText();
+ if (source == e.source) {
+ var matchedLengths = e.matchedLengths, candidates = goog.array.filter(candidates, function(candidate, i) {
+ return void 0 == matchedLengths[i] || matchedLengths[i] == source.replace(/['-]/g, "").length;
+ }), candidates = goog.array.map(candidates, function(candidate) {
+ if (0 == candidate.toLowerCase().indexOf(source.toLowerCase())) {
+ return source + candidate.slice(source.length);
+ }
+ if (source.toUpperCase() == source) {
+ return candidate.toUpperCase();
+ }
+ var ch = source.charAt(0);
+ return ch.toUpperCase() == ch ? candidate.charAt(0).toUpperCase() + candidate.slice(1) : candidate;
+ }), isThreeCandidates = "us.compact" == this.currentKeyset_;
+ isThreeCandidates && (goog.array.insertAt(candidates, source, 0), goog.array.removeDuplicates(candidates));
+ this.getCurrentView_().showCandidates(candidates, isThreeCandidates);
+ }
};
i18n.input.chrome.inputview.Controller.prototype.onAutoPrediction_ = function $i18n$input$chrome$inputview$Controller$$onAutoPrediction_$(e) {
- this.getCurrentView_().showCandidates(e.candidates);
+ this.getCurrentView_().showCandidates(e.candidates, "us.compact" == this.currentKeyset_);
};
i18n.input.chrome.inputview.Controller.prototype.onLayoutLoaded_ = function $i18n$input$chrome$inputview$Controller$$onLayoutLoaded_$(e) {
var layoutID = e.data.layoutID;
@@ -11700,25 +11809,28 @@
var keyData = this.keyConfigurations_[keyboardCode], layoutId = keyData[i18n.input.chrome.inputview.SpecNodeName.LAYOUT], layoutData = this.layouts_[layoutId];
if (!this.viewMap_[keyboardCode] && layoutData) {
var conditions = {};
- conditions[i18n.input.chrome.inputview.ConditionName.SHOW_COMPACT_LAYOUT_SWITCHER] = "us" == keyboardCode && "en-US" == this.languageCode_;
+ conditions[i18n.input.chrome.inputview.ConditionName.SHOW_COMPACT_LAYOUT_SWITCHER] = !1;
conditions[i18n.input.chrome.inputview.ConditionName.SHOW_ALTGR] = keyData[i18n.input.chrome.inputview.SpecNodeName.HAS_ALTGR_KEY];
var view = new i18n.input.chrome.inputview.View(keyData, layoutData, keyboardCode, this.languageCode_, this.model_, this.inputToolName_);
view.render();
view.applyConditions(conditions);
this.viewMap_[keyboardCode] = view;
- keyboardCode == this.currentKeyset_ ? this.switchToKeyboard(this.currentKeyset_) : this.viewMap_[keyboardCode].setVisible(!1);
+ this.viewMap_[keyboardCode].setVisible(!1);
+ this.switchToKeyboard(this.currentKeyset_);
}
}
};
i18n.input.chrome.inputview.Controller.prototype.switchToKeyboard = function $i18n$input$chrome$inputview$Controller$$switchToKeyboard$(keyboardCode) {
- this.currentKeyset_ = keyboardCode;
- for (var code in this.viewMap_) {
- var view = this.viewMap_[code];
- code == keyboardCode ? (view.setVisible(!0), view.update(), this.resize()) : view.setVisible(!1);
+ if (this.viewMap_[keyboardCode] && this.isSettingReady) {
+ this.currentKeyset_ = keyboardCode;
+ for (var code in this.viewMap_) {
+ var view = this.viewMap_[code];
+ code == keyboardCode ? (view.setVisible(!0), view.update(), this.resize(), this.context_.isPasswdBox() && "us.compact" == code ? view.showNumberRow() : view.hideNumberRow(), view.setTitleVisible(!this.context_.isPasswdBox())) : view.setVisible(!1);
+ }
}
};
i18n.input.chrome.inputview.Controller.prototype.getCurrentView_ = function $i18n$input$chrome$inputview$Controller$$getCurrentView_$() {
- return this.viewMap_[this.currentKeyset_];
+ return this.viewMap_[this.currentKeyset_] || null;
};
i18n.input.chrome.inputview.Controller.prototype.onConfigLoaded_ = function $i18n$input$chrome$inputview$Controller$$onConfigLoaded_$(e) {
var data = e.data, keyboardCode = data[i18n.input.chrome.inputview.SpecNodeName.ID];
@@ -11743,14 +11855,6 @@
var standardLanguage = i18n.input.chrome.inputview.util.getStandardLanguageCode(languageCode);
goog.array.contains(i18n.input.chrome.inputview.Controller.NACL_LANGUAGES_, standardLanguage) && this.initializeDataSource_(standardLanguage);
this.currentKeyset_ = this.keyboardKeyset_ = keyset;
- if ("us" == keyset && "en-US" == languageCode) {
- if (this.context_.isA11yMode) {
- this.currentKeyset_ = this.keyboardKeyset_ = "us";
- } else {
- var preferredKeyset = this.model_.settings.getPreference(i18n.input.chrome.inputview.Settings.Preference.KEY_SET);
- this.currentKeyset_ = this.keyboardKeyset_ = preferredKeyset || "us.compact";
- }
- }
this.isFakeEventUsed_ = isFakeEventUsed;
this.inputToolName_ = name;
this.isMessageUsed_ = isMessageUsed;
@@ -11769,6 +11873,9 @@
var uri = new goog.Uri(window.location.href), code = uri.getParameterValue("id") || "us", language = uri.getParameterValue("language") || "en", passwordLayout = uri.getParameterValue("passwordLayout") || "us", isFakeEventUsed = !!uri.getParameterValue("isFakeEventUsed"), name = chrome.i18n.getMessage(uri.getParameterValue("name") || "English"), isMessageUsed = !!uri.getParameterValue("isMessageUsed"), context = new i18n.input.chrome.inputview.ChromeOsContext(!isFakeEventUsed && !isMessageUsed),
controller = new i18n.input.chrome.inputview.Controller(context);
controller.initialize(code, language, passwordLayout, isFakeEventUsed, name, isMessageUsed);
+ window.setContext = function $window$setContext$(mockContext) {
+ context.setContext(mockContext);
+ };
window.unload = function $window$unload$() {
goog.dispose(controller);
goog.dispose(this.context_);
diff -urN nacl-mozc-1.15.1800.4.orig/inputview_css.css nacl-mozc-1.15.1800.4/inputview_css.css
--- nacl-mozc-1.15.1800.4.orig/inputview_css.css 2014-05-09 13:53:08.490488226 +0900
+++ nacl-mozc-1.15.1800.4/inputview_css.css 2014-05-09 13:27:42.640442490 +0900
@@ -1,2 +1,2 @@
/* Copyright 2014 Google Inc. All Rights Reserved. */
-.inputview-layoutview{position:relative;-webkit-user-select:none}.inputview-skv{display:inline-block;overflow:hidden}.inputview-sk{margin:0 7px 7px 0;position:relative;background-color:white}.inputview-character{position:absolute;text-align:center;color:#bbb;font-size:15px;display:inline-block}.inputview-ch{color:#666;font-size:21px}.inputview-vertical{display:inline-block}.inputview-linear{display:inline-block}.inputview-view{position:fixed;bottom:0;left:0;-webkit-box-shadow:-5px 0 5px #ccc;border:1px solid #cfcfcf;background-color:#ebebeb;font-family:'Roboto, Noto Sans, Sans-Serif';color:#666666;-webkit-user-select:none}.inputview-view[lang=am]{font-family:'Roboto, Noto Sans Armenian, Sans-Serif'}.inputview-view[lang=il]{font-family:'Roboto, Noto Sans Hebrew, Sans-Serif'}.inputview-view[lang=jp]{font-family:'Roboto, MotoyaG04Gothic, IPAGothic, Sans-Serif'}.inputview-view[lang=ar]{font-family:'Roboto, Noto Arabic Naskh UI, Sans-Serif'}.inputview-view[lang=bn]{font-family:'Roboto, Noto Sans Bengali, Sans-Serif'}.inputview-view[lang=ethi]{font-family:'Roboto, Noto Sans Ethiopic, Sans-Serif'}.inputview-view[lang=fa]{font-family:'Roboto, Noto Arabic Naskh UI, Sans-Serif'}.inputview-view[lang=gu]{font-family:'Roboto, Noto Sans Gujarati, Lohit Gujarati, Sans-Serif'}.inputview-view[lang=kn]{font-family:'Roboto, Noto Sans Kannada, Lohit Kannada, Sans-Serif '}.inputview-view[lang=ml]{font-family:'Roboto, Noto Sans Malayalam, Lohit Malayalam, Sans-Serif'}.inputview-view[lang=ta]{font-family:'Roboto, Noto Sans Tamil, Lohit Tamil, Sans-Serif'}.inputview-view[lang=te]{font-family:'Roboto, Noto Sans Telugu, Lohit Telugu, Sans-Serif'}.inputview-view[lang=th]{font-family:'Roboto, Noto Sans Thai, Sans-Serif'}.inputview-view[lang=zh-CN]{font-family:'Roboto, MYingHeiGB18030, Droid Sans Fallback, Sans-Serif'}.inputview-view[lang=zh-TW],.inputview-view[lang=zh-HK]{font-family:'Roboto, MYingHeiB5HK, Droid Sans Fallback, Sans-Serif'}.inputview-view[lang=kr]{font-family:'Roboto, NanumGothic, Sans-Serif'}.inputview-modifier{display:table-cell;vertical-align:middle;font-size:15px;text-align:center;position:relative}.inputview-altdata-view{position:absolute;z-index:999;border:1px solid #ccc;background-color:white}.inputview-altdata-key{display:table-cell;font-size:21px;vertical-align:middle;text-align:center}.inputview-candidate-view{overflow:hidden;display:inline-block}.inputview-candidate{display:table-cell;font-size:15px;vertical-align:middle;text-align:center}.inputview-candidate-separator{border-left:1px solid #ddd;position:relative;display:inline-block}.inputview-table-cell{display:table-cell;vertical-align:middle;text-align:center}.inputview-title{font-size:15px;color:#bfbfbf}.inputview-special-key-name{display:block}.inputview-modifier-state-icon{background-image:url('images/modifier-off.png');background-repeat:no-repeat;background-size:16px 4px;display:inline-block;width:16px;height:4px}.inputview-modifier-state-icon.inputview-modifier-on{background-image:url('images/modifier-on.png')}.inputview-modifier-state-icon.inputview-hold{-webkit-box-shadow:0 0 5px 1px #397ffb;opacity:0.9}.inputview-altdata-cover{position:fixed;bottom:0;left:0;background-color:white;opacity:0.5;z-index:1}.inputview-arrow-key{background-repeat:no-repeat;display:inline-block;width:16px;height:13px;background-size:16px 13px}.inputview-up-key{background-image:url('images/up.png')}.inputview-down-key{background-image:url('images/down.png')}.inputview-left-key{background-image:url('images/left.png')}.inputview-right-key{background-image:url('images/right.png')}.inputview-special-key-bg{background-color:#ddd}.inputview-hide-keyboard-icon{background:transparent url('images/hide.png') 0 0 no-repeat;background-size:18px 18.5px;display:inline-block;width:18px;height:18.5px}.inputview-element-highlight{background-color:#ddd}.inputview-special-key-highlight{background-color:#bbb}.inputview-backspace-icon{background:transparent url('images/backspace.png');background-size:22.5px 13.5px;display:inline-block;width:22.5px;height:13.5px}.inputview-enter-icon{background:transparent url('images/enter.png');background-size:18px 13.5px;display:inline-block;width:18px;height:13.5px}.inputview-shift-icon{background:transparent url('images/shift.png');background-size:18.5px 13.5px;display:inline-block;width:18.5px;height:13.5px}.inputview-tab-icon{background:transparent url('images/tab.png');background-size:25.5px 13.5px;display:inline-block;width:25.5px;height:13.5px}.inputview-capslock-dot{background-color:#ccc;width:4px;height:4px;position:absolute;top:8px;right:8px}.inputview-capslock-dot-highlight{background-color:#4285f4}.inputview-hint-text{font-size:12px;color:grey;position:absolute;top:8px;right:8px}.inputview-compact-key{font-size:21px}.inputview-compact-switcher{background:transparent url('images/compact.png');background-size:19px 9px;display:inline-block;width:19px;height:9px}.inputview-regular-switcher{background:transparent url('images/regular_size.png');background-size:19px 14px;display:inline-block;width:19px;height:14px}
\ No newline at end of file
+.inputview-layoutview{position:relative;-webkit-user-select:none}.inputview-skv{display:inline-block;overflow:hidden}.inputview-sk{margin:0 7px 7px 0;position:relative;background-color:#ffffff}#us-compact .inputview-sk{margin:0 11px 11px 0}.inputview-character{position:absolute;text-align:center;color:#bbb;font-size:16px;display:inline-block}.inputview-ch{color:#666;font-size:23px}.inputview-vertical{display:inline-block}.inputview-linear{display:inline-block}.inputview-view{position:fixed;bottom:0;left:0;-webkit-box-shadow:-5px 0 5px #ccc;border:1px solid #cfcfcf;background-color:#eeeeee;-webkit-user-select:none}.inputview-font{font-family:Roboto,Noto Sans,Sans-Serif}.inputview-font[lang=am]{font-family:Roboto,Noto Sans Armenian,Sans-Serif}.inputview-font[lang=il]{font-family:Roboto,Noto Sans Hebrew,Sans-Serif}.inputview-font[lang=jp]{font-family:Roboto,MotoyaG04Gothic,IPAGothic,Sans-Serif}.inputview-font[lang=ar]{font-family:Roboto,Noto Arabic Naskh ui,Sans-Serif}.inputview-font[lang=bn]{font-family:Roboto,Noto Sans Bengali,Sans-Serif}.inputview-font[lang=ethi]{font-family:Roboto,Noto Sans Ethiopic,Sans-Serif}.inputview-font[lang=fa]{font-family:Roboto,Noto Arabic Naskh ui,Sans-Serif}.inputview-font[lang=gu]{font-family:Roboto,Noto Sans Gujarati,Lohit Gujarati,Sans-Serif}.inputview-font[lang=kn]{font-family:Roboto,Noto Sans Kannada,Lohit Kannada,Sans-Serif}.inputview-font[lang=ml]{font-family:Roboto,Noto Sans Malayalam,Lohit Malayalam,Sans-Serif}.inputview-font[lang=ta]{font-family:Roboto,Noto Sans Tamil,Lohit Tamil,Sans-Serif}.inputview-font[lang=te]{font-family:Roboto,Noto Sans Telugu,Lohit Telugu,Sans-Serif}.inputview-font[lang=th]{font-family:Roboto,Noto Sans Thai,Sans-Serif}.inputview-font[lang=zh-CN]{font-family:Roboto,MYingHeiGB18030,Droid Sans Fallback,Sans-Serif}.inputview-font[lang=zh-TW],.inputview-font[lang=zh-HK]{font-family:Roboto,MYingHeiB5HK,Droid Sans Fallback,Sans-Serif}.inputview-font[lang=kr]{font-family:Roboto,NanumGothic,Sans-Serif}.inputview-modifier{display:table-cell;vertical-align:middle;font-size:15px;text-align:center;position:relative}.inputview-altdata-view{position:absolute;z-index:999;border:1px solid #ccc;background-color:white}.inputview-altdata-key{display:table-cell;font-size:23px;vertical-align:middle;text-align:center}.inputview-candidate.inputview-candidate-highlight{color:#262626}.inputview-candidate-view{overflow:hidden;display:inline-block}.inputview-candidate{display:table-cell;font-size:18px;color:#555555;vertical-align:middle;text-align:center}.inputview-candidate-separator{border-left:1px solid #ddd;position:relative;display:inline-block}.inputview-table-cell{display:table-cell;vertical-align:middle;text-align:center}.inputview-title{font-size:15px;color:#bfbfbf}.inputview-special-key-name{display:block}.inputview-modifier-state-icon{background-image:url('images/modifier-off.png');background-repeat:no-repeat;background-size:16px 4px;display:inline-block;width:16px;height:4px}.inputview-modifier-state-icon.inputview-modifier-on{background-image:url('images/modifier-on.png')}.inputview-modifier-state-icon.inputview-hold{-webkit-box-shadow:0 0 5px 1px #397ffb;opacity:0.9}.inputview-altdata-cover{position:fixed;bottom:0;left:0;background-color:white;opacity:0.5;z-index:1}.inputview-arrow-key{background-repeat:no-repeat;display:inline-block;width:16px;height:13px;background-size:16px 13px}.inputview-up-key{background-image:url('images/up.png')}.inputview-down-key{background-image:url('images/down.png')}.inputview-left-key{background-image:url('images/left.png')}.inputview-right-key{background-image:url('images/right.png')}.inputview-special-key-bg{background-color:#ddd}.inputview-hide-keyboard-icon{background:transparent url('images/hide.png') 0 0 no-repeat;background-size:18px 18.5px;display:inline-block;width:18px;height:18.5px}.inputview-element-highlight{background-color:#dddddd}.inputview-special-key-highlight{background-color:#cccccc}.inputview-backspace-icon{background:transparent url('images/backspace.png');background-size:22.5px 13.5px;display:inline-block;width:22.5px;height:13.5px}.inputview-enter-icon{background:transparent url('images/enter.png');background-size:18px 13.5px;display:inline-block;width:18px;height:13.5px}.inputview-shift-icon{background:transparent url('images/shift.png');background-size:18.5px 13.5px;display:inline-block;width:18.5px;height:13.5px}.inputview-tab-icon{background:transparent url('images/tab.png');background-size:25.5px 13.5px;display:inline-block;width:25.5px;height:13.5px}.inputview-capslock-dot{background-color:#ccc;width:4px;height:4px;position:absolute;top:8px;right:8px}.inputview-capslock-dot-highlight{background-color:#4285f4}.inputview-hint-text{font-size:12px;color:grey;position:absolute;top:8px;right:8px}.inputview-compact-key{font-size:28px;color:#555555}.inputview-compact-switcher{background:transparent url('images/compact.png');background-size:19px 9px;display:inline-block;width:19px;height:9px}.inputview-regular-switcher{background:transparent url('images/regular_size.png');background-size:19px 14px;display:inline-block;width:19px;height:14px}#Space{color:#bbbbbb;font-size:18px}
\ No newline at end of file
diff -urN nacl-mozc-1.15.1800.4.orig/inputview_layouts/101kbd.js nacl-mozc-1.15.1800.4/inputview_layouts/101kbd.js
--- nacl-mozc-1.15.1800.4.orig/inputview_layouts/101kbd.js 2014-05-09 13:53:08.490488226 +0900
+++ nacl-mozc-1.15.1800.4/inputview_layouts/101kbd.js 2014-05-09 13:27:42.870442520 +0900
@@ -1,3 +1,3 @@
-(function() { function a(b){for(var e=d,f=[],c=0;c<b;c++)f.push(g(e));return f}function g(b){var e=h+l++;return m(8,b,e)}function n(b){return m(4,b,void 0)}function m(b,e,f){var c={},k;for(k in e)c[k]=e[k];c.type=b;f&&(c.id=f);return{spec:c}};var l=0,h="";var h="101kbd-k-",p=n({id:"topBar",children:[m(10,{id:"candidateView",widthInWeight:15,heightInWeight:1},void 0)],condition:"showTitleBar"}),q,d={widthInWeight:1,heightInWeight:1},r=a(13),s=g({widthInWeight:2}),t=n({id:"row1",children:[r,s]}),u=g({widthInWeight:1.5}),v=a(12),w=g({widthInWeight:1.5}),x=n({id:"row2",children:[u,v,w]}),y=g({widthInWeight:1.75}),z=a(11),A=g({widthInWeight:2.25}),B=n({id:"row3",children:[y,z,A]}),C=g({widthInWeight:2.5}),D=a(10),E=g({widthInWeight:2.5});
+(function() { function a(b){for(var e=d,f=[],c=0;c<b;c++)f.push(g(e));return f}function g(b){var e=h+l++;return m(8,b,e)}function n(b){return m(4,b,void 0)}function m(b,e,f){var c={},k;for(k in e)c[k]=e[k];c.type=b;f&&(c.id=f);return{spec:c}};var l=0,h="";var h="101kbd-k-",p;p=n({id:"topBar",children:[m(10,{id:"candidateView",widthInWeight:15,heightInWeight:1},void 0)],condition:"showTitleBar"});var q,d={widthInWeight:1,heightInWeight:1},r=a(13),s=g({widthInWeight:2}),t=n({id:"row1",children:[r,s]}),u=g({widthInWeight:1.5}),v=a(12),w=g({widthInWeight:1.5}),x=n({id:"row2",children:[u,v,w]}),y=g({widthInWeight:1.75}),z=a(11),A=g({widthInWeight:2.25}),B=n({id:"row3",children:[y,z,A]}),C=g({widthInWeight:2.5}),D=a(10),E=g({widthInWeight:2.5});
q=[t,x,B,n({id:"row4",children:[C,D,E]})];var F=g({widthInWeight:1}),G=g({widthInWeight:1}),H=g({widthInWeight:1,condition:"showCompactLayoutSwitcher"}),I=g({widthInWeight:8}),J=g({widthInWeight:1,condition:"showAltGr"});H.spec.giveWeightTo=I.spec.id;J.spec.giveWeightTo=I.spec.id;var K=g({widthInWeight:1}),L=g({widthInWeight:1}),M=g({widthInWeight:1});
-google.ime.chrome.inputview.onLayoutLoaded({layoutID:"101kbd",heightPercentOfWidth:0.3,minimumHeight:380,fullHeightInWeight:6,children:[p,n({id:"keyboardContainer",children:[m(3,{id:"keyboardView",children:[q,n({id:"spaceKeyrow",children:[F,G,H,I,J,K,L,M]})],widthPercent:100,heightPercent:100},void 0)]})]}); })()
+google.ime.chrome.inputview.onLayoutLoaded({layoutID:"101kbd",heightPercentOfWidth:.3,minimumHeight:380,fullHeightInWeight:6,children:[p,n({id:"keyboardContainer",children:[m(3,{id:"keyboardView",children:[q,n({id:"spaceKeyrow",children:[F,G,H,I,J,K,L,M]})],widthPercent:100,heightPercent:100},void 0)]})]}); })()
diff -urN nacl-mozc-1.15.1800.4.orig/inputview_layouts/compactkbd.js nacl-mozc-1.15.1800.4/inputview_layouts/compactkbd.js
--- nacl-mozc-1.15.1800.4.orig/inputview_layouts/compactkbd.js 2014-05-09 13:53:08.490488226 +0900
+++ nacl-mozc-1.15.1800.4/inputview_layouts/compactkbd.js 2014-05-09 13:27:42.870442520 +0900
@@ -1,2 +1,3 @@
-(function() { function a(b){for(var d=e,f=[],c=0;c<b;c++)f.push(g(d));return f}function g(b){var d=h+l++;return m(8,b,d)}function n(b){return m(4,b,void 0)}function m(b,d,f){var c={},k;for(k in d)c[k]=d[k];c.type=b;f&&(c.id=f);return{spec:c}};var l=0,h="";var h="compactkbd-k-",p=n({id:"topBar",children:[m(10,{id:"candidateView",widthInWeight:15,heightInWeight:1},void 0)],condition:"showTitleBar"}),e={widthInWeight:1,heightInWeight:1},q=a(10),r=g({widthInWeight:2}),s=n({id:"row1",children:[q,r]}),t=g({widthInWeight:1.75}),u=a(8),v=g({widthInWeight:2.25}),w=n({id:"row2",children:[t,u,v]}),x=g({widthInWeight:1.5}),y=a(9),z=g({widthInWeight:1.5}),A=n({id:"row3",children:[x,y,z]}),B=g({widthInWeight:1}),C=g({widthInWeight:1}),D=g({widthInWeight:1}),E=g({widthInWeight:6}),
-F=g({widthInWeight:1}),G=g({widthInWeight:1}),H=g({widthInWeight:1});google.ime.chrome.inputview.onLayoutLoaded({layoutID:"compactkbd",heightPercentOfWidth:0.3,minimumHeight:380,fullHeightInWeight:5,children:[p,n({id:"keyboardContainer",children:[m(3,{id:"keyboardView",children:[[s,w,A,n({id:"row4",children:[B,C,D,E,F,G,H]})]],widthPercent:100,heightPercent:100},void 0)]})]}); })()
+(function() { function a(b){for(var d=e,f=[],c=0;c<b;c++)f.push(g(d));return f}function g(b){var d=h+l++;return m(8,b,d)}function n(b){return m(4,b,void 0)}function m(b,d,f){var c={},k;for(k in d)c[k]=d[k];c.type=b;f&&(c.id=f);return{spec:c}};var l=0,h="";var h="compactkbd-k-",p;p=n({id:"topBar",children:[m(10,{id:"candidateView",widthInWeight:11.2,heightInWeight:.6,numberRowWeight:10},void 0)],condition:"showTitleBar"});
+var e={widthInWeight:1,heightInWeight:1},q=a(10),r=g({widthInWeight:1.2}),s=n({id:"row1",children:[q,r]}),t=g({widthInWeight:1.5}),u=a(8),v=g({widthInWeight:1.7}),w=n({id:"row2",children:[t,u,v]}),x=g({widthInWeight:1.1}),y=a(9),z=g({widthInWeight:1.1}),A=n({id:"row3",children:[x,y,z]}),B=g({widthInWeight:1.1}),C=g({widthInWeight:1}),D=g({widthInWeight:1}),E=g({widthInWeight:5}),F=g({widthInWeight:1}),G=g({widthInWeight:1}),H=g({widthInWeight:1.1});
+google.ime.chrome.inputview.onLayoutLoaded({layoutID:"compactkbd",heightPercentOfWidth:.3,minimumHeight:380,fullHeightInWeight:4.6,children:[p,n({id:"keyboardContainer",children:[m(3,{id:"keyboardView",children:[[s,w,A,n({id:"row4",children:[B,C,D,E,F,G,H]})]],widthPercent:100,heightPercent:100},void 0)]})]}); })()
diff -urN nacl-mozc-1.15.1800.4.orig/key_translator.js nacl-mozc-1.15.1800.4/key_translator.js
--- nacl-mozc-1.15.1800.4.orig/key_translator.js 2014-05-09 13:53:00.070488532 +0900
+++ nacl-mozc-1.15.1800.4/key_translator.js 2014-05-09 13:27:43.680442621 +0900
@@ -396,10 +396,21 @@
// Do not disturb taking screenshot.
if (keyData.ctrlKey && keyData.key == 'ChromeOSSwitchWindow') {
return /** @type {!mozc.KeyEvent} */ ({});
- } else if (mozc.MODIFIER_KEY_CODE_MASK_MAP_[keyData.code]) {
- return this.translateModifierKeyEvent_(keyData);
- } else if (keyData.type == 'keydown') {
- return this.translateKeyDownEvent_(keyData, isKanaMode, keyboardLayout);
+ } else {
+ // Since IME API can't send the correct upper case alphabet.
+ // Need to make a transform first. JP IME use shift status to input upper
+ // case letter.
+ var key = keyData.key;
+ if (keyData.capsLock && key) {
+ if (key.toUpperCase() != key) {
+ keyData.shiftKey = !keyData.shiftKey;
+ }
+ }
+ if (mozc.MODIFIER_KEY_CODE_MASK_MAP_[keyData.code]) {
+ return this.translateModifierKeyEvent_(keyData);
+ } else if (keyData.type == 'keydown') {
+ return this.translateKeyDownEvent_(keyData, isKanaMode, keyboardLayout);
+ }
}
return /** @type {!mozc.KeyEvent} */ ({});
};
diff -urN nacl-mozc-1.15.1800.4.orig/manifest.json nacl-mozc-1.15.1800.4/manifest.json
--- nacl-mozc-1.15.1800.4.orig/manifest.json 2014-05-09 13:52:53.070488794 +0900
+++ nacl-mozc-1.15.1800.4/manifest.json 2014-05-09 13:36:13.020515832 +0900
@@ -29,7 +29,7 @@
"description": "Japanese input method.",
"language": "ja",
"layouts": ["jp"],
- "input_view": "inputview.html?id=us&language=ja&passwordLayout=us&name=appNameJPKeyboard&isFakeEventUsed=true"
+ "input_view": "inputview.html?id=jp&language=ja&passwordLayout=us&name=appNameJPKeyboard&isFakeEventUsed=true"
}],
"options_page": "options.html",
"icons": {