mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-21 07:47:32 +09:00
FUCK THIS SHIT (Fix WebExtension message cloning and image bitmap compatibility)
This commit is contained in:
parent
e98942c307
commit
f3ce3c21ee
2 changed files with 33 additions and 13 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue