| Index: remoting/webapp/base/js/base.js
|
| diff --git a/remoting/webapp/base/js/base.js b/remoting/webapp/base/js/base.js
|
| index a357fd933a4a72f8d1e9ef8a7c1a10d76d97ad20..407953b3ae863d10fcea6089b51beb406bf6bec4 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();
|
|
|