推进 INI 面板 shell handoff mount workflow helper

This commit is contained in:
2026-06-15 12:18:01 +08:00
parent 94b44c0e73
commit 298aa5e403
9 changed files with 219 additions and 20 deletions

View File

@@ -32,6 +32,7 @@ import {
createIniPanelShellSessionHandoffPackageMountState,
createIniPanelShellSessionHandoffMountDomContract,
createIniPanelShellSessionHandoffMountDomReadiness,
mountIniPanelShellSessionHandoff,
renderIniPanelShellSessionHandoffMountState,
createIniPanelShellSessionHandoffPackageReport,
createIniPanelShellSessionHandoffPackageRenderState,
@@ -235,6 +236,10 @@ row dataset keys, and render-result fields before rendering into shell-owned
DOM. Use `createIniPanelShellSessionHandoffMountDomReadiness()` or
`linuxCncIniPanelLaunchApi.getShellSessionHandoffMountDomReadiness()` to check
that the required document and nodes exist before calling the renderer. Use
`mountIniPanelShellSessionHandoff()` or
`linuxCncIniPanelLaunchApi.mountShellSessionHandoff()` when an outer shell
needs one browser-side workflow result containing the contract, DOM readiness,
mount render-state, renderer result, and any mount error as data. Use
`renderIniPanelShellSessionHandoffMountState()` or
`linuxCncIniPanelLaunchApi.renderShellSessionHandoffMountState()` when an outer
shell needs the shared read-only DOM renderer for those rows. The launch page
@@ -244,9 +249,9 @@ the control page.
The browser workflow smoke
`tests/browser/ini_panel_shell_integration_workflow_smoke.html` verifies the
same external shell handoff: read integration manifest, pass readiness gate,
open the control page target, render waiting and ready mount-state into an
external shell-owned `[data-external-shell-mount]` DOM region, then read
readonly machine-session status.
open the control page target, mount waiting and ready mount-state into an
external shell-owned `[data-external-shell-mount]` DOM region through the shared
mount workflow, then read readonly machine-session status.
The control-page refresh workflow lives in
`runtime/ui/ini-panel/control-page-refresh-workflow.js`. Use