Web Inspector WebGL canvas debugger is: * reading uninitialised drawing buffers intentionally * displaying at best 3 buffers old content (at worst, seee above) * is most likely corrupting the toDataURL / snapshot / printing cache bitmap The problem the inspector hack is trying to solve is: * need to capture snapshot of synchronously * need to capture drawing buffer if drawing buffer has been drawn to * need to capture display buffer if drawing buffer has not been draw to Fix by: * introducing a better function to read the canvas content * implement display buffer read * not pollute the HTMLCanvasElement "rendering results" image * implement cairo toDataURL or route data through ImageBuffer
See also bug 218186 where roughly similar problems have resulted in a different hack
<rdar://problem/70946992>