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

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

Issue 674153004: Add third_party/google-input-tools: Take 2 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@google_input_tools
Patch Set: Created 6 years, 2 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/readystate.js
diff --git a/third_party/google_input_tools/src/chrome/os/inputview/readystate.js b/third_party/google_input_tools/src/chrome/os/inputview/readystate.js
new file mode 100644
index 0000000000000000000000000000000000000000..6a633b1633719872dd569d9e93c94eb0bd9a28cf
--- /dev/null
+++ b/third_party/google_input_tools/src/chrome/os/inputview/readystate.js
@@ -0,0 +1,87 @@
+// Copyright 2014 The ChromeOS IME Authors. All Rights Reserved.
+// limitations under the License.
+// See the License for the specific language governing permissions and
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// distributed under the License is distributed on an "AS-IS" BASIS,
+// Unless required by applicable law or agreed to in writing, software
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// You may obtain a copy of the License at
+// you may not use this file except in compliance with the License.
+// Licensed under the Apache License, Version 2.0 (the "License");
+//
+goog.provide('i18n.input.chrome.inputview.ReadyState');
+
+
+
+goog.scope(function() {
+/**
+ * The system ready state which mainains a state bit map.
+ * Inputview controller uses this to determine whether the system is ready to
+ * render the UI.
+ *
+ * @constructor
+ */
+i18n.input.chrome.inputview.ReadyState = function() {
+};
+var ReadyState = i18n.input.chrome.inputview.ReadyState;
+
+
+/**
+ * The state type.
+ *
+ * @enum {number}
+ */
+ReadyState.StateType = {
+ IME_LIST_READY: 1,
+ KEYBOARD_CONFIG_READY: 2,
+ LAYOUT_READY: 4,
+ LAYOUT_CONFIG_READY: 8,
+ M17N_LAYOUT_READY: 16
+};
+
+
+/**
+ * The internal ready state bit map.
+ *
+ * @private {number}
+ */
+ReadyState.prototype.state_ = 0;
+
+
+/**
+ * Gets whether the system is ready.
+ *
+ * @return {boolean} Whether the system is ready.
+ */
+ReadyState.prototype.isAllReady = function() {
+ return !!(this.state_ & (
+ ReadyState.StateType.IME_LIST_READY |
+ ReadyState.StateType.KEYBOARD_CONFIG_READY |
+ ReadyState.StateType.LAYOUT_READY |
+ ReadyState.StateType.LAYOUT_CONFIG_READY |
+ ReadyState.StateType.M17N_LAYOUT_READY));
+};
+
+
+/**
+ * Gets whether a specific state type is ready.
+ *
+ * @param {ReadyState.StateType} stateType .
+ * @return {boolean} Whether is ready.
+ */
+ReadyState.prototype.isReady = function(stateType) {
+ return !!(this.state_ & stateType);
+};
+
+
+/**
+ * Sets state ready for the given state type.
+ *
+ * @param {ReadyState.StateType} stateType .
+ */
+ReadyState.prototype.markStateReady = function(stateType) {
+ this.state_ |= stateType;
+};
+}); // goog.scope

Powered by Google App Engine
This is Rietveld 408576698