Browse Source

Use meaningful name for extensionId

Cheng Zhao 9 years ago
parent
commit
de001a9bbf
2 changed files with 6 additions and 4 deletions
  1. 5 3
      lib/browser/chrome-extension.js
  2. 1 1
      lib/renderer/chrome-api.js

+ 5 - 3
lib/browser/chrome-extension.js

@@ -14,13 +14,16 @@ const objectValues = function (object) {
 const manifestMap = {}  // extensionId => manifest
 const manifestNameMap = {}  // name => manifest
 
-let nextExtensionId = 0
+const generateExtensionIdFromName = function (name) {
+  return name.replace(/[\W_]+/g, '-').toLowerCase()
+}
 
 // Create or get manifest object from |srcDirectory|.
 const getManifestFromPath = function (srcDirectory) {
   const manifest = JSON.parse(fs.readFileSync(path.join(srcDirectory, 'manifest.json')))
   if (!manifestNameMap[manifest.name]) {
-    const extensionId = `extension-${++nextExtensionId}`
+    const extensionId = generateExtensionIdFromName(manifest.name)
+    console.log(extensionId)
     manifestMap[extensionId] = manifestNameMap[manifest.name] = manifest
     Object.assign(manifest, {
       srcDirectory: srcDirectory,
@@ -238,7 +241,6 @@ app.once('ready', function () {
   const chromeExtensionHandler = function (request, callback) {
     const parsed = url.parse(request.url)
     if (!parsed.hostname || !parsed.path) return callback()
-    if (!/extension-\d+/.test(parsed.hostname)) return callback()
 
     const manifest = manifestMap[parsed.hostname]
     if (!manifest) return callback()

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

@@ -165,7 +165,7 @@ exports.injectTo = function (extensionId, isBackgroundPage, context) {
       if (responseCallback) {
         console.error('responseCallback is not supported')
       }
-      ipcRenderer.send(`CHROME_TABS_SEND_MESSAGE`, tabId, extensionId, isBackgroundPage, message)
+      ipcRenderer.send('CHROME_TABS_SEND_MESSAGE', tabId, extensionId, isBackgroundPage, message)
     },
 
     onUpdated: new Event(),