Title: [233452] trunk
Revision
233452
Author
[email protected]
Date
2018-07-02 17:51:03 -0700 (Mon, 02 Jul 2018)

Log Message

Tighter limit for canvas memory use on iOS
https://bugs.webkit.org/show_bug.cgi?id=187279
<rdar://problem/38420562>

Reviewed by Simon Fraser.

Source/WebCore:

We allowed 448MB of canvas buffer memory. This is still too much in some cases. Painting a large
canvas may also requires several other temporary canvas sized buffers getting us easily over
the process size limit.

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

Drop to (ramSize() / 4) which computes to 224MB on 2GB devices.

LayoutTests:

* platform/ios-simulator/fast/canvas/canvas-crash-expected.txt:
* platform/ios-simulator/fast/canvas/canvas-skia-excessive-size-expected.txt:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (233451 => 233452)


--- trunk/LayoutTests/ChangeLog	2018-07-03 00:49:48 UTC (rev 233451)
+++ trunk/LayoutTests/ChangeLog	2018-07-03 00:51:03 UTC (rev 233452)
@@ -1,3 +1,14 @@
+2018-07-02  Antti Koivisto  <[email protected]>
+
+        Tighter limit for canvas memory use on iOS
+        https://bugs.webkit.org/show_bug.cgi?id=187279
+        <rdar://problem/38420562>
+
+        Reviewed by Simon Fraser.
+
+        * platform/ios-simulator/fast/canvas/canvas-crash-expected.txt:
+        * platform/ios-simulator/fast/canvas/canvas-skia-excessive-size-expected.txt:
+
 2018-07-02  Sukolsak Sakshuwong  <[email protected]>
 
         RegExp.exec returns wrong value with a long integer quantifier

Modified: trunk/LayoutTests/platform/ios-simulator/fast/canvas/canvas-crash-expected.txt (233451 => 233452)


--- trunk/LayoutTests/platform/ios-simulator/fast/canvas/canvas-crash-expected.txt	2018-07-03 00:49:48 UTC (rev 233451)
+++ trunk/LayoutTests/platform/ios-simulator/fast/canvas/canvas-crash-expected.txt	2018-07-03 00:51:03 UTC (rev 233452)
@@ -1,3 +1,3 @@
-CONSOLE MESSAGE: line 15: Total canvas memory use exceeds the maximum limit (448 MB).
+CONSOLE MESSAGE: line 15: Total canvas memory use exceeds the maximum limit (224 MB).
 CONSOLE MESSAGE: line 16: TypeError: null is not an object (evaluating 'ctx.putImageData')
 

Modified: trunk/LayoutTests/platform/ios-simulator/fast/canvas/canvas-skia-excessive-size-expected.txt (233451 => 233452)


--- trunk/LayoutTests/platform/ios-simulator/fast/canvas/canvas-skia-excessive-size-expected.txt	2018-07-03 00:49:48 UTC (rev 233451)
+++ trunk/LayoutTests/platform/ios-simulator/fast/canvas/canvas-skia-excessive-size-expected.txt	2018-07-03 00:51:03 UTC (rev 233452)
@@ -1,4 +1,4 @@
-CONSOLE MESSAGE: line 20: Total canvas memory use exceeds the maximum limit (448 MB).
+CONSOLE MESSAGE: line 20: Total canvas memory use exceeds the maximum limit (224 MB).
 This test checks to see if the browser survives the attempted creation of an excessively large canvas.
 
 Canvas 2d context = null!

Modified: trunk/Source/WebCore/ChangeLog (233451 => 233452)


--- trunk/Source/WebCore/ChangeLog	2018-07-03 00:49:48 UTC (rev 233451)
+++ trunk/Source/WebCore/ChangeLog	2018-07-03 00:51:03 UTC (rev 233452)
@@ -1,3 +1,20 @@
+2018-07-02  Antti Koivisto  <[email protected]>
+
+        Tighter limit for canvas memory use on iOS
+        https://bugs.webkit.org/show_bug.cgi?id=187279
+        <rdar://problem/38420562>
+
+        Reviewed by Simon Fraser.
+
+        We allowed 448MB of canvas buffer memory. This is still too much in some cases. Painting a large
+        canvas may also requires several other temporary canvas sized buffers getting us easily over
+        the process size limit.
+
+        * html/HTMLCanvasElement.cpp:
+        (WebCore::maxActivePixelMemory):
+
+        Drop to (ramSize() / 4) which computes to 224MB on 2GB devices.
+
 2018-07-02  Myles C. Maxfield  <[email protected]>
 
         [Cocoa] Google Fonts doesn't work if the user has the requested font locally-installed

Modified: trunk/Source/WebCore/html/HTMLCanvasElement.cpp (233451 => 233452)


--- trunk/Source/WebCore/html/HTMLCanvasElement.cpp	2018-07-03 00:49:48 UTC (rev 233451)
+++ trunk/Source/WebCore/html/HTMLCanvasElement.cpp	2018-07-03 00:51:03 UTC (rev 233452)
@@ -197,7 +197,7 @@
     static std::once_flag onceFlag;
     std::call_once(onceFlag, [] {
 #if PLATFORM(IOS)
-        maxPixelMemory = ramSize() / 2;
+        maxPixelMemory = ramSize() / 4;
 #else
         maxPixelMemory = std::max(ramSize() / 4, 2151 * MB);
 #endif
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to