VulpesOS/host/actors/WebInputParent.sys.mjs
2026-10-22 20:42:26 +02:00

22 lines
867 B
JavaScript

import {Views} from 'resource://vulpes/host/Views.sys.mjs';
import {Runtime} from 'resource://vulpes/host/Runtime.sys.mjs';
export class WebInputParent extends JSWindowActorParent {
receiveMessage(message) {
if (message.name === 'Vulpes:WebActivate') {
if (Runtime.identity(this) || !Runtime.inputIdentity(this)) return;
for (const entry of Views.entries.values()) {
if (entry.browser.browsingContext === this.browsingContext.top &&
entry.browser.ownerDocument.hasFocus()) {
entry.browser.focus();
break;
}
}
return;
}
if (message.name !== 'Vulpes:InputFocus') throw Error('METHOD_NOT_SUPPORTED');
if (Runtime.identity(this)) return; // Bundled apps already use VulpesChild.
Runtime.input.changed(this, message.data);
}
didDestroy() { Runtime.input.cleanup(this); }
}