-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Labels
Description
Reproduction case:
<html>
<body>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/index.js"></script>
<script>
img = new Image();
img.onload = () => {
createImageBitmap(img).then(bmp => structuredClone(bmp));
};
img.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8zwQAAgYBAyKDV6YAAAAASUVORK5CYII=";
</script>
</body>
</html>
Throws DOMException: Cloning of ImageBitmap cannot be properly polyfilled in this engine
but doesn't on 3.32.0. I've tested on FF 117 and Safari 16.6.
It seems that changing != 7
to !== 7
in
return set2 === set1 || !set2.has(7) || typeof number != 'object' || number !== 7; |
structuredClone(Object(7)) == 7
but not ===
. This disables the fallback to native structuredClone
and prevents it from working when it should.