

* Canvas with a scaled thumbnail of the window. * fullScale - request that a non-downscaled image be returned. * aArgs (optional) Additional named parameters: * aDestCanvas destination canvas to draw the final * aWindow - the window to create a snapshot of. * It's actually better to the eye to have small blurry text than sharp

* at that resolution, graphical artifacts / text become very jagged. * causing pages to believe the browser is a small resolution. * This is because the thumbnail size is too small to render at directly, * 2) Downscale the canvas from (1) down to the thumbnail size * 1) Render the content at the window size to a canvas that is 2x the thumbnail size It has to do this through a two step process: * and returns a canvas with the resulting snapshot of the content * Given a browser window, this creates a snapshot of the content You can see the code that does this in toolkit/components/thumbnails/PageThumbUtils.jsm: /** * Not sure how useful this is for your case but it renders a snapshot of a window to an intermediate canvas using the (non-standard, internal) CanvasRenderingContext2D.drawWindow() API, then copies that to a target downscaled canvas element.
