推进 INI 面板 shell handoff control-page mount workflow helper
This commit is contained in:
@@ -89,6 +89,7 @@ TOOL_TABLE = browser-shell-tool.tbl
|
||||
!launchApi?.getShellSessionHandoffMountDomReadiness ||
|
||||
!launchApi?.renderShellSessionHandoffMountState ||
|
||||
!launchApi?.mountShellSessionHandoff ||
|
||||
!launchApi?.mountShellSessionHandoffFromControlPage ||
|
||||
!launchApi?.isSupportedShellSessionHandoffPackage
|
||||
) {
|
||||
throw new Error("launch API namespace did not expose shell integration helpers");
|
||||
@@ -287,21 +288,24 @@ TOOL_TABLE = browser-shell-tool.tbl
|
||||
"ready",
|
||||
"shell integration control-page session readiness",
|
||||
);
|
||||
const readyMountState = launchApi.getShellSessionHandoffPackageMountState(
|
||||
controlPageApi[handoffSummary.handoffMethods.loadSessionState](),
|
||||
);
|
||||
const readySessionLoadState = controlPageApi[handoffSummary.handoffMethods.loadSessionState]();
|
||||
const readyMountState = launchApi.getShellSessionHandoffPackageMountState(readySessionLoadState);
|
||||
const readyMountDisplay = launchApi.getShellSessionHandoffPackageMountDisplayViewModel(readyMountState);
|
||||
const readyMountRenderState = launchApi.getShellSessionHandoffPackageMountRenderState(readyMountState);
|
||||
const readyMountWorkflow = launchApi.mountShellSessionHandoff({
|
||||
renderState: readyMountRenderState,
|
||||
const readyControlPageMountWorkflow = launchApi.mountShellSessionHandoffFromControlPage({
|
||||
sessionLoadState: readySessionLoadState,
|
||||
contract: externalMountDomContract,
|
||||
documentRef: document,
|
||||
});
|
||||
const readyMountWorkflow = readyControlPageMountWorkflow.mountWorkflow;
|
||||
const readyMountRenderResult = readyMountWorkflow.renderResult;
|
||||
assertEqual(readyMountState.ready, true, "shell handoff package mount-state readiness");
|
||||
assertEqual(readyMountState.sessionLoadState.phase, "ready", "shell handoff package mount-state ready session");
|
||||
assertEqual(readyMountDisplay.detailText, "No blocking reasons", "shell handoff package ready mount display");
|
||||
assertEqual(readyMountRenderState.statusLine, "Ready: No blocking reasons", "shell handoff package ready mount render-state");
|
||||
assertEqual(readyControlPageMountWorkflow.phase, "ready", "external shell control-page mount workflow phase");
|
||||
assertEqual(readyControlPageMountWorkflow.sessionLoadState.phase, "ready", "external shell control-page mount workflow session");
|
||||
assertEqual(readyControlPageMountWorkflow.mountState.ready, true, "external shell control-page mount workflow state");
|
||||
assertEqual(readyMountRenderResult.rendered, true, "external shell ready mount render result");
|
||||
assertEqual(readyMountWorkflow.phase, "ready", "external shell ready mount workflow phase");
|
||||
assertEqual(readyMountRenderResult.dataset.handoffReady, "true", "external shell ready mount render dataset");
|
||||
|
||||
Reference in New Issue
Block a user