summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/fast/canvas/canvas-imageSmoothingEnabled-repaint.html
diff options
context:
space:
mode:
authorcommit-queue@webkit.org <commit-queue@webkit.org@bbb929c8-8fbe-4397-9dbb-9b2b20218538>2012-06-14 18:33:03 +0000
committercommit-queue@webkit.org <commit-queue@webkit.org@bbb929c8-8fbe-4397-9dbb-9b2b20218538>2012-06-14 18:33:03 +0000
commita4d44d380a46482d9be4212533ce4f9de9ef5304 (patch)
tree840d8ca88d0eacba2e3f73448d789084d11e658c /third_party/WebKit/LayoutTests/fast/canvas/canvas-imageSmoothingEnabled-repaint.html
parent343a57a407899396c515d08db24893fbd1e7b461 (diff)
downloadchromium_src-a4d44d380a46482d9be4212533ce4f9de9ef5304.zip
chromium_src-a4d44d380a46482d9be4212533ce4f9de9ef5304.tar.gz
chromium_src-a4d44d380a46482d9be4212533ce4f9de9ef5304.tar.bz2
[Chromium] webkitImageSmoothingEnabled canvas property does not work on redraw
https://bugs.webkit.org/show_bug.cgi?id=89018 Patch by Justin Novosad <junov@chromium.org> on 2012-06-14 Reviewed by Stephen White. Source/WebCore: Test: fast/canvas/canvas-imageSmoothingEnabled-repaint.html When an accelerated canvas layer prepares its texture for the compositor, it must send a notification to skia to invalidate texture proprties that are cached by skia, since the compositor may modify them. The use case this fixes is when a canvas to canvas copy is performed with webkitImageSmoothingEnabled=false on the destination canvas. The backing texture of the source canvas will be set to "nearest" filtering by skia in order to perform the copy. Then, the compositor sets filtering back to "linear" when the source canvas is drawn. Skia is designed to only update GL attributes when required, so errors occur when the skia-side GL state cache is out of sync. * platform/graphics/chromium/Canvas2DLayerBridge.cpp: (WebCore::Canvas2DLayerBridge::prepareTexture): Source/WebKit/chromium: Rolling chromium DEPS to 141884 * DEPS: LayoutTests: New layout test that verifies that disabling image smoothing on a 2d canvas continues to work after multiple paint cycles. * fast/canvas/canvas-imageSmoothingEnabled-repaint-expected.txt: Added. * fast/canvas/canvas-imageSmoothingEnabled-repaint.html: Added. * fast/canvas/script-tests/canvas-imageSmoothingEnabled-repaint.js: Added. (draw): (testResult): (TestControllerPaint): (BrowserPaint): (onLoadHandler): git-svn-id: svn://svn.chromium.org/blink/trunk@120344 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Diffstat (limited to 'third_party/WebKit/LayoutTests/fast/canvas/canvas-imageSmoothingEnabled-repaint.html')
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/canvas-imageSmoothingEnabled-repaint.html12
1 files changed, 12 insertions, 0 deletions
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/canvas-imageSmoothingEnabled-repaint.html b/third_party/WebKit/LayoutTests/fast/canvas/canvas-imageSmoothingEnabled-repaint.html
new file mode 100644
index 0000000..ffc4b20
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/canvas/canvas-imageSmoothingEnabled-repaint.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <script src="../js/resources/js-test-pre.js"></script>
+</head>
+<body>
+ <canvas id="destination" width="300" height="300"></canvas>
+ <canvas id="source" width="300" height="300"></canvas>
+ <script src="script-tests/canvas-imageSmoothingEnabled-repaint.js"></script>
+ <script src="../js/resources/js-test-post.js"></script>
+</body>
+</html>