diff --git a/app/common/state/extensionState.js b/app/common/state/extensionState.js index 32fa5f0fd22..68cfa50022b 100644 --- a/app/common/state/extensionState.js +++ b/app/common/state/extensionState.js @@ -5,6 +5,7 @@ const { makeImmutable } = require('./immutableUtil') const Immutable = require('immutable') const platformUtil = require('../lib/platformUtil') +const {chromeUrl} = require('../../../js/lib/appUrlUtil') const browserActionDefaults = Immutable.fromJS({ tabs: {} @@ -77,7 +78,7 @@ const extensionState = { browserActionBackgroundImage: (browserAction, tabId) => { tabId = tabId ? tabId.toString() : '-1' let path = browserAction.getIn(['tabs', tabId, 'path']) || browserAction.get('path') - let basePath = browserAction.get('base_path') + let basePath = chromeUrl(browserAction.get('base_path')) if (path && basePath) { // Older extensions may provide a string path if (typeof path === 'string') { diff --git a/app/extensions.js b/app/extensions.js index 8509e5d5771..3bd1aa6641e 100644 --- a/app/extensions.js +++ b/app/extensions.js @@ -3,7 +3,7 @@ const contextMenus = require('./browser/extensions/contextMenus') const extensionActions = require('./common/actions/extensionActions') const config = require('../js/constants/config') const appConfig = require('../js/constants/appConfig') -const {chromeUrl} = require('../js/lib/appUrlUtil') +const {fileUrl} = require('../js/lib/appUrlUtil') const {getExtensionsPath, getBraveExtUrl, getBraveExtIndexHTML} = require('../js/lib/appUrlUtil') const {getSetting} = require('../js/settings') const settings = require('../js/constants/settings') @@ -408,7 +408,7 @@ module.exports.init = () => { extensionInfo.setInstallInfo(installInfo.id, installInfo) installInfo.filePath = installInfo.base_path - installInfo.base_path = chromeUrl(installInfo.base_path) + installInfo.base_path = fileUrl(installInfo.base_path) extensionActions.extensionInstalled(installInfo.id, installInfo) extensionActions.extensionEnabled(installInfo.id) diff --git a/js/lib/appUrlUtil.js b/js/lib/appUrlUtil.js index 24f3b7f5cfc..3543b9c83f3 100644 --- a/js/lib/appUrlUtil.js +++ b/js/lib/appUrlUtil.js @@ -24,11 +24,11 @@ module.exports.fileUrl = (filePath) => { return encodeURI('file://' + fileUrlPath) } -module.exports.chromeUrl = (filePath = '') => { - filePath = module.exports.fileUrl(filePath) - filePath = filePath.replace('file://', 'chrome://brave') - - return filePath +/** + * Converts file URL to chrome:// URL + */ +module.exports.chromeUrl = (fileUrl = '') => { + return fileUrl.replace('file://', 'chrome://brave') } /** diff --git a/test/unit/lib/appUrlUtilTest.js b/test/unit/lib/appUrlUtilTest.js index 083e8f746fc..12d13044ad3 100644 --- a/test/unit/lib/appUrlUtilTest.js +++ b/test/unit/lib/appUrlUtilTest.js @@ -81,7 +81,7 @@ describe('appUrlUtil test', function () { }) describe('chromeUrl', function () { it('can convert file paths', function () { - const filePath = '/users/bbondy/space here/tesT.html' + const filePath = 'file:///users/bbondy/space%20here/tesT.html' const chromeUrl = appUrlUtil.chromeUrl(filePath) const expected = 'chrome://brave/users/bbondy/space%20here/tesT.html' assert.equal(chromeUrl, expected)