Bug 1264623 - Allow for a leading slash in the path to web_accessible_resources, r?kmag
MozReview-Commit-ID: IWbzhs9dpX2
--- a/toolkit/components/extensions/Extension.jsm
+++ b/toolkit/components/extensions/Extension.jsm
@@ -1147,17 +1147,23 @@ Extension.prototype = extend(Object.crea
for (let perm of permissions) {
this.permissions.add(perm);
if (!/^\w+(\.\w+)*$/.test(perm)) {
whitelist.push(perm);
}
}
this.whiteListedHosts = new MatchPattern(whitelist);
- this.webAccessibleResources = new MatchGlobs(manifest.web_accessible_resources || []);
+ // Strip leading slashes from web_accessible_resources.
+ let strippedWebAccessibleResources = [];
+ if (manifest.web_accessible_resources) {
+ strippedWebAccessibleResources = manifest.web_accessible_resources.map(path => path.replace(/^\/+/, ""));
+ }
+
+ this.webAccessibleResources = new MatchGlobs(strippedWebAccessibleResources);
for (let directive in manifest) {
if (manifest[directive] !== null) {
Management.emit("manifest_" + directive, directive, this, manifest);
}
}
let data = Services.ppmm.initialProcessData;
--- a/toolkit/components/extensions/test/mochitest/test_ext_web_accessible_resources.html
+++ b/toolkit/components/extensions/test/mochitest/test_ext_web_accessible_resources.html
@@ -91,17 +91,17 @@ add_task(function* test_web_accessible_r
{
"matches": ["http://example.com/"],
"js": ["content_script.js"],
"run_at": "document_idle",
},
],
"web_accessible_resources": [
- "accessible.html",
+ "/accessible.html",
"wild*.html",
],
},
background: `(${background})()`,
files: {
"content_script.js": `(${contentScript})()`,