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

Unified Diff: third_party/google_input_tools/src/chrome/os/inputview/adapter.js

Issue 828063007: Uprev Google Input Tools. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update extensions schema. Created 5 years, 11 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
Index: third_party/google_input_tools/src/chrome/os/inputview/adapter.js
diff --git a/third_party/google_input_tools/src/chrome/os/inputview/adapter.js b/third_party/google_input_tools/src/chrome/os/inputview/adapter.js
index df60884f0849cefe33b1595e7b9e444148e59032..c5783d8bdc4cbde2fcb76ac920f128fe922e6134 100644
--- a/third_party/google_input_tools/src/chrome/os/inputview/adapter.js
+++ b/third_party/google_input_tools/src/chrome/os/inputview/adapter.js
@@ -34,6 +34,7 @@ var CandidatesBackEvent = i18n.input.chrome.DataSource.CandidatesBackEvent;
var ContextType = i18n.input.chrome.message.ContextType;
var Type = i18n.input.chrome.message.Type;
var Name = i18n.input.chrome.message.Name;
+var SizeSpec = i18n.input.chrome.inputview.SizeSpec;
@@ -73,8 +74,13 @@ i18n.input.chrome.inputview.Adapter = function(readyState) {
/** @private {!goog.events.EventHandler} */
this.handler_ = new goog.events.EventHandler(this);
- this.handler_.listen(document, 'webkitvisibilitychange',
- this.onVisibilityChange_);
+ this.handler_.
+ listen(document, 'webkitvisibilitychange', this.onVisibilityChange_).
+ // When screen rotate, will trigger resize event.
+ listen(window, goog.events.EventType.RESIZE, this.onVisibilityChange_);
+
+ // Notifies the initial visibility change message to background.
+ this.onVisibilityChange_();
};
goog.inherits(i18n.input.chrome.inputview.Adapter,
goog.events.EventTarget);
@@ -109,6 +115,10 @@ Adapter.prototype.isChromeVoxOn = false;
Adapter.prototype.textBeforeCursor = '';
+/** @type {boolean} */
+Adapter.prototype.isQPInputView = false;
+
+
/**
* Whether the background controller is on switching.
*
@@ -326,21 +336,15 @@ Adapter.prototype.onContextFocus_ = function(message) {
/**
- * Intializes the communication to background page.
+ * Initializes the communication to background page.
*
- * @param {string} languageCode The language code.
* @private
*/
-Adapter.prototype.initBackground_ = function(languageCode) {
+Adapter.prototype.initBackground_ = function() {
chrome.runtime.getBackgroundPage((function() {
this.isBgControllerSwitching_ = true;
chrome.runtime.sendMessage(
goog.object.create(Name.TYPE, Type.CONNECT));
- chrome.runtime.sendMessage(goog.object.create(Name.TYPE,
- Type.VISIBILITY_CHANGE, Name.VISIBILITY, !document.webkitHidden));
- if (languageCode) {
- this.setLanguage(languageCode);
- }
}).bind(this));
};
@@ -362,44 +366,54 @@ Adapter.prototype.initialize = function(languageCode) {
}).bind(this));
}
- this.initBackground_(languageCode);
+ this.initBackground_();
var StateType = i18n.input.chrome.inputview.ReadyState.StateType;
if (window.inputview) {
- if (inputview.getKeyboardConfig) {
- inputview.getKeyboardConfig((function(config) {
- this.isA11yMode = !!config['a11ymode'];
- this.isExperimental = !!config['experimental'];
- this.readyState_.markStateReady(StateType.KEYBOARD_CONFIG_READY);
- if (this.readyState_.isReady(StateType.IME_LIST_READY)) {
- this.dispatchEvent(new goog.events.Event(
- i18n.input.chrome.inputview.events.EventType.SETTINGS_READY));
- }
- }).bind(this));
- } else {
+ inputview.getKeyboardConfig((function(config) {
+ this.isA11yMode = !!config['a11ymode'];
+ this.isExperimental = !!config['experimental'];
this.readyState_.markStateReady(StateType.KEYBOARD_CONFIG_READY);
- }
- if (inputview.getInputMethods) {
- inputview.getInputMethods((function(inputMethods) {
- // Only show globe key to switching between IMEs when there are more
- // than one IME.
- this.showGlobeKey = inputMethods.length > 1;
- this.readyState_.markStateReady(StateType.IME_LIST_READY);
- if (this.readyState_.isReady(StateType.KEYBOARD_CONFIG_READY)) {
- this.dispatchEvent(new goog.events.Event(
- i18n.input.chrome.inputview.events.EventType.SETTINGS_READY));
- }
- }).bind(this));
- } else {
+ this.maybeDispatchSettingsReadyEvent_();
+ }).bind(this));
+ inputview.getInputMethods((function(inputMethods) {
+ // Only show globe key to switching between IMEs when there are more
+ // than one IME.
+ this.showGlobeKey = inputMethods.length > 1;
this.readyState_.markStateReady(StateType.IME_LIST_READY);
- }
+ this.maybeDispatchSettingsReadyEvent_();
+ }).bind(this));
+ inputview.getInputMethodConfig((function(config) {
+ this.isQPInputView = !!config['isNewQPInputViewEnabled'];
+ this.readyState_.markStateReady(StateType.INPUT_METHOD_CONFIG_READY);
+ this.maybeDispatchSettingsReadyEvent_();
+ }).bind(this));
} else {
this.readyState_.markStateReady(StateType.IME_LIST_READY);
this.readyState_.markStateReady(StateType.KEYBOARD_CONFIG_READY);
+ this.readyState_.markStateReady(StateType.INPUT_METHOD_CONFIG_READY);
}
- if (this.readyState_.isReady(StateType.KEYBOARD_CONFIG_READY) &&
- this.readyState_.isReady(StateType.IME_LIST_READY)) {
+ this.maybeDispatchSettingsReadyEvent_();
+};
+
+
+/**
+ * Dispatch event SETTINGS_READY if all required bits are flipped.
+ *
+ * @private
+ */
+Adapter.prototype.maybeDispatchSettingsReadyEvent_ = function() {
+ var StateType = i18n.input.chrome.inputview.ReadyState.StateType;
+ var states = [
+ StateType.KEYBOARD_CONFIG_READY,
+ StateType.IME_LIST_READY,
+ StateType.INPUT_METHOD_CONFIG_READY];
+ var ready = true;
+ for (var i = 0; i < states.length; i++) {
+ ready = ready && this.readyState_.isReady(states[i]);
+ }
+ if (ready) {
window.setTimeout((function() {
this.dispatchEvent(new goog.events.Event(
i18n.input.chrome.inputview.events.EventType.SETTINGS_READY));
@@ -459,8 +473,11 @@ Adapter.prototype.onVisibilityChange_ = function() {
this.isVisible = !document.webkitHidden;
this.dispatchEvent(new goog.events.Event(i18n.input.chrome.inputview.
events.EventType.VISIBILITY_CHANGE));
- chrome.runtime.sendMessage(goog.object.create(Name.TYPE,
- Type.VISIBILITY_CHANGE, Name.VISIBILITY, !document.webkitHidden));
+ chrome.runtime.sendMessage(goog.object.create(
+ Name.TYPE, Type.VISIBILITY_CHANGE,
+ Name.VISIBILITY, !document.webkitHidden,
+ Name.IS_EXPERIMENTAL, this.isExperimental,
+ Name.WORKSPACE_HEIGHT, screen.height - window.innerHeight));
};
@@ -594,8 +611,8 @@ Adapter.prototype.onMessage_ = function(request, sender, sendResponse) {
case Type.UPDATE_SETTINGS:
this.onUpdateSettings_(msg);
break;
+ case Type.VOICE_STATE_CHANGE:
case Type.HWT_NETWORK_ERROR:
- case Type.HWT_PRIVACY_INFO:
case Type.FRONT_TOGGLE_LANGUAGE_STATE:
this.dispatchEvent(new i18n.input.chrome.message.Event(type, msg));
break;
@@ -604,13 +621,13 @@ Adapter.prototype.onMessage_ = function(request, sender, sendResponse) {
/**
- * Sends the privacy confirmed message to background and broadcasts it.
+ * Sends the voice state to background.
+ *
+ * @param {boolean} state .
*/
-Adapter.prototype.sendHwtPrivacyConfirmMessage = function() {
- chrome.runtime.sendMessage(
- goog.object.create(Name.TYPE, Type.HWT_PRIVACY_GOT_IT));
- this.dispatchEvent(
- new goog.events.Event(Type.HWT_PRIVACY_GOT_IT));
+Adapter.prototype.sendVoiceViewStateChange = function(state) {
+ chrome.runtime.sendMessage(goog.object.create(
+ Name.TYPE, Type.VOICE_VIEW_STATE_CHANGE, Name.MSG, state));
};

Powered by Google App Engine
This is Rietveld 408576698