Bug 22823

Summary: REGRESSION (TOT): Canvas is broken in high dpi mode
Product: WebKit Reporter: Oliver Hunt <oliver>
Component: DOMAssignee: Oliver Hunt <oliver>
Status: RESOLVED FIXED    
Severity: Normal Keywords: InRadar
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: OS X 10.5   
URL: http://nerget.com/tests/canvas-high-dpi.html
Attachments:
Description Flags
Fix initial context scale ap: review+

Description Oliver Hunt 2008-12-12 05:57:43 PST
<rdar://problem/6432739>

I was working on another canvas issue and I realised the somewhere in the canvas refactorings of the past few months canvas lost the code that correctly scaled to handle high dpi display modes

* STEPS TO REPRODUCE
1. Use Quartz Debug to change the display scale to 2x
2. Launch Safari (ToT) -- Safari must be launched *after* step 1
3. Go to http://nerget.com/tests/canvas-high-dpi.html
Comment 1 Oliver Hunt 2008-12-12 06:02:27 PST
Created attachment 25979 [details]
Fix initial context scale

Patcheration
Comment 2 Alexey Proskuryakov 2008-12-12 06:05:42 PST
Comment on attachment 25979 [details]
Fix initial context scale

+    m_imageBuffer->context()->scale(FloatSize(size.width()/unscaledSize.width(), size.height()/unscaledSize.height()));

Please add spaces around '/'.

+        transform.scale(size.width()/unscaledSize.width(), size.height()/unscaledSize.height());

Ditto.

r=me
Comment 3 Oliver Hunt 2008-12-12 06:11:48 PST
Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/html/HTMLCanvasElement.cpp
Committed r39240