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

Issue 15137009: Refactor shadow rendering logic. (Closed)

Created:
7 years, 7 months ago by jbroman
Modified:
7 years, 7 months ago
CC:
blink-reviews, jamesr, eae+blinkwatch, Rik, adamk+blink_chromium.org, jeez, pdr.
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Visibility:
Public.

Description

Refactor shadow rendering logic to take better advantage of the SkDrawLooper abstraction in Skia. Change text-shadow to use this newly added WebCore::DrawLooper. A quick synthetic web page which exercises text with multiple text-shadows suggests that doing this is a significant performance win (with impl-side painting, this benefits main thread record time the most). See bug for details. A clip which unnecessary removed 1px from the border of some shadows was affected; affected layout tests will need re-baselining. BUG=240297 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=150805

Patch Set 1 #

Patch Set 2 : Merge upstream changes #

Patch Set 3 : take advantage of multiple shadow interface #

Patch Set 4 : ImageOnlyFailure expectations pending rebaseline #

Patch Set 5 : a few explicit includes #

Patch Set 6 : #

Patch Set 7 : rebase #

Patch Set 8 : merge upstream changes #

Patch Set 9 : merge master again #

Patch Set 10 : correct upstream #

Patch Set 11 : more brackets to make clang happy and fix the mac build #

Patch Set 12 : remove unnecessary <algorithm> include #

Total comments: 7

Patch Set 13 : changes suggested by schenney #

Patch Set 14 : merge upstream changes #

Unified diffs Side-by-side diffs Delta from patch set Stats (+261 lines, -188 lines) Patch
M LayoutTests/TestExpectations View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +4 lines, -0 lines 0 comments Download
M Source/core/core.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/html/canvas/CanvasRenderingContext2D.cpp View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
A + Source/core/platform/graphics/DrawLooper.h View 1 chunk +38 lines, -11 lines 0 comments Download
A Source/core/platform/graphics/DrawLooper.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +98 lines, -0 lines 0 comments Download
M Source/core/platform/graphics/GraphicsContext.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +9 lines, -4 lines 0 comments Download
M Source/core/platform/graphics/GraphicsContext.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +19 lines, -69 lines 0 comments Download
M Source/core/platform/graphics/GraphicsContextState.h View 1 2 3 4 5 6 7 8 5 chunks +5 lines, -14 lines 0 comments Download
M Source/core/rendering/EllipsisBox.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 4 chunks +30 lines, -40 lines 0 comments Download
M Source/core/rendering/InlineTextBox.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 5 chunks +50 lines, -45 lines 0 comments Download
M Source/core/rendering/RenderBoxModelObject.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +4 lines, -3 lines 0 comments Download
M Source/core/rendering/svg/SVGRenderingContext.cpp View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 15 (0 generated)
jbroman
Now that non-Skia platforms don't exist anymore, we don't need to work around the limitations ...
7 years, 7 months ago (2013-05-17 15:10:56 UTC) #1
Stephen Chennney
There is code in ImageSkia.cpp that grabs the draw looper in GraphicsContext and adds it ...
7 years, 7 months ago (2013-05-17 15:35:34 UTC) #2
jbroman
https://codereview.chromium.org/15137009/diff/26013/Source/core/platform/graphics/DrawLooper.cpp File Source/core/platform/graphics/DrawLooper.cpp (right): https://codereview.chromium.org/15137009/diff/26013/Source/core/platform/graphics/DrawLooper.cpp#newcode65 Source/core/platform/graphics/DrawLooper.cpp:65: // for perf reasons. On 2013/05/17 15:35:34, Stephen Chenney ...
7 years, 7 months ago (2013-05-17 15:43:18 UTC) #3
jbroman
https://codereview.chromium.org/15137009/diff/26013/Source/core/rendering/EllipsisBox.cpp File Source/core/rendering/EllipsisBox.cpp (right): https://codereview.chromium.org/15137009/diff/26013/Source/core/rendering/EllipsisBox.cpp#newcode64 Source/core/rendering/EllipsisBox.cpp:64: } while ((shadow = shadow->next())); On 2013/05/17 15:43:18, jbroman ...
7 years, 7 months ago (2013-05-17 19:16:55 UTC) #4
Stephen Chennney
On 2013/05/17 19:16:55, jbroman wrote: > Another, possibly easier option, would be to get a ...
7 years, 7 months ago (2013-05-17 19:45:50 UTC) #5
Stephen Chennney
lgtm
7 years, 7 months ago (2013-05-17 19:47:13 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jbroman@chromium.org/15137009/28002
7 years, 7 months ago (2013-05-17 19:47:21 UTC) #7
commit-bot: I haz the power
Retried try job too often on win_layout_rel for step(s) webkit_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=win_layout_rel&number=5545
7 years, 7 months ago (2013-05-17 21:21:51 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jbroman@chromium.org/15137009/28002
7 years, 7 months ago (2013-05-21 14:52:07 UTC) #9
commit-bot: I haz the power
Failed to apply patch for Source/core/rendering/InlineTextBox.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
7 years, 7 months ago (2013-05-21 14:52:14 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jbroman@chromium.org/15137009/54001
7 years, 7 months ago (2013-05-21 15:45:30 UTC) #11
commit-bot: I haz the power
Change committed as 150805
7 years, 7 months ago (2013-05-21 16:24:55 UTC) #12
eseidel
This appears to have caused a change in behavior in http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=svg%2Fcss%2Ftext-shadow-multiple.xhtml
7 years, 7 months ago (2013-05-21 22:45:29 UTC) #13
danakj
On 2013/05/21 22:45:29, eseidel wrote: > This appears to have caused a change in behavior ...
7 years, 7 months ago (2013-05-21 22:51:40 UTC) #14
danakj
7 years, 7 months ago (2013-05-21 22:55:54 UTC) #15
Message was sent while issue was closed.
On 2013/05/21 22:51:40, danakj wrote:
> On 2013/05/21 22:45:29, eseidel wrote:
> > This appears to have caused a change in behavior in
> >
>
http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=svg...
> 
> There's a single pixel different in the 10.8 diff, it looks like it needs a
> rebaseline to me. I'll do that. Must have missed it when I rebaselined the
> others.

Looks like julien beat me to it :)

Powered by Google App Engine
This is Rietveld 408576698