Summary: | Canvas.drawImage() is very slow in private mode | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Luca Moroni <bidders.braces_0f> | ||||
Component: | Canvas | Assignee: | Nobody <webkit-unassigned> | ||||
Status: | RESOLVED DUPLICATE | ||||||
Severity: | Normal | CC: | dino, m_finkel, paul.neave, webkit-bug-importer | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | Safari 17 | ||||||
Hardware: | All | ||||||
OS: | iOS 17 | ||||||
Attachments: |
|
Description
Luca Moroni
2023-10-11 07:09:15 PDT
This bug occurs when Advanced Tracking and Fingerprinting Protection is enabled. This is on by default for private tabs in Safari 17. I've filed an example in bug #266473. Try the following example code with "Use advanced tracking and fingerprinting protection" setting enabled under Settings > Advanced > Privacy. Website are unusable in this state. ` <html> <body> <canvas id="canvas"></canvas> <script> const width = 800; const height = 800; const canvas = document.getElementById('canvas'); canvas.width = width; canvas.height = height; const context = canvas.getContext('2d'); const imageCanvas = document.createElement('canvas'); imageCanvas.width = width; imageCanvas.height = height; const imageContext = imageCanvas.getContext('2d'); imageContext.fillStyle = 'red'; imageContext.fillRect(0, 0, width, height); console.time('drawImage'); context.drawImage(imageCanvas, 0, 0); console.timeEnd('drawImage'); </script> </body> </html> ` I confirm, this bug and #266473 looks the same. I've got the feeling the the overall stability is reduced while working with canvases on 17.x . But this is hard to reduce to a simple example. I hope that at least this issue will be mitigated in future releases. Thanks for reporting this, a fix for this is being work on in bug 266181. *** This bug has been marked as a duplicate of bug 266181 *** |