Repository navigation
Expose ServiceWorker in isolated HTTPS iframe realms - #893
Merged
Merged
Conversation
This was referenced Sep 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The signed, unchanged Code OSS app now loads its isolated Markdown prelude, but the prelude stops because
navigator.serviceWorkeris missing in its HTTPS child frame. Nested WebScene contexts installed ServiceWorker only when the workbench parent could read the child DOM. Expose the worker API to eligible child origins while preserving parent isolation, and check the owning iframe and ancestor sandbox flags before any child script runs; the previous body-ancestry check missed an opaque sandbox until after attachment. Fixes #892; advances #264 and AppScene#398.The product-neutral native fixture registers a worker from an admitted cross-origin HTTPS child while the parent still cannot read
contentDocument. It denies ServiceWorker in an opaqueallow-scriptschild and its nestedallow-same-origin allow-scriptschild. The focused macOS native run passes in 230.711 ms (<1 s); related 100-cycle worker lifecycle p95 6.60546 ms, Clients p95 0.053208 ms, and iframe sandbox gates pass.git diff --checkpasses. Evidence:docs/validation/isolated-service-worker-child-892-264.md. The exact installed Code OSS package must be rebuilt after merge to qualify the next webview stage; full Markdown is still an open epic gate.The previous
mainmetadata run and the first PR metadata run both failed the same stale IndexedDB bootstrap byte-digest assertion. The second commit pins that test to the currently merged source bytes (0c9d4e...) without changing the actual bootstrap; its five local portability/digest tests pass. The updated PR head needs a green metadata job before merging.