Title: [140057] trunk
Revision
140057
Author
commit-qu...@webkit.org
Date
2013-01-17 15:17:24 -0800 (Thu, 17 Jan 2013)

Log Message

imageSmoothingEnabled frequent, unpredictable crashes
https://bugs.webkit.org/show_bug.cgi?id=107161

Patch by Alexis Hetu <su...@chromium.org> on 2013-01-17
Reviewed by Stephen White.

Source/WebCore:

Added a NULL pointer check to fix a crash.

Test: fast/canvas/canvas-imageSmoothingEnabled-zero-size.html

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setWebkitImageSmoothingEnabled):

LayoutTests:

Added a layout test for setting image smoothing enabled on a 0 sized
canvas.

* fast/canvas/canvas-imageSmoothingEnabled-zero-size-expected.txt: Added.
* fast/canvas/canvas-imageSmoothingEnabled-zero-size.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (140056 => 140057)


--- trunk/LayoutTests/ChangeLog	2013-01-17 23:08:43 UTC (rev 140056)
+++ trunk/LayoutTests/ChangeLog	2013-01-17 23:17:24 UTC (rev 140057)
@@ -1,3 +1,16 @@
+2013-01-17  Alexis Hetu  <su...@chromium.org>
+
+        imageSmoothingEnabled frequent, unpredictable crashes
+        https://bugs.webkit.org/show_bug.cgi?id=107161
+
+        Reviewed by Stephen White.
+
+        Added a layout test for setting image smoothing enabled on a 0 sized
+        canvas.
+
+        * fast/canvas/canvas-imageSmoothingEnabled-zero-size-expected.txt: Added.
+        * fast/canvas/canvas-imageSmoothingEnabled-zero-size.html: Added.
+
 2013-01-17  Sheriff Bot  <webkit.review....@gmail.com>
 
         Unreviewed, rolling out r140049.

Added: trunk/LayoutTests/fast/canvas/canvas-imageSmoothingEnabled-zero-size-expected.txt (0 => 140057)


--- trunk/LayoutTests/fast/canvas/canvas-imageSmoothingEnabled-zero-size-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/canvas/canvas-imageSmoothingEnabled-zero-size-expected.txt	2013-01-17 23:17:24 UTC (rev 140057)
@@ -0,0 +1 @@
+This test passes by not crashing !

Added: trunk/LayoutTests/fast/canvas/canvas-imageSmoothingEnabled-zero-size.html (0 => 140057)


--- trunk/LayoutTests/fast/canvas/canvas-imageSmoothingEnabled-zero-size.html	                        (rev 0)
+++ trunk/LayoutTests/fast/canvas/canvas-imageSmoothingEnabled-zero-size.html	2013-01-17 23:17:24 UTC (rev 140057)
@@ -0,0 +1,20 @@
+
+<!doctype html>
+<html>
+  <body>
+    This test passes by not crashing !
+    <script>
+    if (window.testRunner) {
+        testRunner.dumpAsText();
+    }
+    window._onload_ = function () {
+    	var canvas = document.createElement('canvas');
+		canvas.width = 0;
+		canvas.height = 0;
+		var context = canvas.getContext('2d');
+		if(context.webkitImageSmoothingEnabled) {context.webkitImageSmoothingEnabled = false;}
+    };
+    </script>
+  </body>
+</html>
+

Modified: trunk/Source/WebCore/ChangeLog (140056 => 140057)


--- trunk/Source/WebCore/ChangeLog	2013-01-17 23:08:43 UTC (rev 140056)
+++ trunk/Source/WebCore/ChangeLog	2013-01-17 23:17:24 UTC (rev 140057)
@@ -1,3 +1,17 @@
+2013-01-17  Alexis Hetu  <su...@chromium.org>
+
+        imageSmoothingEnabled frequent, unpredictable crashes
+        https://bugs.webkit.org/show_bug.cgi?id=107161
+
+        Reviewed by Stephen White.
+
+        Added a NULL pointer check to fix a crash.
+
+        Test: fast/canvas/canvas-imageSmoothingEnabled-zero-size.html
+
+        * html/canvas/CanvasRenderingContext2D.cpp:
+        (WebCore::CanvasRenderingContext2D::setWebkitImageSmoothingEnabled):
+
 2013-01-17  Sheriff Bot  <webkit.review....@gmail.com>
 
         Unreviewed, rolling out r140049.

Modified: trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp (140056 => 140057)


--- trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp	2013-01-17 23:08:43 UTC (rev 140056)
+++ trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp	2013-01-17 23:17:24 UTC (rev 140057)
@@ -2398,7 +2398,9 @@
 
     realizeSaves();
     modifiableState().m_imageSmoothingEnabled = enabled;
-    drawingContext()->setImageInterpolationQuality(enabled ? DefaultInterpolationQuality : InterpolationNone);
+    GraphicsContext* c = drawingContext();
+    if (c)
+        c->setImageInterpolationQuality(enabled ? DefaultInterpolationQuality : InterpolationNone);
 }
 
 } // namespace WebCore
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to