You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merged #303/#304 route explicit Window.fetch() through the claimed Service Worker, but parser and DOM connected-resource loads still call the host text loader directly. <script src>, <link rel="stylesheet">, <img src>, and CSS image loads therefore bypass the controlling worker. Unchanged VS Code's webview prelude supplies its extension script, styles, and images through the v6 Service Worker broker, so explicit-fetch success cannot render Markdown content.
The generic owner is WebScene's connected-resource/request scheduling. CSS escape decoding remains #286 and CSS cascade work remains under #235.
Scope
Route same-scope parser and dynamically connected script, stylesheet, image, and CSS image requests through the active controller before any host fallback/cache read.
Preserve browser task ordering: script execution then load/error, stylesheet application then load/error, image decode/currentSrc/natural size then load/error.
Carry GET URL, origin/referrer, credentials/cookie policy, destination, client identity, and navigation generation into FetchEvent.
Keep interception asynchronous so a Service Worker may message its controlled client for bytes without blocking that client's task queue.
Fall through only when FetchEvent is not handled. A handled rejection, timeout, malformed/oversized body, non-success status, retired generation, or stopped worker must fail closed and must not reach the host loader.
Keep data/blob/object URLs and service-worker bootstrap loading on their existing appropriate paths.
Acceptance
WPT-derived and Chromium contracts cover parser-created and dynamically inserted script, stylesheet, SVG/PNG image, CSS image, load/error ordering, destinations, URL resolution, an unhandled fallthrough, and a handled failure.
An unchanged-Code-shaped worker performs CacheStorage empty-match, client load-resource messaging, streamed/chunk response, and supplies prelude JS/CSS/image bytes without consumer-specific code.
Cross-origin/out-of-scope requests, retired navigation generations, traversal-shaped URLs, malformed responses, bodies over 64 MiB, and late worker replies cannot bypass admission or fall through after respondWith.
At most 32 intercepted bodies remain active; queue/body caps from Stream and cache admitted Code OSS webview resources #266 are preserved. Navigation, unregister, and shutdown leave zero pending parser-resource fetches or retained client/DOM generations.
A 64 KiB warm intercepted resource reaches dispatch-to-ready at p95 <= 100 ms. A 100-cycle script/style/image create-load-remove test retains <= 8 MiB V8 heap and <= 64 MiB RSS after warm-up; publish native and Chromium timings.
One generic asynchronous connected-resource interception tranche with native/browser contracts and bounded lifecycle/performance evidence. Keep #266 open for HTTP 200/206/304/range/validator security and cumulative product completion.
Parent resource issue: #266
Nested-webview epic: #264
Related CSS URL decoding: #286
Proven gap
Merged #303/#304 route explicit
Window.fetch()through the claimed Service Worker, but parser and DOM connected-resource loads still call the host text loader directly.<script src>,<link rel="stylesheet">,<img src>, and CSS image loads therefore bypass the controlling worker. Unchanged VS Code's webview prelude supplies its extension script, styles, and images through the v6 Service Worker broker, so explicit-fetch success cannot render Markdown content.The generic owner is WebScene's connected-resource/request scheduling. CSS escape decoding remains #286 and CSS cascade work remains under #235.
Scope
Acceptance
script, stylesheet, SVG/PNG image, CSS image, load/error ordering, destinations, URL resolution, an unhandled fallthrough, and a handled failure.load-resourcemessaging, streamed/chunk response, and supplies prelude JS/CSS/image bytes without consumer-specific code.respondWith.645f29cMarkdown Preview advances through prelude JS, extension CSS, and a deterministic local image using the current copiedvscode-demo/README.md; remaining HTTP range/cache/security or nested-document blockers stay explicitly assigned to Stream and cache admitted Code OSS webview resources #266/Enforce secure nested-document lifecycle for Code OSS webviews #267.Proposed focused PR
One generic asynchronous connected-resource interception tranche with native/browser contracts and bounded lifecycle/performance evidence. Keep #266 open for HTTP 200/206/304/range/validator security and cumulative product completion.