| Index: remoting/webapp/base/js/base.js
|
| diff --git a/remoting/webapp/base/js/base.js b/remoting/webapp/base/js/base.js
|
| index bbf29107929d9b84ee44317782f146d5f664d76b..6f4ae0528190051856439efe1b60cbbf1a9dfcd8 100644
|
| --- a/remoting/webapp/base/js/base.js
|
| +++ b/remoting/webapp/base/js/base.js
|
| @@ -74,6 +74,35 @@ base.Disposables = function(var_args) {
|
| this.disposables_ = Array.prototype.slice.call(arguments, 0);
|
| };
|
|
|
| +/**
|
| + * @param {...base.Disposable} var_args
|
| + */
|
| +base.Disposables.prototype.add = function(var_args) {
|
| + var disposables = Array.prototype.slice.call(arguments, 0);
|
| + for (var i = 0; i < disposables.length; i++) {
|
| + var current = /** @type {base.Disposable} */ (disposables[i]);
|
| + if (this.disposables_.indexOf(current) === -1) {
|
| + this.disposables_.push(current);
|
| + }
|
| + }
|
| +};
|
| +
|
| +/**
|
| + * @param {...base.Disposable} var_args Dispose |var_args| and remove
|
| + * them from the current object.
|
| + */
|
| +base.Disposables.prototype.remove = function(var_args) {
|
| + var disposables = Array.prototype.slice.call(arguments, 0);
|
| + for (var i = 0; i < disposables.length; i++) {
|
| + var disposable = /** @type {base.Disposable} */ (disposables[i]);
|
| + var index = this.disposables_.indexOf(disposable);
|
| + if(index !== -1) {
|
| + this.disposables_.splice(index, 1);
|
| + disposable.dispose();
|
| + }
|
| + }
|
| +};
|
| +
|
| base.Disposables.prototype.dispose = function() {
|
| for (var i = 0; i < this.disposables_.length; i++) {
|
| this.disposables_[i].dispose();
|
|
|