[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
commit-queue at webkit.org
commit-queue at webkit.org
Wed Dec 22 13:59:57 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 10c64f3b78e050e39ced74f3791a7aa7a25c898d
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Oct 1 07:28:59 2010 +0000
2010-10-01 Vincent Scheib <scheib at chromium.org>
Reviewed by James Robinson.
REGRESSION: Lots of fast canvas updates fail to completely render
https://bugs.webkit.org/show_bug.cgi?id=46319
* fast/repaint/canvas-putImageData-expected.txt: Added.
* fast/repaint/canvas-putImageData.html: Added.
* platform/chromium-win/fast/repaint/canvas-putImageData-expected.checksum: Added.
* platform/chromium-win/fast/repaint/canvas-putImageData-expected.png: Added.
* platform/chromium/test_expectations.txt:
2010-10-01 Vincent Scheib <scheib at chromium.org>
Reviewed by James Robinson.
REGRESSION: Lots of fast canvas updates fail to completely render
https://bugs.webkit.org/show_bug.cgi?id=46319
Test: fast/repaint/canvas-putImageData.html
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::putImageData):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68868 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 3b80693..843a408 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,16 @@
+2010-10-01 Vincent Scheib <scheib at chromium.org>
+
+ Reviewed by James Robinson.
+
+ REGRESSION: Lots of fast canvas updates fail to completely render
+ https://bugs.webkit.org/show_bug.cgi?id=46319
+
+ * fast/repaint/canvas-putImageData-expected.txt: Added.
+ * fast/repaint/canvas-putImageData.html: Added.
+ * platform/chromium-win/fast/repaint/canvas-putImageData-expected.checksum: Added.
+ * platform/chromium-win/fast/repaint/canvas-putImageData-expected.png: Added.
+ * platform/chromium/test_expectations.txt:
+
2010-09-30 Kent Tamura <tkent at chromium.org>
Unreviewed, test expectation update.
diff --git a/LayoutTests/fast/repaint/canvas-putImageData-expected.txt b/LayoutTests/fast/repaint/canvas-putImageData-expected.txt
new file mode 100755
index 0000000..e73d667
--- /dev/null
+++ b/LayoutTests/fast/repaint/canvas-putImageData-expected.txt
@@ -0,0 +1,8 @@
+layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderHTMLCanvas {CANVAS} at (0,0) size 100x100
+ RenderText {#text} at (0,0) size 0x0
+ RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/fast/repaint/canvas-putImageData.html b/LayoutTests/fast/repaint/canvas-putImageData.html
new file mode 100755
index 0000000..6655af7
--- /dev/null
+++ b/LayoutTests/fast/repaint/canvas-putImageData.html
@@ -0,0 +1,37 @@
+<!-- Test for https://bugs.webkit.org/show_bug.cgi?id=46319 -->
+<head>
+ <script src="resources/repaint.js"></script>
+</head>
+<body>
+ <canvas id="canvas" width="100" height="100"></canvas>
+ <script>
+ var canvas = document.getElementById('canvas');
+ var ctx = canvas.getContext('2d');
+
+ // prepare imagedata
+ ctx.fillStyle = "rgb(255, 0, 0)"; ctx.fillRect(0, 0, 100, 100); // red background
+ ctx.fillStyle = "rgb(0, 255, 0)"; ctx.fillRect(10, 10, 10, 10); // inset green square
+ var imageDataGreen = ctx.getImageData(10, 10, 10, 10);
+ var imageDataRedWithInsetGreen = ctx.getImageData(0, 0, 30, 30);
+
+ // clear canvas to dark green
+ ctx.fillStyle = "rgb(0, 128, 0)";
+ ctx.fillRect(0, 0, 100, 100);
+
+ // fill target locations with dark red
+ ctx.fillStyle = "rgb(128, 0, 0)";
+ ctx.fillRect(0, 0, 10, 10);
+ ctx.fillRect(40, 40, 10, 10);
+ ctx.fillRect(80, 80, 10, 10);
+
+ function repaintTest()
+ {
+ // patch up red squares with putImageData
+ ctx.putImageData(imageDataGreen, 0, 0);
+ ctx.putImageData(imageDataGreen, 40, 40);
+ ctx.putImageData(imageDataRedWithInsetGreen, 70, 70, 10, 10, 10, 10);
+ }
+
+ window.onload = runRepaintTest;
+ </script>
+</body>
diff --git a/LayoutTests/platform/chromium-win/fast/repaint/canvas-putImageData-expected.checksum b/LayoutTests/platform/chromium-win/fast/repaint/canvas-putImageData-expected.checksum
new file mode 100755
index 0000000..be3d8a5
--- /dev/null
+++ b/LayoutTests/platform/chromium-win/fast/repaint/canvas-putImageData-expected.checksum
@@ -0,0 +1 @@
+8a5b4758ee77120bc12515d370831a38
\ No newline at end of file
diff --git a/LayoutTests/platform/chromium-win/fast/repaint/canvas-putImageData-expected.png b/LayoutTests/platform/chromium-win/fast/repaint/canvas-putImageData-expected.png
new file mode 100755
index 0000000..9962729
Binary files /dev/null and b/LayoutTests/platform/chromium-win/fast/repaint/canvas-putImageData-expected.png differ
diff --git a/LayoutTests/platform/chromium/test_expectations.txt b/LayoutTests/platform/chromium/test_expectations.txt
index c9c4e62..a55846a 100644
--- a/LayoutTests/platform/chromium/test_expectations.txt
+++ b/LayoutTests/platform/chromium/test_expectations.txt
@@ -3074,6 +3074,8 @@ BUGWK45667 LINUX : fast/files/read-blob-async.html = CRASH PASS
BUGWK45737 DEBUG SLOW : fast/frames/frame-limit.html = PASS
+BUG57230 MAC : fast/repaint/canvas-putImageData.html = IMAGE
+
// Regressions from webkit roll r67178:t67358
BUGDPRANKE WIN LINUX DEBUG : fast/forms/select-set-length-with-mutation-remove.html = TIMEOUT PASS
BUGDPRANKE LINUX DEBUG : http/tests/incremental/slow-utf8-text.pl = TIMEOUT PASS
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 43b07a2..c261b41 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,15 @@
+2010-10-01 Vincent Scheib <scheib at chromium.org>
+
+ Reviewed by James Robinson.
+
+ REGRESSION: Lots of fast canvas updates fail to completely render
+ https://bugs.webkit.org/show_bug.cgi?id=46319
+
+ Test: fast/repaint/canvas-putImageData.html
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::putImageData):
+
2010-10-01 Nikolas Zimmermann <nzimmermann at rim.com>
Reviewed by Dirk Schulze.
diff --git a/WebCore/html/canvas/CanvasRenderingContext2D.cpp b/WebCore/html/canvas/CanvasRenderingContext2D.cpp
index 58b19a2..52b2deb 100644
--- a/WebCore/html/canvas/CanvasRenderingContext2D.cpp
+++ b/WebCore/html/canvas/CanvasRenderingContext2D.cpp
@@ -1614,16 +1614,16 @@ void CanvasRenderingContext2D::putImageData(ImageData* data, float dx, float dy,
FloatRect clipRect(dirtyX, dirtyY, dirtyWidth, dirtyHeight);
clipRect.intersect(IntRect(0, 0, data->width(), data->height()));
IntSize destOffset(static_cast<int>(dx), static_cast<int>(dy));
- IntRect sourceRect = enclosingIntRect(clipRect);
- sourceRect.move(destOffset);
- sourceRect.intersect(IntRect(IntPoint(), buffer->size()));
- if (sourceRect.isEmpty())
+ IntRect destRect = enclosingIntRect(clipRect);
+ destRect.move(destOffset);
+ destRect.intersect(IntRect(IntPoint(), buffer->size()));
+ if (destRect.isEmpty())
return;
+ IntRect sourceRect(destRect);
sourceRect.move(-destOffset);
- IntPoint destPoint(destOffset.width(), destOffset.height());
- buffer->putUnmultipliedImageData(data, sourceRect, destPoint);
- didDraw(sourceRect, CanvasDidDrawApplyNone); // ignore transform, shadow and clip
+ buffer->putUnmultipliedImageData(data, sourceRect, IntPoint(destOffset));
+ didDraw(destRect, CanvasDidDrawApplyNone); // ignore transform, shadow and clip
}
String CanvasRenderingContext2D::font() const
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list