Default canvas backing store to be 1:1 with specified dimensions.
authorjknotten@chromium.org <jknotten@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 21 Feb 2012 03:48:59 +0000 (03:48 +0000)
committerjknotten@chromium.org <jknotten@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 21 Feb 2012 03:48:59 +0000 (03:48 +0000)
https://bugs.webkit.org/show_bug.cgi?id=78971

Reviewed by Adam Barth.

Although the canvas specification states that the backing image may
be larger than the user-specified dimensions, there are a number of
philip canvas tests that fail when the backing image data is not
1:1 with the specified canvas dimensions. These failures are
tracked in https://bugs.webkit.org/show_bug.cgi?id=73645

This change defaults the canvas backing store to be 1:1 with the
user-specified dimensions, while also providing an
ENABLE(HIGH_DPI_CANVAS) build option to reinstate the original
behaviour, so that the above bug may be more easily fixed.

* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::HTMLCanvasElement):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108293 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/html/HTMLCanvasElement.cpp

index 5680e88..b910454 100644 (file)
@@ -1,3 +1,24 @@
+2012-02-20  John Knottenbelt  <jknotten@chromium.org>
+
+        Default canvas backing store to be 1:1 with specified dimensions.
+        https://bugs.webkit.org/show_bug.cgi?id=78971
+
+        Reviewed by Adam Barth.
+
+        Although the canvas specification states that the backing image may
+        be larger than the user-specified dimensions, there are a number of
+        philip canvas tests that fail when the backing image data is not
+        1:1 with the specified canvas dimensions. These failures are
+        tracked in https://bugs.webkit.org/show_bug.cgi?id=73645
+
+        This change defaults the canvas backing store to be 1:1 with the
+        user-specified dimensions, while also providing an
+        ENABLE(HIGH_DPI_CANVAS) build option to reinstate the original
+        behaviour, so that the above bug may be more easily fixed.
+
+        * html/HTMLCanvasElement.cpp:
+        (WebCore::HTMLCanvasElement::HTMLCanvasElement):
+
 2012-02-20  Mary Wu  <mary.wu@torchmobile.com.cn>
 
         Upstream RenderThemeBlackberry.h/.cpp into WebCore/platform/blackberry
index 5faf295..beccb60 100644 (file)
@@ -79,7 +79,12 @@ HTMLCanvasElement::HTMLCanvasElement(const QualifiedName& tagName, Document* doc
     , m_size(DefaultWidth, DefaultHeight)
     , m_rendererIsCanvas(false)
     , m_ignoreReset(false)
+#if ENABLE(HIGH_DPI_CANVAS)
+      // FIXME: Make this the default once https://bugs.webkit.org/show_bug.cgi?id=73645 has been fixed.
     , m_deviceScaleFactor(document->frame() ? document->frame()->page()->deviceScaleFactor() : 1)
+#else
+    , m_deviceScaleFactor(1)
+#endif
     , m_originClean(true)
     , m_hasCreatedImageBuffer(false)
 {