FUCK THIS SHIT (Fix WebExtension message cloning and image bitmap compatibility)

This commit is contained in:
wuggy 2026-09-19 05:25:53 -07:00
commit f3ce3c21ee
2 changed files with 33 additions and 13 deletions

View file

@ -302,7 +302,12 @@ function makeMessageCloneable(value, seen = new Set()) {
}
seen.add(value);
let className = Cu.getClassName(value, true);
let className;
try {
className = Cu.getClassName(value, true);
} catch (e) {
return undefined;
}
if (className == "Array") {
return value.map(item => makeMessageCloneable(item, seen));
}
@ -334,6 +339,11 @@ function sendMessageWithCloneFallback(target, name, data) {
}
this.MessageChannel = {
// Keep direct extension API messages on the clone-safe UXP path too.
sendAsyncMessage(target, name, data) {
sendMessageWithCloneFallback(target, name, data);
},
init() {
Services.obs.addObserver(this, "message-manager-close", false);
Services.obs.addObserver(this, "message-manager-disconnect", false);