Repository navigation
Qualify the Markdown local and external image resource matrix #388
Description
Activity
- addedvscode-oss/plannedPlanned for the AppScene/WebScene VS Code OSS integrationPlanned for the AppScene/WebScene VS Code OSS integration
on Sep 18, 2026 Owned from exact main
d4dc4fc10d98edd2a8a45a2901692c614d084652onfeature/webview-resource-acceptance-266.The full pinned Markdown fixture cannot yet run natively because its first
history.replaceStatesame-window navigation is rejected before resources; #267 owns that dependency. #388 stays below navigation and owns only the remaining unchanged-worker image evidence: admitted PNG/SVG, external HTTPS fallback, missing 404, and out-of-root 401, including zero-byte/fail-closed checks and mixed 100-cycle lifetime bounds.Owned paths are
tests/WebPlatformSubset/contracts/fixtures/vscode-markdown-preview-645f29c/index.html, the Chrome contract server only if an external image endpoint is required, andexperiments/WebScene.NativeEngine.Probe/tests/native_v8_runtime_stream_fetch_tests.inc. Runtime files will change only if the exact matrix proves a generic defect.Collision audit: #267/#268 own navigation/interaction; #382 owns File System/IndexedDB; #386 owns CSSOM layer paths; #76 owns docs. This slice excludes all of them, AppScene, CSS implementation, and vscode-demo.
Merged via #391 as
1f61af570cb73f27991c2881c129854b29e3a9b7.This test-only qualification closes the remaining admitted image resource matrix without changing runtime authority:
- real binary PNG and SVG decode through the native Markdown resource broker;
- external HTTPS images stay on the ordinary host loader and never reach the broker;
- missing admitted resources fail with 404;
- out-of-root resources fail closed with 401 and deliver no bytes;
- 100 alternating PNG/SVG element cycles retain existing teardown, heap, and RSS bounds.
Exact-head evidence on
687d437e1958311edb537bde829dfbd078d8affc:- Chrome 153 pinned Markdown fixture: 8/8 pass; 100 CSS image cycles p95 19.1 ms.
- Native exact worker: 100 image cycles p95 0.406 ms; admitted 64 KiB delivery p95 0.995 ms; heap flat at 1,350,680 bytes; RSS and teardown bounds pass.
- Focused CTest
webscene_native_service_worker_markdown_resourcespasses with resource/security/performance/lifecycle labels. - Linux X64, macOS ARM64, NativeAOT Avalonia 11/12, and portable V8 exact-head checks pass.
Native-document CI was not selected because the change touched only web-platform/native probe tests. NuGet packaging was intentionally canceled. Postmerge CI and NuGet tails were canceled after the directly affected exact-head gates passed.
No #267/#268 navigation, FileSystem, CSS, AppScene, docs, consolidation #76, or vscode-demo paths changed.
Parent: #266
Remaining proven acceptance gap
Exact main
d4dc4fc10d98edd2a8a45a2901692c614d084652now passes the unchanged Code OSS v6 streamed script, stylesheet, SVG/CSS image, range, validator, admission, localhost, and cache replacement gates. The #266 acceptance matrix still lacks direct unchanged-worker/native evidence for the remaining Markdown image cases: an admitted binary PNG, an admitted SVG, an external HTTPS image that falls through without acquiring local-file authority, a missing local image (404), and an out-of-root local image (401).Chrome 153 passes the pinned Markdown broker fixture. Running that complete fixture in the native document runner reaches
history.replaceStatefirst and is blocked by the same-window navigation scope owned by #267, before any resource request. This child therefore qualifies only the resource plane through the existing exact-worker companion gate and Chrome fixture; it does not alter or duplicate navigation.Focused scope
localResourceRoots, status/range/validator, 32-body/64-MiB, timeout/cancellation, cache, filesystem, and network authority.Owned paths and collisions
Owned paths are the unchanged Markdown resource fixture/Chrome oracle and
native_v8_runtime_stream_fetch_tests.incwith its existing focused CTest. Runtime changes are allowed only if this exact matrix proves a generic resource defect.This child excludes #267 navigation, #268 interaction, #382 File System/IndexedDB, #386 CSSOM layer work, #76 consolidation, AppScene, CSS implementation, and vscode-demo.
Acceptance
Refs #264
Refs #227