Chromium Code Reviews| Index: remoting/webapp/crd/js/ui_mode.js |
| diff --git a/remoting/webapp/crd/js/ui_mode.js b/remoting/webapp/crd/js/ui_mode.js |
| index 21a8c73826d657b87ecf73dbfcf0e7dea26b4dd1..ea8d2afd3723fe0b80d135da062de8b72313e755 100644 |
| --- a/remoting/webapp/crd/js/ui_mode.js |
| +++ b/remoting/webapp/crd/js/ui_mode.js |
| @@ -88,13 +88,13 @@ remoting.updateModalUi = function(mode, attr) { |
| // Hide elements first so that we don't end up trying to show two modal |
| // dialogs at once (which would break keyboard-navigation confinement). |
| for (var i = 0; i < elements.length; ++i) { |
| - var element = /** @type {Element} */ elements[i]; |
| + var element = /** @type {Element} */ (elements[i]); |
| if (!remoting.hasModeAttribute(element, attr, modes)) { |
| element.hidden = true; |
| } |
| } |
| for (var i = 0; i < elements.length; ++i) { |
| - var element = /** @type {Element} */ elements[i]; |
| + var element = /** @type {Element} */ (elements[i]); |
| if (remoting.hasModeAttribute(element, attr, modes)) { |
| element.hidden = false; |
| var autofocusNode = element.querySelector('[autofocus]'); |
| @@ -162,26 +162,41 @@ remoting.getMajorMode = function() { |
| * whether or not the user has already dismissed it. |
| * |
| * @param {string} mode |
| - * @param {!Object} items |
| + * @param {Object<?,string>} items |
| */ |
| remoting.showOrHideCallback = function(mode, items) { |
| // Get the first element of a dictionary or array, without needing to know |
| // the key. |
| + var obj = /** @type {!Object} */(items); |
| /** @type {string} */ |
| - var key = Object.keys(items)[0]; |
| + var key = Object.keys(obj)[0]; |
| var visited = !!items[key]; |
| document.getElementById(mode + '-first-run').hidden = visited; |
| document.getElementById(mode + '-content').hidden = !visited; |
| }; |
| +/** |
| + * @param {Object<?,string>} items |
| + */ |
| +remoting.showOrHideCallbackIT2Me = function(items) { |
| + remoting.showOrHideCallback('it2me', items); |
| +} |
| + |
| +/** |
| + * @param {Object<?,string>} items |
| + */ |
| +remoting.showOrHideCallbackMe2Me = function(items) { |
| + remoting.showOrHideCallback('me2me', items); |
| +} |
| + |
| remoting.showOrHideIT2MeUi = function() { |
| chrome.storage.local.get(remoting.kIT2MeVisitedStorageKey, |
| - remoting.showOrHideCallback.bind(null, 'it2me')); |
| + remoting.showOrHideCallbackIT2Me); |
|
garykac
2015/01/12 20:22:37
It had trouble with the bind, so this removes the
|
| }; |
| remoting.showOrHideMe2MeUi = function() { |
| chrome.storage.local.get(remoting.kMe2MeVisitedStorageKey, |
| - remoting.showOrHideCallback.bind(null, 'me2me')); |
| + remoting.showOrHideCallbackMe2Me); |
| }; |
| remoting.showIT2MeUiAndSave = function() { |
| @@ -214,10 +229,10 @@ remoting.resetInfographics = function() { |
| remoting.initModalDialogs = function() { |
| var dialogs = document.querySelectorAll('.kd-modaldialog'); |
| var observer = new MutationObserver(confineOrRestoreFocus_); |
| - var options = { |
| + var options = /** @type {MutationObserverInit} */({ |
| subtree: false, |
| attributes: true |
| - }; |
| + }); |
| for (var i = 0; i < dialogs.length; ++i) { |
| observer.observe(dialogs[i], options); |
| } |
| @@ -230,9 +245,9 @@ remoting.initModalDialogs = function() { |
| function confineOrRestoreFocus_(mutations) { |
| // The list of mutations can include duplicates, so reduce it to a canonical |
| // show/hide list. |
| - /** @type {Array.<Element>} */ |
| + /** @type {Array.<Node>} */ |
| var shown = []; |
| - /** @type {Array.<Element>} */ |
| + /** @type {Array.<Node>} */ |
| var hidden = []; |
| for (var i = 0; i < mutations.length; ++i) { |
| var mutation = mutations[i]; |
| @@ -251,7 +266,7 @@ function confineOrRestoreFocus_(mutations) { |
| if (hidden.length != 0) { |
| var elements = document.querySelectorAll('[' + kSavedAttributeName + ']'); |
| for (var i = 0 ; i < elements.length; ++i) { |
| - var element = /** @type {Element} */ elements[i]; |
| + var element = /** @type {Element} */ (elements[i]); |
| element.tabIndex = element.getAttribute(kSavedAttributeName); |
| element.removeAttribute(kSavedAttributeName); |
| } |
| @@ -263,7 +278,7 @@ function confineOrRestoreFocus_(mutations) { |
| var disable = document.querySelectorAll(selector); |
| var except = shown[0].querySelectorAll(selector); |
| for (var i = 0; i < disable.length; ++i) { |
| - var element = /** @type {Element} */ disable[i]; |
| + var element = /** @type {Element} */ (disable[i]); |
| var removeFromKeyboardNavigation = true; |
| for (var j = 0; j < except.length; ++j) { // No indexOf on NodeList |
| if (element == except[j]) { |