зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1298716 - Serialize extension in ExtensionTestUtils.loadExtension r=billm
MozReview-Commit-ID: BUK2QnMmXp7 --HG-- extra : rebase_source : f98d167db8067a59666c1b260e2c031fb6fbbbae
This commit is contained in:
Родитель
64b87bb682
Коммит
105b7c01d0
|
@ -83,6 +83,23 @@ ExtensionTestUtils.loadExtension = function(ext)
|
|||
},
|
||||
};
|
||||
|
||||
// Mimic serialization of functions as done in `Extension.generateXPI` and
|
||||
// `Extension.generateZipFile` because functions are dropped when `ext` object
|
||||
// is sent to the main process via the message manager.
|
||||
ext = Object.assign({}, ext);
|
||||
if (ext.files) {
|
||||
ext.files = Object.assign({}, ext.files);
|
||||
for (let filename of Object.keys(ext.files)) {
|
||||
let file = ext.files[filename];
|
||||
if (typeof file == "function") {
|
||||
ext.files[filename] = `(${file})();`
|
||||
}
|
||||
}
|
||||
}
|
||||
if (typeof ext.background == "function") {
|
||||
ext.background = `(${ext.background})();`
|
||||
}
|
||||
|
||||
var extension = SpecialPowers.loadExtension(ext, handler);
|
||||
|
||||
registerCleanup(() => {
|
||||
|
|
Загрузка…
Ссылка в новой задаче