diff --git a/lib/browser/chrome-extension.js b/lib/browser/chrome-extension.js index 233f7f1ce8..775a31d2d0 100644 --- a/lib/browser/chrome-extension.js +++ b/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() diff --git a/lib/renderer/chrome-api.js b/lib/renderer/chrome-api.js index a7a216da2a..61fce14c5b 100644 --- a/lib/renderer/chrome-api.js +++ b/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(),