Index: third_party/WebKit/WebCore/dom/CanvasSurface.cpp |
=================================================================== |
--- third_party/WebKit/WebCore/dom/CanvasSurface.cpp (revision 52374) |
+++ third_party/WebKit/WebCore/dom/CanvasSurface.cpp (working copy) |
@@ -45,6 +45,11 @@ |
// in exchange for a smaller maximum canvas size. |
const float CanvasSurface::MaxCanvasArea = 32768 * 8192; // Maximum canvas area in CSS pixels |
+#if PLATFORM(SKIA) |
+// In Skia, we will also limit width/height to 32767. |
+const float CanvasSurface::MaxSkiaDim = 32767.0F; // Maximum width/height in CSS pixels. |
+#endif |
+ |
CanvasSurface::CanvasSurface(float pageScaleFactor) |
: m_size(DefaultWidth, DefaultHeight) |
, m_pageScaleFactor(pageScaleFactor) |
@@ -100,6 +105,11 @@ |
if (!(wf >= 1 && hf >= 1 && wf * hf <= MaxCanvasArea)) |
return IntSize(); |
+#if PLATFORM(SKIA) |
+ if (wf > MaxSkiaDim || hf > MaxSkiaDim) |
+ return IntSize(); |
+#endif |
+ |
return IntSize(static_cast<unsigned>(wf), static_cast<unsigned>(hf)); |
} |