| Index: remoting/webapp/browser_test/timeout_waiter.js
|
| diff --git a/remoting/webapp/browser_test/timeout_waiter.js b/remoting/webapp/browser_test/timeout_waiter.js
|
| index 2bb7e70eb4cf4f4d0b357bc313ac9eae156e3f4a..fd75ada23172bf6723614541d32e1650467cb350 100644
|
| --- a/remoting/webapp/browser_test/timeout_waiter.js
|
| +++ b/remoting/webapp/browser_test/timeout_waiter.js
|
| @@ -19,7 +19,7 @@ browserTest.Timeout = {
|
| DEFAULT: 5000
|
| };
|
|
|
| -/** @interface */
|
| +/** @constructor */
|
| browserTest.Predicate = function() {};
|
|
|
| /** @return {boolean} */
|
| @@ -43,12 +43,12 @@ browserTest.waitFor = function(predicate, opt_timeout) {
|
| opt_timeout = browserTest.Timeout.DEFAULT;
|
| }
|
|
|
| - var timeout = /** @type {number} */ opt_timeout;
|
| + var timeout = /** @type {number} */ (opt_timeout);
|
| var end = Number(Date.now()) + timeout;
|
| var testPredicate = function() {
|
| if (predicate.evaluate()) {
|
| console.log(predicate.description() + ' satisfied.');
|
| - fulfill();
|
| + fulfill(true);
|
| } else if (Date.now() >= end) {
|
| reject(new Error('Timed out (' + opt_timeout + 'ms) waiting for ' +
|
| predicate.description()));
|
| @@ -62,43 +62,37 @@ browserTest.waitFor = function(predicate, opt_timeout) {
|
| };
|
|
|
| /**
|
| - * @suppress {checkTypes}
|
| * @param {string} id
|
| * @return {browserTest.Predicate}
|
| */
|
| browserTest.isVisible = function(id) {
|
| - /** @type {browserTest.Predicate} */
|
| - return {
|
| - evaluate: function() {
|
| - /** @type {HTMLElement} */
|
| - var element = document.getElementById(id);
|
| - browserTest.expect(Boolean(element), 'No such element: ' + id);
|
| - return element.getBoundingClientRect().width !== 0;
|
| - },
|
| - description: function() {
|
| - return 'isVisible(' + id + ')';
|
| - }
|
| + var pred = new browserTest.Predicate();
|
| + pred.evaluate = function() {
|
| + /** @type {HTMLElement} */
|
| + var element = document.getElementById(id);
|
| + browserTest.expect(Boolean(element), 'No such element: ' + id);
|
| + return element.getBoundingClientRect().width !== 0;
|
| + };
|
| + pred.description = function() {
|
| + return 'isVisible(' + id + ')';
|
| };
|
| + return pred;
|
| };
|
|
|
| /**
|
| - * @suppress {checkTypes}
|
| * @param {string} id
|
| * @return {browserTest.Predicate}
|
| */
|
| browserTest.isEnabled = function(id) {
|
| -
|
| - /** @type {browserTest.Predicate} */
|
| - return {
|
| - evaluate: function() {
|
| - /** @type {HTMLElement} */
|
| - var element = document.getElementById(id);
|
| - browserTest.expect(Boolean(element), 'No such element: ' + id);
|
| - return !element.disabled;
|
| - },
|
| - description: function() {
|
| - return 'isEnabled(' + id + ')';
|
| - }
|
| + var pred = new browserTest.Predicate();
|
| + pred.evaluate = function() {
|
| + /** @type {Element} */
|
| + var element = document.getElementById(id);
|
| + browserTest.expect(Boolean(element), 'No such element: ' + id);
|
| + return !element.disabled;
|
| + };
|
| + pred.description = function() {
|
| + return 'isEnabled(' + id + ')';
|
| };
|
| + return pred;
|
| };
|
| -
|
|
|