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

Issue 669123002: Fixed Shadow blur for transparent objects (Closed)

Created:
6 years, 1 month ago by sugoi1
Modified:
6 years ago
CC:
blink-reviews, Rik, danakj, krit, jbroman, mkwst+moarreviews_chromium.org, pdr+graphicswatchlist_chromium.org, rwlbuis, Stephen Chennney
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Project:
blink
Visibility:
Public.

Description

Fixed Shadow blur for transparent objects Added image filter as another option to drawLooper for rendering shadows, when alpha must be respected. BUG=100703 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=184443

Patch Set 1 #

Patch Set 2 : Added opacity check #

Total comments: 26

Patch Set 3 : Fixed some comments #

Total comments: 12

Patch Set 4 : Fixed nits and added TestExpectations #

Patch Set 5 : New SkDropShadowImageFilter API #

Patch Set 6 : Attempt at fixing last layout test issue #

Patch Set 7 : Changed canvas-shadow-source-in.html from ref test to pixel test #

Patch Set 8 : Added missing virtual layout test to TestExpectations #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+78 lines, -48 lines) Patch
M LayoutTests/TestExpectations View 1 2 3 4 5 6 7 1 chunk +9 lines, -0 lines 0 comments Download
M LayoutTests/fast/canvas/canvas-shadow-source-in.html View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/fast/canvas/canvas-shadow-source-in-expected.html View 1 2 3 4 5 6 1 chunk +0 lines, -35 lines 0 comments Download
M Source/core/paint/BoxPainter.cpp View 1 2 1 chunk +1 line, -4 lines 0 comments Download
M Source/platform/graphics/GraphicsContext.h View 1 2 3 3 chunks +6 lines, -1 line 0 comments Download
M Source/platform/graphics/GraphicsContext.cpp View 1 2 3 4 4 chunks +36 lines, -2 lines 1 comment Download
M Source/platform/graphics/GraphicsContextState.h View 1 2 3 chunks +6 lines, -0 lines 0 comments Download
M Source/platform/graphics/GraphicsContextState.cpp View 1 2 2 chunks +11 lines, -0 lines 0 comments Download
M Source/platform/graphics/StaticBitmapImage.cpp View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M Source/platform/graphics/UnacceleratedImageBufferSurface.cpp View 1 2 3 4 5 1 chunk +4 lines, -1 line 0 comments Download
M Source/platform/graphics/filters/FEDropShadow.cpp View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M Source/platform/graphics/filters/SkiaImageFilterBuilder.cpp View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M Source/platform/graphics/skia/NativeImageSkia.cpp View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download

Messages

Total messages: 16 (3 generated)
sugoi1
I still need to run the layout tests and make the necessary changes to layout ...
6 years, 1 month ago (2014-10-22 12:40:48 UTC) #2
Stephen White
https://codereview.chromium.org/669123002/diff/20001/Source/platform/graphics/GraphicsContext.cpp File Source/platform/graphics/GraphicsContext.cpp (right): https://codereview.chromium.org/669123002/diff/20001/Source/platform/graphics/GraphicsContext.cpp#newcode331 Source/platform/graphics/GraphicsContext.cpp:331: // The image filter MUST be set after the ...
6 years, 1 month ago (2014-10-23 01:45:47 UTC) #3
Justin Novosad
You need to validate the layout test diffs and add the necessary [NeedsRebaseline] https://codereview.chromium.org/669123002/diff/20001/Source/platform/graphics/GraphicsContext.cpp File ...
6 years, 1 month ago (2014-10-23 02:29:21 UTC) #4
sugoi1
https://codereview.chromium.org/669123002/diff/20001/Source/platform/graphics/GraphicsContext.cpp File Source/platform/graphics/GraphicsContext.cpp (right): https://codereview.chromium.org/669123002/diff/20001/Source/platform/graphics/GraphicsContext.cpp#newcode325 Source/platform/graphics/GraphicsContext.cpp:325: drawLooperBuilder->addShadow(offset, blur, color, shadowTransformMode, shadowAlphaMode); On 2014/10/23 02:29:21, junov ...
6 years, 1 month ago (2014-10-23 17:43:18 UTC) #5
Justin Novosad
https://codereview.chromium.org/669123002/diff/40001/Source/platform/graphics/GraphicsContext.cpp File Source/platform/graphics/GraphicsContext.cpp (right): https://codereview.chromium.org/669123002/diff/40001/Source/platform/graphics/GraphicsContext.cpp#newcode1997 Source/platform/graphics/GraphicsContext.cpp:1997: bool isOpaque, bikeshed: For readability it should be clear ...
6 years, 1 month ago (2014-10-23 17:59:23 UTC) #6
Stephen White
LGTM w/nits fixed https://codereview.chromium.org/669123002/diff/40001/Source/core/paint/SVGInlineTextBoxPainter.cpp File Source/core/paint/SVGInlineTextBoxPainter.cpp (right): https://codereview.chromium.org/669123002/diff/40001/Source/core/paint/SVGInlineTextBoxPainter.cpp#newcode328 Source/core/paint/SVGInlineTextBoxPainter.cpp:328: context->clearShadow(); I wouldn't bother with this ...
6 years, 1 month ago (2014-10-23 19:08:49 UTC) #7
sugoi1
https://codereview.chromium.org/669123002/diff/40001/Source/core/paint/SVGInlineTextBoxPainter.cpp File Source/core/paint/SVGInlineTextBoxPainter.cpp (right): https://codereview.chromium.org/669123002/diff/40001/Source/core/paint/SVGInlineTextBoxPainter.cpp#newcode328 Source/core/paint/SVGInlineTextBoxPainter.cpp:328: context->clearShadow(); On 2014/10/23 19:08:48, Stephen White wrote: > I ...
6 years, 1 month ago (2014-10-23 20:25:14 UTC) #8
Justin Novosad
lgtm
6 years, 1 month ago (2014-10-24 16:41:58 UTC) #9
sugoi1
PTAL. This should work now.
6 years, 1 month ago (2014-10-24 20:02:31 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/669123002/140001
6 years, 1 month ago (2014-10-27 12:25:10 UTC) #12
commit-bot: I haz the power
Committed patchset #8 (id:140001) as 184443
6 years, 1 month ago (2014-10-27 12:56:42 UTC) #13
leviw_travelin_and_unemployed
FYI: All sorts of crazy is happening with this layout test... http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=virtual%2Fgpu%2Ffast%2Fcanvas%2Fcanvas-shadow-source-in.html
6 years, 1 month ago (2014-10-27 19:11:25 UTC) #15
Justin Novosad
6 years ago (2014-11-28 23:20:39 UTC) #16
Message was sent while issue was closed.
https://codereview.chromium.org/669123002/diff/140001/Source/platform/graphic...
File Source/platform/graphics/GraphicsContext.cpp (right):

https://codereview.chromium.org/669123002/diff/140001/Source/platform/graphic...
Source/platform/graphics/GraphicsContext.cpp:331: if (shadowTransformMode ==
DrawLooperBuilder::ShadowIgnoresTransforms
This is wrong by the way. SkDropShadowImageFilter Does not ignore transforms. It
applies the CTM to sigma and to the offset.  This CL causes a regression that
was not caught because of incomplete test coverage. There are no tests that draw
semi-transparent images with a shadow with a transform (other than translation)
applied.  crbug.com/437112

Powered by Google App Engine
This is Rietveld 408576698