Skip to content

Instantly share code, notes, and snippets.

@kainino0x
Created December 25, 2017 09:39
Show Gist options
  • Save kainino0x/1d8cee669637a5601b176c23c16547dd to your computer and use it in GitHub Desktop.
Save kainino0x/1d8cee669637a5601b176c23c16547dd to your computer and use it in GitHub Desktop.
OffscreenCanvas DevTools crash
<script type="text/plain" id="worker">
onmessage = function(e) {
let ctx = e.data.getContext('2d');
function loop() {
debugger; // When you hit this breakpoint, inspect any variable.
ctx.commit().then(loop);
}
ctx.commit().then(loop);
};
</script>
<script>
let canvas = document.createElement('canvas');
let offscreen = canvas.transferControlToOffscreen();
let workerSource = document.getElementById('worker').innerText.trim();
let blob = new Blob([workerSource], {type: 'application/javascript'})
let url = URL.createObjectURL(blob);
let worker = new Worker(url);
worker.postMessage(offscreen, [offscreen]);
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment