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

Issue 799103002: Fix display list canvas not rendering correctly on high dpi displays (Closed)

Created:
6 years ago by Justin Novosad
Modified:
6 years ago
Reviewers:
Stephen White
CC:
blink-reviews, Dominik Röttsches, krit, Rik, jbroman, danakj, pdr+graphicswatchlist_chromium.org, f(malita), Stephen Chennney, rwlbuis
Project:
blink
Visibility:
Public.

Description

Fix display list canvas not rendering correctly on high dpi displays The decision to use an intermediate rasterization buffer so that the canvas can be renderered at the right resolution was be made at record time in GraphicsContext::drawPicture. That code was unable to determine whether the content would be further scaled by the compositor, so it was often making the wrong decision. This change uses a new option on SkPictureImageFilter to defer the decision to playback time. This change also sets the filter level on the SkPictureImageFilter, which solve the problem of respecting the image-rendering:pexelated CSS style. Note: the tests for issue 439251, which is fixed by this change, are in a separate change that is still under review: https://codereview.chromium.org/562583002/ BUG=439251, 432992 NOTRY=true Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=187187

Patch Set 1 #

Patch Set 2 : update #

Total comments: 4

Patch Set 3 : corrections #

Unified diffs Side-by-side diffs Delta from patch set Stats (+92 lines, -63 lines) Patch
M LayoutTests/TestExpectations View 1 chunk +4 lines, -0 lines 0 comments Download
A LayoutTests/fast/canvas/canvas-hidpi-blurry.html View 1 2 1 chunk +30 lines, -0 lines 0 comments Download
M Source/platform/graphics/GraphicsContext.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/platform/graphics/GraphicsContext.cpp View 2 chunks +11 lines, -45 lines 0 comments Download
M Source/platform/graphics/ImageBuffer.cpp View 1 2 1 chunk +1 line, -17 lines 0 comments Download
M Source/platform/graphics/ImageBufferSurface.h View 1 2 3 chunks +3 lines, -0 lines 0 comments Download
M Source/platform/graphics/ImageBufferSurface.cpp View 1 2 2 chunks +26 lines, -0 lines 0 comments Download
M Source/platform/graphics/RecordingImageBufferSurface.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M Source/platform/graphics/RecordingImageBufferSurface.cpp View 1 2 1 chunk +15 lines, -0 lines 0 comments Download

Messages

Total messages: 15 (4 generated)
Justin Novosad
PTAL
6 years ago (2014-12-12 22:05:08 UTC) #2
Stephen White
On 2014/12/12 22:05:08, junov wrote: > PTAL A LayoutTests/fast/canvas/canvas-hidpi-blurry-expected.png This shouldn't live in fast/canvas. If ...
6 years ago (2014-12-12 22:10:38 UTC) #3
Stephen White
https://codereview.chromium.org/799103002/diff/20001/Source/platform/graphics/GraphicsContext.cpp File Source/platform/graphics/GraphicsContext.cpp (right): https://codereview.chromium.org/799103002/diff/20001/Source/platform/graphics/GraphicsContext.cpp#newcode571 Source/platform/graphics/GraphicsContext.cpp:571: void GraphicsContext::compositePicture(SkPicture* picture, const FloatRect& dest, const FloatRect& src, ...
6 years ago (2014-12-12 22:14:12 UTC) #4
Justin Novosad
Unfortunately, the test cannot be a ref test because there are no code paths in ...
6 years ago (2014-12-12 22:31:51 UTC) #5
Justin Novosad
New Patch
6 years ago (2014-12-13 02:18:14 UTC) #6
Stephen White
LGTM
6 years ago (2014-12-15 19:12:56 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/799103002/40001
6 years ago (2014-12-15 19:35:21 UTC) #9
commit-bot: I haz the power
Try jobs failed on following builders: mac_blink_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/mac_blink_rel/builds/35600)
6 years ago (2014-12-15 22:49:35 UTC) #11
Justin Novosad
On 2014/12/15 22:49:35, I haz the power (commit-bot) wrote: > Try jobs failed on following ...
6 years ago (2014-12-15 22:54:27 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/799103002/40001
6 years ago (2014-12-15 22:55:41 UTC) #14
commit-bot: I haz the power
6 years ago (2014-12-15 22:56:43 UTC) #15
Message was sent while issue was closed.
Committed patchset #3 (id:40001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=187187

Powered by Google App Engine
This is Rietveld 408576698