Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Issue 402613006: Fixing 2D canvas invalidation region tracking. (Closed)

Created:
6 years, 5 months ago by Justin Novosad
Modified:
6 years, 5 months ago
Reviewers:
danakj, Stephen White
CC:
blink-reviews, jamesr, blink-reviews-rendering, jbroman, zoltan1, krit, rwlbuis, blink-reviews-html_chromium.org, eae+blinkwatch, leviw+renderwatch, abarth-chromium, danakj, dglazkov+blink, Rik, jchaffraix+rendering, pdr., aandrey+blink_chromium.org, Stephen Chennney, rune+blink, Hongbo Min
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Project:
blink
Visibility:
Public.

Description

Fixing 2D canvas invalidation region tracking. The partial layer invalidation logic that was added in r176815 was not properly transforming the invalidation region from the layer's local frame of reference to the layer's content area. The proper logic already existed for non-accelerated 2d canvases, but we were short- circuiting it whith acceleration enabled because we did not support partial invalidations in the past. This fix makes accelerated 2D canvases use the same invalidation code path as non-accelerated canvases. TEST=fast/canvas/canvas-partial-invalidation-zoomed.html BUG=393192 NOTRY=true Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=178392

Patch Set 1 #

Total comments: 6

Patch Set 2 : fixups and baselines #

Unified diffs Side-by-side diffs Delta from patch set Stats (+85 lines, -18 lines) Patch
M LayoutTests/compositing/draws-content/canvas-background-layer-expected.txt View 1 1 chunk +1 line, -0 lines 0 comments Download
M LayoutTests/compositing/draws-content/webgl-background-layer-expected.txt View 1 1 chunk +1 line, -0 lines 0 comments Download
M LayoutTests/compositing/layer-creation/should-invoke-deferred-compositing-expected.txt View 1 1 chunk +6 lines, -1 line 0 comments Download
M LayoutTests/compositing/layer-creation/spanOverlapsCanvas-expected.txt View 1 1 chunk +2 lines, -1 line 0 comments Download
A LayoutTests/fast/canvas/canvas-partial-invalidation-zoomed.html View 1 chunk +34 lines, -0 lines 0 comments Download
A LayoutTests/fast/canvas/canvas-partial-invalidation-zoomed-expected.html View 1 chunk +12 lines, -0 lines 0 comments Download
M LayoutTests/fast/repaint/canvas-putImageData-expected.txt View 1 1 chunk +2 lines, -2 lines 0 comments Download
M Source/core/html/HTMLCanvasElement.h View 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/html/HTMLCanvasElement.cpp View 2 chunks +14 lines, -5 lines 0 comments Download
M Source/core/html/canvas/CanvasRenderingContext2D.cpp View 1 chunk +0 lines, -8 lines 0 comments Download
M Source/core/rendering/compositing/CompositedLayerMapping.cpp View 1 1 chunk +0 lines, -1 line 0 comments Download
M Source/platform/graphics/Canvas2DLayerBridge.cpp View 1 chunk +4 lines, -0 lines 0 comments Download
M Source/platform/graphics/ImageBuffer.h View 1 chunk +1 line, -0 lines 0 comments Download
M Source/platform/graphics/ImageBuffer.cpp View 1 chunk +6 lines, -0 lines 0 comments Download
M Source/platform/graphics/ImageBufferClient.h View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 15 (0 generated)
Justin Novosad
6 years, 5 months ago (2014-07-17 15:09:46 UTC) #1
Justin Novosad
https://codereview.chromium.org/402613006/diff/1/Source/core/html/HTMLCanvasElement.cpp File Source/core/html/HTMLCanvasElement.cpp (right): https://codereview.chromium.org/402613006/diff/1/Source/core/html/HTMLCanvasElement.cpp#newcode204 Source/core/html/HTMLCanvasElement.cpp:204: FloatRect mappedDirtyRect = mapRect(r, srcRect, ro->contentBoxRect()); The change to ...
6 years, 5 months ago (2014-07-17 15:13:24 UTC) #2
Justin Novosad
A note regarding test coverage: the layout test I added only fails on ToT on ...
6 years, 5 months ago (2014-07-17 15:17:29 UTC) #3
Stephen White
LGTM https://codereview.chromium.org/402613006/diff/1/Source/core/html/canvas/CanvasRenderingContext2D.cpp File Source/core/html/canvas/CanvasRenderingContext2D.cpp (left): https://codereview.chromium.org/402613006/diff/1/Source/core/html/canvas/CanvasRenderingContext2D.cpp#oldcode1749 Source/core/html/canvas/CanvasRenderingContext2D.cpp:1749: if (isAccelerated() && platformLayer()) { Can we get ...
6 years, 5 months ago (2014-07-17 15:28:19 UTC) #4
Justin Novosad
On 2014/07/17 15:28:19, Stephen White wrote: > It seems unfortunate that ImageBuffer has all this ...
6 years, 5 months ago (2014-07-17 16:31:29 UTC) #5
Justin Novosad
https://codereview.chromium.org/402613006/diff/1/Source/core/html/canvas/CanvasRenderingContext2D.cpp File Source/core/html/canvas/CanvasRenderingContext2D.cpp (left): https://codereview.chromium.org/402613006/diff/1/Source/core/html/canvas/CanvasRenderingContext2D.cpp#oldcode1749 Source/core/html/canvas/CanvasRenderingContext2D.cpp:1749: if (isAccelerated() && platformLayer()) { On 2014/07/17 15:28:19, Stephen ...
6 years, 5 months ago (2014-07-17 17:07:21 UTC) #6
Justin Novosad
The CQ bit was checked by junov@chromium.org
6 years, 5 months ago (2014-07-17 17:07:45 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/junov@chromium.org/402613006/20001
6 years, 5 months ago (2014-07-17 17:08:26 UTC) #8
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: linux_gpu_triggered_tests on tryserver.chromium.gpu ...
6 years, 5 months ago (2014-07-17 18:26:47 UTC) #9
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 5 months ago (2014-07-17 19:25:37 UTC) #10
commit-bot: I haz the power
Try jobs failed on following builders: win_gpu_triggered_tests on tryserver.chromium.gpu (http://build.chromium.org/p/tryserver.chromium.gpu/builders/win_gpu_triggered_tests/builds/29262)
6 years, 5 months ago (2014-07-17 19:25:38 UTC) #11
Justin Novosad
On 2014/07/17 19:25:38, I haz the power (commit-bot) wrote: > Try jobs failed on following ...
6 years, 5 months ago (2014-07-17 19:33:29 UTC) #12
Justin Novosad
The CQ bit was checked by junov@chromium.org
6 years, 5 months ago (2014-07-17 19:37:00 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/junov@chromium.org/402613006/20001
6 years, 5 months ago (2014-07-17 19:37:18 UTC) #14
commit-bot: I haz the power
6 years, 5 months ago (2014-07-17 19:37:55 UTC) #15
Message was sent while issue was closed.
Change committed as 178392

Powered by Google App Engine
This is Rietveld 408576698