Source code

Revision control

Copy as Markdown

Other Tools

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, {
Interactions: "resource:///modules/Interactions.sys.mjs",
});
/**
* Receives messages from InteractionsChild and passes them to the appropriate
* interactions object.
*/
export class InteractionsParent extends JSWindowActorParent {
receiveMessage(msg) {
switch (msg.name) {
case "Interactions:PageLoaded":
lazy.Interactions.registerNewInteraction(
this.browsingContext.embedderElement,
msg.data
);
break;
case "Interactions:PageHide":
lazy.Interactions.registerEndOfInteraction(
// This could be null if the browsing context has already gone away,
// e.g. on tab close.
this.browsingContext?.embedderElement
);
break;
}
}
}