Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

/* Any copyright is dedicated to the Public Domain.
"use strict";
add_task(async function sendToAttachedTarget({ client }) {
const { Target } = client;
const { targetInfo } = await openTab(Target);
const attachedToTarget = Target.attachedToTarget();
const { sessionId } = await Target.attachToTarget({
targetId: targetInfo.targetId,
});
await attachedToTarget;
info("Target attached");
const id = 1;
const message = JSON.stringify({
id,
method: "Page.navigate",
params: {
url: toDataURL("new-page"),
},
});
info("Calling Target.sendMessageToTarget");
const onResponse = Target.receivedMessageFromTarget();
await Target.sendMessageToTarget({ sessionId, message });
const response = await onResponse;
info("Message from target received");
ok(!!response, "The response is not empty");
is(response.sessionId, sessionId, "The response is from the same session");
const responseMessage = JSON.parse(response.message);
is(responseMessage.id, id, "The response is from the same session");
ok(
!!responseMessage.result.frameId,
"received the `frameId` out of `Page.navigate` request"
);
});