Expose Worker in iframe realms for Code OSS extension host - #95
wieslawsoltes wants to merge 2 commits into
Conversation
abd4657 to
cbc4b48
Compare
|
Packaged AppScene acceptance now passes with this commit. I copied the validated graphics runtime into a duplicate of the current Neither native report contains Evidence:
|
|
Follow-up for the exact-head Linux package failure in run The runtime cleanup was not dispatching after iframe destruction. The Inspector regression queued a MessagePort message, then removed the iframe in a separate Inspector request, while counting callbacks both before and after removal. A valid delivery between those requests therefore produced the same counter value and was reported as a post-destruction callback.
Validation:
|
|
Closing this older consolidation-based review as superseded by merged native Stack #176. Focused PRs #172 → #173 → #174 → #175 carry the Worker, iframe, transferable MessagePort, and browser-shaped dedicated-worker identity/runtime contracts on current |
The packaged Code OSS persistence smoke reached
webWorkerExtensionHostIframe.html, but the iframe'screateWorkercall failed withReferenceError: Worker is not defined, terminatingLocalWebWorkerwith code 81. The original worker tests passed because they constructed workers in the top-level realm; hydrated iframe globals installed MessageChannel and postMessage but omitted Worker.This focused follow-up installs the dedicated Worker constructor in every hydrated iframe realm with that realm's EventTarget prototype and URL base. It also advances worker microtasks between queued messages so Code OSS's blob-backed module bootstrap can complete its top-level
await import(...)before the transferred MessagePort handoff.The Code OSS-shaped regression now performs the real sequence: same-origin iframe, blob module worker, top-level dynamic import, worker start, and transferred-port request/response. The retained native regression also asserts that Worker exists in the iframe realm.
Validation on macOS arm64 Release:
The branch is rebased on
96876a98. The rebuilt packaged Code OSS AppScene smoke passes write and restart/read with noWorker is not defined, LocalWebWorker code 81, or extension-host startup error. The PR remains draft for released-RID CI.Advances #81.