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

Unified Diff: chrome/browser/resources/keyboard/main.js

Issue 10399046: Remove virtual keyboard support. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: final rebase Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/resources/keyboard/main.css ('k') | chrome/browser/resources/keyboard/manifest.json » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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();
- }
- });
-}
« no previous file with comments | « chrome/browser/resources/keyboard/main.css ('k') | chrome/browser/resources/keyboard/manifest.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698