41 lines
1.2 KiB
JavaScript
41 lines
1.2 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"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"
|
|
);
|
|
});
|