| Index: chrome/browser/resources/keyboard/main.js
|
| diff --git a/chrome/browser/resources/keyboard/main.js b/chrome/browser/resources/keyboard/main.js
|
| deleted file mode 100644
|
| index 8b7d54d8f60192673fdb9c28ef4d05bcd4de393d..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/resources/keyboard/main.js
|
| +++ /dev/null
|
| @@ -1,252 +0,0 @@
|
| -// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -/**
|
| - * @fileoverview A simple virtual keyboard implementation.
|
| - */
|
| -
|
| -/**
|
| - * The ratio of the row height to the font size.
|
| - * @type {number}
|
| - */
|
| -const kFontSizeRatio = 3.5;
|
| -
|
| -/**
|
| - * Return the id attribute of the keyboard element for the given layout.
|
| - * @param {string} layout The keyboard layout.
|
| - * @return {string} The id attribute of the keyboard element.
|
| - */
|
| -function getKeyboardId(layout) {
|
| - return 'keyboard_' + layout;
|
| -}
|
| -
|
| -/**
|
| - * Return the aspect ratio of the current keyboard.
|
| - * @param {string} layout The keyboard layout.
|
| - * @return {number} The aspect ratio of the current keyboard.
|
| - */
|
| -function getKeyboardAspect() {
|
| - return KEYBOARDS[currentKeyboardLayout]['aspect'];
|
| -}
|
| -
|
| -/**
|
| - * Calculate the height of the keyboard based on the size of the page.
|
| - * @return {number} The height of the keyboard in pixels.
|
| - */
|
| -function getKeyboardHeight() {
|
| - var x = window.innerWidth;
|
| - var y = window.innerHeight - ((imeui && imeui.visible) ? IME_HEIGHT : 0);
|
| - return (x > getKeyboardAspect() * y) ?
|
| - y : Math.floor(x / getKeyboardAspect());
|
| -}
|
| -
|
| -/**
|
| - * Create a DOM of the keyboard rows for the given keyboard layout.
|
| - * Do nothing if the DOM is already created.
|
| - * @param {string} layout The keyboard layout for which rows are created.
|
| - * @param {Element} element The DOM Element to which rows are appended.
|
| - * @param {boolean} autoPadding True if padding needs to be added to both side
|
| - * of the rows that have less keys.
|
| - * @return {void}
|
| - */
|
| -function initRows(layout, element, autoPadding) {
|
| - var keyboard = KEYBOARDS[layout];
|
| - if ('rows' in keyboard) {
|
| - return;
|
| - }
|
| - var def = keyboard['definition'];
|
| - var rows = [];
|
| - for (var i = 0; i < def.length; ++i) {
|
| - rows.push(new Row(i, def[i]));
|
| - }
|
| - keyboard['rows'] = rows;
|
| -
|
| - var maxRowLength = -1;
|
| - for (var i = 0; i < rows.length; ++i) {
|
| - if (rows[i].length > maxRowLength) {
|
| - maxRowLength = rows[i].length;
|
| - }
|
| - }
|
| -
|
| - // A div element which holds rows for the layout.
|
| - var rowsDiv = document.createElement('div');
|
| - rowsDiv.className = 'rows';
|
| - for (var i = 0; i < rows.length; ++i) {
|
| - var rowDiv = rows[i].makeDOM();
|
| - if (autoPadding && rows[i].length < maxRowLength) {
|
| - var padding = 50 * (maxRowLength - rows[i].length) / maxRowLength;
|
| - rowDiv.style.paddingLeft = padding + '%';
|
| - rowDiv.style.paddingRight = padding + '%';
|
| - }
|
| - rowsDiv.appendChild(rowDiv);
|
| - rows[i].showMode(currentMode);
|
| - }
|
| - keyboard['rowsDiv'] = rowsDiv;
|
| - element.appendChild(rowsDiv);
|
| -}
|
| -
|
| -/**
|
| - * Create a DOM of the handwriting canvas for the given keyboard layout.
|
| - * Do nothing if the DOM is already created or the layout doesn't have canvas.
|
| - * @param {string} layout The keyboard layout for which canvas is created.
|
| - * @param {Element} The DOM Element to which canvas is appended.
|
| - * @return {void}
|
| - */
|
| -function initHandwritingCanvas(layout, element) {
|
| - var keyboard = KEYBOARDS[layout];
|
| - if (!('canvas' in keyboard) || keyboard['canvas']) {
|
| - return;
|
| - }
|
| - var canvas = new HandwritingCanvas();
|
| - canvas.className = 'handwritingcanvas';
|
| - var border = 1;
|
| - var marginTop = 5;
|
| - var canvasHeight = getKeyboardHeight() - 2 * border - marginTop;
|
| - canvas.resize(canvasHeight);
|
| - keyboard['canvas'] = canvas;
|
| - element.appendChild(canvas);
|
| -}
|
| -
|
| -/**
|
| - * Create a DOM of the keyboard for the given keyboard layout.
|
| - * Do nothing if the DOM is already created.
|
| - * @param {string} layout The keyboard layout for which keyboard is created.
|
| - * @param {Element} The DOM Element to which keyboard is appended.
|
| - * @return {void}
|
| - */
|
| -function initKeyboard(layout, element) {
|
| - var keyboard = KEYBOARDS[layout];
|
| - if (!keyboard || keyboard['keyboardDiv']) {
|
| - return;
|
| - }
|
| - var keyboardDiv = document.createElement('div');
|
| - keyboardDiv.id = getKeyboardId(layout);
|
| - keyboardDiv.className = 'keyboard';
|
| - initRows(layout, keyboardDiv);
|
| - initHandwritingCanvas(layout, keyboardDiv);
|
| - keyboard['keyboardDiv'] = keyboardDiv;
|
| - window.onresize();
|
| - element.appendChild(keyboardDiv);
|
| -}
|
| -
|
| -/**
|
| - * Create a DOM of the popup keyboard.
|
| - * @param {Element} The DOM Element to which the popup keyboard is appended.
|
| - * @return {void}
|
| - */
|
| -function initPopupKeyboard(element) {
|
| - var popupDiv = document.createElement('div');
|
| - popupDiv.id = 'popup';
|
| - popupDiv.className = 'keyboard popup';
|
| - popupDiv.style.visibility = 'hidden';
|
| - element.appendChild(popupDiv);
|
| - element.addEventListener('mouseup', function(evt) {
|
| - hidePopupKeyboard(evt);
|
| - });
|
| -}
|
| -
|
| -/**
|
| - * Resize the keyboard according to the new window size.
|
| - * @return {void}
|
| - */
|
| -window.onresize = function() {
|
| - var keyboardDiv = KEYBOARDS[currentKeyboardLayout]['keyboardDiv'];
|
| - var height = getKeyboardHeight();
|
| - keyboardDiv.style.height = height + 'px';
|
| - var mainDiv = document.getElementById('main');
|
| - mainDiv.style.width = Math.floor(getKeyboardAspect() * height) + 'px';
|
| - var rowsLength = KEYBOARDS[currentKeyboardLayout]['rows'].length;
|
| - keyboardDiv.style.fontSize = (height / kFontSizeRatio / rowsLength) + 'px';
|
| - updateIme();
|
| -}
|
| -
|
| -/**
|
| - * Init the keyboard.
|
| - * @return {void}
|
| - */
|
| -window.onload = function() {
|
| - var body = document.getElementById('b');
|
| -
|
| - // Catch all unhandled touch events and prevent default, to prevent the
|
| - // keyboard from responding to gestures like double tap.
|
| - function disableGestures(evt) {
|
| - evt.preventDefault();
|
| - }
|
| - body.addEventListener('touchstart', disableGestures);
|
| - body.addEventListener('touchmove', disableGestures);
|
| - body.addEventListener('touchend', disableGestures);
|
| -
|
| - var mainDiv = document.createElement('div');
|
| - mainDiv.className = 'main';
|
| - mainDiv.id = 'main';
|
| - body.appendChild(mainDiv);
|
| -
|
| - initIme(mainDiv);
|
| - initKeyboard(currentKeyboardLayout, mainDiv);
|
| - initPopupKeyboard(body);
|
| -
|
| - window.onhashchange();
|
| -
|
| - chrome.experimental.input.virtualKeyboard.onTextInputTypeChanged.addListener(
|
| - function(type) {
|
| - var newMode = SHIFT_MODE;
|
| - switch(type) {
|
| - case "text":
|
| - newMode = SHIFT_MODE;
|
| - break;
|
| - case "email":
|
| - case "password":
|
| - case "search":
|
| - case "url":
|
| - newMode = KEY_MODE;
|
| - break;
|
| - case "number":
|
| - case "tel":
|
| - newMode = NUMBER_MODE;
|
| - break;
|
| - default:
|
| - newMode = KEY_MODE;
|
| - break;
|
| - }
|
| - setMode(newMode);
|
| - });
|
| -}
|
| -// TODO(bryeung): would be nice to leave less gutter (without causing
|
| -// rendering issues with floated divs wrapping at some sizes).
|
| -
|
| -/**
|
| - * Switch the keyboard layout based on the current URL hash.
|
| - * @return {void}
|
| - */
|
| -window.onhashchange = function() {
|
| - var old_layout = currentKeyboardLayout;
|
| - var new_layout = location.hash.replace(/^#/, "");
|
| - if (old_layout == new_layout) {
|
| - return;
|
| - }
|
| -
|
| - if (KEYBOARDS[new_layout] === undefined) {
|
| - // Unsupported layout.
|
| - new_layout = "us";
|
| - }
|
| - currentKeyboardLayout = new_layout;
|
| -
|
| - var mainDiv = document.getElementById('main');
|
| - initKeyboard(currentKeyboardLayout, mainDiv);
|
| -
|
| - [new_layout, old_layout].forEach(function(layout) {
|
| - var visible = (layout == new_layout);
|
| - var keyboardDiv = KEYBOARDS[layout]['keyboardDiv'];
|
| - keyboardDiv.className = visible ? 'keyboard' : 'nodisplay';
|
| - var canvas = KEYBOARDS[layout]['canvas'];
|
| - if (canvas !== undefined) {
|
| - if (!visible) {
|
| - canvas.clear();
|
| - }
|
| - }
|
| - if (visible) {
|
| - window.onresize();
|
| - }
|
| - });
|
| -}
|
|
|