Bug 1368152: Part 2 - Move extension policy registration out of ExtensionManagement.jsm. r=aswan,mixedpuppy

MozReview-Commit-ID: Ls1ZvJLcjlR
This commit is contained in:
Kris Maglione
2017-05-26 12:04:18 -07:00
parent 0d5507aebc
commit 89d83c0e1c
3 changed files with 51 additions and 94 deletions

View File

@@ -294,9 +294,13 @@ ExtensionManager = {
}
},
initExtension(data) {
let policy;
if (isContentProcess) {
initExtensionPolicy(data, extension) {
let policy = WebExtensionPolicy.getByID(data.id);
if (!policy) {
let localizeCallback = (
extension ? extension.localize.bind(extension)
: str => extensions.get(policy).localize(str));
policy = new WebExtensionPolicy({
id: data.id,
mozExtensionHostname: data.uuid,
@@ -308,7 +312,7 @@ ExtensionManager = {
contentSecurityPolicy: data.manifest.content_security_policy,
localizeCallback: str => extensions.get(policy).localize(str),
localizeCallback,
backgroundScripts: (data.manifest.background &&
data.manifest.background.scripts),
@@ -317,11 +321,13 @@ ExtensionManager = {
});
policy.active = true;
} else {
policy = WebExtensionPolicy.getByID(data.id);
policy.initData = data;
}
return policy;
},
policy.initData = data;
initExtension(data) {
let policy = this.initExtensionPolicy(data);
DocumentManager.initExtension(policy);
},
@@ -376,6 +382,12 @@ ExtensionProcessScript.prototype = {
classID: Components.ID("{21f9819e-4cdf-49f9-85a0-850af91a5058}"),
QueryInterface: XPCOMUtils.generateQI([Ci.mozIExtensionProcessScript]),
get wrappedJSObject() { return this; },
initExtension(data, extension) {
return ExtensionManager.initExtensionPolicy(data, extension);
},
initExtensionDocument(policy, doc) {
if (DocumentManager.globals.has(getMessageManager(doc.defaultView))) {
DocumentManager.loadInto(policy, doc.defaultView);