Browse Source

Extract Event clas to own file

Kevin Sawicki 8 years ago
parent
commit
3aecb11094

+ 1 - 0
filenames.gypi

@@ -63,6 +63,7 @@
       'lib/renderer/api/remote.js',
       'lib/renderer/api/screen.js',
       'lib/renderer/api/web-frame.js',
+      'lib/renderer/extensions/event.js',
       'lib/renderer/extensions/i18n.js',
       'lib/renderer/extensions/storage.js',
       'lib/renderer/extensions/web-navigation.js',

+ 1 - 23
lib/renderer/chrome-api.js

@@ -1,31 +1,9 @@
 const {ipcRenderer} = require('electron')
+const Event = require('./extensions/event')
 const url = require('url')
 
 let nextId = 0
 
-class Event {
-  constructor () {
-    this.listeners = []
-  }
-
-  addListener (callback) {
-    this.listeners.push(callback)
-  }
-
-  removeListener (callback) {
-    const index = this.listeners.indexOf(callback)
-    if (index !== -1) {
-      this.listeners.splice(index, 1)
-    }
-  }
-
-  emit (...args) {
-    for (const listener of this.listeners) {
-      listener(...args)
-    }
-  }
-}
-
 class Tab {
   constructor (tabId) {
     this.id = tabId

+ 24 - 0
lib/renderer/extensions/event.js

@@ -0,0 +1,24 @@
+class Event {
+  constructor () {
+    this.listeners = []
+  }
+
+  addListener (callback) {
+    this.listeners.push(callback)
+  }
+
+  removeListener (callback) {
+    const index = this.listeners.indexOf(callback)
+    if (index !== -1) {
+      this.listeners.splice(index, 1)
+    }
+  }
+
+  emit (...args) {
+    for (const listener of this.listeners) {
+      listener(...args)
+    }
+  }
+}
+
+module.exports = Event

+ 3 - 17
lib/renderer/extensions/web-navigation.js

@@ -1,19 +1,5 @@
-exports.onBeforeNavigate = {
-  addListener () {
+const Event = require('./event')
 
-  },
+exports.onBeforeNavigate = new Event()
 
-  removeListener () {
-
-  }
-}
-
-exports.onCompleted = {
-  addListener () {
-
-  },
-
-  removeListener () {
-
-  }
-}
+exports.onCompleted = new Event()