[whatwg] [canvas] request for {create, get, put}ImageDataHD and ctx.backingStorePixelRatio

Charles Pritchard chuck at jumis.com
Tue Mar 20 12:30:37 PDT 2012

On 3/20/2012 10:53 AM, Tab Atkins Jr. wrote:
> Given that the modern iPhones (and I suspect the iPad 3, though I
> haven't tested it yet) aren't exposing their high-res backing stores
> (they give back ImageData with CSS px resolution), it seems likely
> that the original goal of get/putImageData to seamlessly adapt has
> failed.  So, I support adding an alternate API that explicitly returns
> a high-res store.  If people fuck*that*  up, then we're just screwed.

IE exposes CSS px resolution via window.screen; mobile exposes via 
devicePixelRatio, webkit exposes accidentally through innerHeight and 
outerHeight and Mozilla through CSS queries on device-pixel-ratio.
I tried to get this mess fixed, but I got a lot of push back from Mozilla.

WebKit developers agreed that the MS solution would be OK:

Anne agreed to add it to CSSOM back when he was editing it, once there 
was a second implementation.

I've got two hacks to get pixel resolution over here:

I didn't add the Mozilla one yet.

I strongly suggest we just fix the problem by updating window.screen so 
us developers can manually manage the CSS width vs independent width.
I've been doing this forever, it works fine [I update on resize events 
if the res has changed]:
<canvas style="width: 50px; height: 50px;" width="100" height="100" />

We already went through this discussion on WHATWG. I didn't like how it 
went back then. Now that we're revisiting it, maybe we can just follow MS.

On desktop, the res changes with browser zoom.


More information about the whatwg mailing list