| Index: chrome/browser/resources/keyboard/main.js
|
| diff --git a/chrome/browser/resources/keyboard/main.js b/chrome/browser/resources/keyboard/main.js
|
| index 075165425b5b8ceff8779bc9934645a9e45ec001..3c77bc73a7306742410c8ef79ae4a40f7230f92f 100644
|
| --- a/chrome/browser/resources/keyboard/main.js
|
| +++ b/chrome/browser/resources/keyboard/main.js
|
| @@ -165,14 +165,26 @@ window.onload = function() {
|
|
|
| window.onhashchange();
|
|
|
| - // Restore the keyboard to the default state when it is hidden.
|
| - // Ref: dvcs.w3.org/hg/webperf/raw-file/tip/specs/PageVisibility/Overview.html
|
| - document.addEventListener("webkitvisibilitychange", function() {
|
| - if (document.webkitHidden) {
|
| - currentMode = SHIFT_MODE;
|
| - setMode(currentMode);
|
| + chrome.experimental.input.onTextInputTypeChanged.addListener(function(type) {
|
| + switch(type) {
|
| + case "text":
|
| + currentMode = SHIFT_MODE;
|
| + break;
|
| + case "password":
|
| + case "search":
|
| + case "url":
|
| + currentMode = KEY_MODE;
|
| + break;
|
| + case "number":
|
| + case "tel":
|
| + currentMode = NUMBER_MODE;
|
| + break;
|
| + default:
|
| + currentMode = KEY_MODE;
|
| + break;
|
| }
|
| - }, false);
|
| + setMode(currentMode);
|
| + });
|
| }
|
| // TODO(bryeung): would be nice to leave less gutter (without causing
|
| // rendering issues with floated divs wrapping at some sizes).
|
|
|