v150 · Workers · Migration
Blob URL Converter
Chrome 150 breaks code that creates workers from data: URLs and then uses origin-gated APIs like BroadcastChannel. The fix is simple: wrap the same code in a Blob and use URL.createObjectURL(). The worker inherits the page's origin and everything works again. This tool converts the old pattern to the new one.
Example patterns to convert
BroadcastChannel worker
Worker that posts to a named channel — broken by null origin
Simple echo worker
Stateless compute worker — works fine with data: URL too
Stateful counter worker
Worker with state — no channel access, safe either way
Shared state via postMessage
Worker using postMessage (not BroadcastChannel) — safe
Worker script (just the inner code, not the data: URL wrapper)
Paste a worker script to convert it.
Generated code — Blob URL pattern (Chrome 150 compatible)
Live test — create the Blob URL worker and call it
// Click "Create & test worker" to run live…
see also
- Communication Tester — test which channels work with data: workers
- Origin Isolation Demo — origin probe
- Migration Patterns — before/after code patterns
implementation reference
Need the exact API surface, compatibility boundaries, errors, lifecycle, and source links? Read the matching gendn reference ↗