Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 var connection; | |
| 5 var mojo_api; | |
| 6 var input_focused_event; | |
| 7 | |
| 8 if (!chrome.virtualKeyboardPrivate) { | |
| 9 define('main', [ | |
| 10 'mojo/public/js/bindings/connection', | |
| 11 'ui/keyboard/webui/keyboard.mojom', | |
|
Sam McNally
2014/06/26 11:04:40
You'll need to depend on 'content/public/renderer/
sadrul
2014/08/01 22:41:47
Done.
| |
| 12 ], function(connector, keyboard) { | |
| 13 'use strict'; | |
| 14 function KeyboardImpl(kbd) { | |
| 15 console.log('Creating KeyboardImpl'); | |
| 16 this.keyboard_ = kbd; | |
| 17 mojo_api = this; | |
| 18 } | |
| 19 | |
| 20 KeyboardImpl.prototype = Object.create(keyboard.KeyboardAPIStub.prototype); | |
| 21 | |
| 22 KeyboardImpl.prototype.onTextInputTypeChanged = function(input_type) { | |
| 23 console.log('Text input changed: ' + input_type); | |
| 24 input_focused_event.forEach(function(listener) { | |
| 25 listener({type: input_type}); | |
| 26 }); | |
| 27 }; | |
| 28 | |
| 29 return function(handle) { | |
|
Sam McNally
2014/06/26 11:04:40
The caller will no longer pass in the handle. You'
sadrul
2014/08/01 22:41:47
Done.
| |
| 30 connection = connector.Connection(handle, KeyboardImpl, | |
| 31 keyboard.KeyboardUIHandlerMojoProxy); | |
| 32 }; | |
| 33 }); | |
| 34 | |
| 35 chrome.virtualKeyboardPrivate = {}; | |
| 36 chrome.virtualKeyboardPrivate.sendKeyEvent = function(event) { | |
| 37 if (!mojo_api) | |
| 38 return; | |
| 39 console.log('sending key event: ' + event.type); | |
| 40 mojo_api.keyboard_.sendKeyEvent(event.type, | |
| 41 event.charValue, | |
| 42 event.keyCode, | |
| 43 event.keyName, | |
| 44 event.modifiers); | |
| 45 }; | |
| 46 chrome.virtualKeyboardPrivate.hideKeyboard = function() { | |
| 47 if (!mojo_api) | |
| 48 return; | |
| 49 mojo_api.keyboard_.hideKeyboard(); | |
| 50 }; | |
| 51 chrome.virtualKeyboardPrivate.moveCursor = function() {}; | |
| 52 chrome.virtualKeyboardPrivate.lockKeyboard = function() {}; | |
| 53 chrome.virtualKeyboardPrivate.keyboardLoaded = function() {}; | |
| 54 chrome.virtualKeyboardPrivate.getKeyboardConfig = function() {}; | |
| 55 | |
| 56 function BrowserEvent() { | |
| 57 this.listeners_ = []; | |
| 58 }; | |
| 59 | |
| 60 BrowserEvent.prototype.addListener = function(callback) { | |
| 61 this.listeners_.push(callback); | |
| 62 }; | |
| 63 | |
| 64 BrowserEvent.prototype.forEach = function(callback) { | |
| 65 for (var i = 0; i < this.listeners_.length; ++i) | |
| 66 callback(this.listeners_[i]); | |
| 67 }; | |
| 68 | |
| 69 input_focused_event = new BrowserEvent; | |
| 70 chrome.virtualKeyboardPrivate.onTextInputBoxFocused = input_focused_event; | |
| 71 } | |
| OLD | NEW |