[iOS] Max canvas size is lower than expected
authordino@apple.com <dino@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 23 Feb 2015 22:42:15 +0000 (22:42 +0000)
committerdino@apple.com <dino@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 23 Feb 2015 22:42:15 +0000 (22:42 +0000)
https://bugs.webkit.org/show_bug.cgi?id=141886
<rdar://problem/19729246>

Reviewed by Tim Horton.

Use the same maximum canvas area for all ports,
which bumps the iOS limit up from 4580 * 1145
to 16k * 16k.

* html/HTMLCanvasElement.cpp: Update MaxCanvasArea.

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

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

index 596b49f..912ee81 100644 (file)
@@ -1,3 +1,17 @@
+2015-02-22  Dean Jackson  <dino@apple.com>
+
+        [iOS] Max canvas size is lower than expected
+        https://bugs.webkit.org/show_bug.cgi?id=141886
+        <rdar://problem/19729246>
+
+        Reviewed by Tim Horton.
+
+        Use the same maximum canvas area for all ports,
+        which bumps the iOS limit up from 4580 * 1145
+        to 16k * 16k.
+
+        * html/HTMLCanvasElement.cpp: Update MaxCanvasArea.
+
 2015-02-23  Chris Dumez  <cdumez@apple.com>
 
         Add support for diagnostic logging messages sampling
index 6c37225..fc30c23 100644 (file)
@@ -61,18 +61,14 @@ namespace WebCore {
 
 using namespace HTMLNames;
 
-// These values come from the WhatWG spec.
+// These values come from the WhatWG/W3C HTML spec.
 static const int DefaultWidth = 300;
 static const int DefaultHeight = 150;
 
 // Firefox limits width/height to 32767 pixels, but slows down dramatically before it
 // reaches that limit. We limit by area instead, giving us larger maximum dimensions,
-// in exchange for a smaller maximum canvas size. The maximum canvas size is in CSS pixels.
-#if PLATFORM(IOS)
-static const float MaxCanvasArea = 4580 * 1145; // 20 MB assuming 4 bytes per pixel
-#else
-static const float MaxCanvasArea = 32768 * 8192;
-#endif
+// in exchange for a smaller maximum canvas size. The maximum canvas size is in device pixels.
+static const float MaxCanvasArea = 16384 * 16384;
 
 HTMLCanvasElement::HTMLCanvasElement(const QualifiedName& tagName, Document& document)
     : HTMLElement(tagName, document)