| Index: third_party/WebKit/Source/devtools/front_end/terminal/xterm.js/src/EventEmitter.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/terminal/xterm.js/src/EventEmitter.js b/third_party/WebKit/Source/devtools/front_end/terminal/xterm.js/src/EventEmitter.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b17fbc77929e004846765c845398e856c9079c7b
|
| --- /dev/null
|
| +++ b/third_party/WebKit/Source/devtools/front_end/terminal/xterm.js/src/EventEmitter.js
|
| @@ -0,0 +1,64 @@
|
| +/**
|
| + * EventEmitter
|
| + */
|
| +
|
| +function EventEmitter() {
|
| + this._events = this._events || {};
|
| +}
|
| +
|
| +EventEmitter.prototype.addListener = function(type, listener) {
|
| + this._events[type] = this._events[type] || [];
|
| + this._events[type].push(listener);
|
| +};
|
| +
|
| +EventEmitter.prototype.on = EventEmitter.prototype.addListener;
|
| +
|
| +EventEmitter.prototype.removeListener = function(type, listener) {
|
| + if (!this._events[type]) return;
|
| +
|
| + var obj = this._events[type]
|
| + , i = obj.length;
|
| +
|
| + while (i--) {
|
| + if (obj[i] === listener || obj[i].listener === listener) {
|
| + obj.splice(i, 1);
|
| + return;
|
| + }
|
| + }
|
| +};
|
| +
|
| +EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
|
| +
|
| +EventEmitter.prototype.removeAllListeners = function(type) {
|
| + if (this._events[type]) delete this._events[type];
|
| +};
|
| +
|
| +EventEmitter.prototype.once = function(type, listener) {
|
| + var self = this;
|
| + function on() {
|
| + var args = Array.prototype.slice.call(arguments);
|
| + this.removeListener(type, on);
|
| + return listener.apply(this, args);
|
| + }
|
| + on.listener = listener;
|
| + return this.on(type, on);
|
| +};
|
| +
|
| +EventEmitter.prototype.emit = function(type) {
|
| + if (!this._events[type]) return;
|
| +
|
| + var args = Array.prototype.slice.call(arguments, 1)
|
| + , obj = this._events[type]
|
| + , l = obj.length
|
| + , i = 0;
|
| +
|
| + for (; i < l; i++) {
|
| + obj[i].apply(this, args);
|
| + }
|
| +};
|
| +
|
| +EventEmitter.prototype.listeners = function(type) {
|
| + return this._events[type] = this._events[type] || [];
|
| +};
|
| +
|
| +export { EventEmitter };
|
|
|