On platforms with GPU-accelerated canvas backends and software content drawing, PageThumbUtils.createSnapshotThumbnail is rather inefficient: drawWindow draws content into a main memory backed surface using software rendering, then that surface is drawn to the GPU-accelerated canvas (which does a texture upload), and at the end JS calls toBlob which does readback to get the pixels. Maybe canvas is not the right place to have the drawWindow method. We could have a tab snapshot API that is implemented in C++.
And that API should return an ImageBitmap.
You need to log in before you can comment on or make changes to this bug.