| Index: remoting/webapp/base/js/base.js
|
| diff --git a/remoting/webapp/base/js/base.js b/remoting/webapp/base/js/base.js
|
| index 8111174821a0ccff799d31e22cf87a07d7bca28c..86c91565bb9f1907eaa792dbafeb4dcb5f0e187f 100644
|
| --- a/remoting/webapp/base/js/base.js
|
| +++ b/remoting/webapp/base/js/base.js
|
| @@ -270,6 +270,29 @@ base.Promise.negate = function(promise) {
|
| };
|
|
|
| /**
|
| + * Converts a |method| with callbacks into a Promise.
|
| + *
|
| + * @param {Function} method
|
| + * @param {Array} params
|
| + * @param {*=} opt_context
|
| + * @param {boolean=} opt_hasErrorHandler whether the method has an error handler
|
| + * @return {Promise}
|
| + */
|
| +base.Promise.as = function(method, params, opt_context, opt_hasErrorHandler) {
|
| + return new Promise(function(resolve, reject) {
|
| + params.push(resolve);
|
| + if (opt_hasErrorHandler) {
|
| + params.push(reject);
|
| + }
|
| + try {
|
| + method.apply(opt_context, params);
|
| + } catch (/** @type {*} */ e) {
|
| + reject(e);
|
| + }
|
| + });
|
| +};
|
| +
|
| +/**
|
| * A mixin for classes with events.
|
| *
|
| * For example, to create an alarm event for SmokeDetector:
|
|
|