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

Issue 1328283005: Add support for multiple text decorations with same line positioning (Closed)

Created:
5 years, 3 months ago by sashab
Modified:
4 years, 1 month ago
Reviewers:
Timothy Loh, rune
CC:
blink-reviews, szager+layoutwatch_chromium.org, blink-reviews-style_chromium.org, zoltan1, blink-reviews-css, pdr+renderingwatchlist_chromium.org, eae+blinkwatch, leviw+renderwatch, slimming-paint-reviews_chromium.org, blink-reviews-paint_chromium.org, dglazkov+blink, apavlov+blink_chromium.org, jchaffraix+rendering, darktears, dshwang, blink-reviews-layout_chromium.org, rwlbuis
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Add support for multiple text decorations with same line positioning Add support for multiple propagated text decorations with the same line positioning, as defined in http://www.w3.org/TR/css-text-decor-3/. Before this, elements with multiple text decorations but the same line positioning (e.g. two underlines) would only paint the 'topmost' one. With this patch, both lines are painted. This is important for CSS Text Decorations Module 3, where two text decorations can have the same line position but different styles (e.g. wavy and solid), and they should be painted on top of eachother. This minimally affects some tests where two text decorations with the same line positioning were present but only one was being painted. Also cleaned up the existing logic for text decorations to only inherit through StyleAdjuster, removing the need to traverse up the tree to resolve colors for inherited text decorations. BUG=462142

Patch Set 1 #

Patch Set 2 : Remove all unnecessary changes, added tests #

Patch Set 3 : Rebase #

Patch Set 4 : Rebase #

Patch Set 5 : Re-write with simple change and test on trybots #

Patch Set 6 : Working color propagation; test on trybots #

Patch Set 7 : Working version 1 for testing #

Patch Set 8 : A bit more cleanup #

Patch Set 9 : Added tests from first patch since fix also fixes inheritance bug #

Patch Set 10 : Failing tests need rebaseline #

Patch Set 11 : Rebaselined tests (see previous patch for layout test results) #

Patch Set 12 : Review feedback #

Total comments: 3

Patch Set 13 : Review feedback & rebase onto Chrome #

Patch Set 14 : Rebase #

Total comments: 14

Patch Set 15 : Review feedback and test rebaselines #

Patch Set 16 : Rebase #

Patch Set 17 : Bad rebase #

Patch Set 18 : Rebase again #

Total comments: 14

Patch Set 19 : Review feedback #

Patch Set 20 : Rebase #

Total comments: 4

Patch Set 21 : Review feedback #

Patch Set 22 : Removed test expectations to see results on bots #

Patch Set 23 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+440 lines, -163 lines) Patch
A third_party/WebKit/LayoutTests/fast/css3-text/css3-text-decoration/text-decoration-style-inherit.html View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +136 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +18 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-links.html View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +47 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-links-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +8 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-not-propagated-by-out-of-flow.html View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +44 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-not-propagated-by-out-of-flow-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +4 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-simple-underlines.html View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +54 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-simple-underlines-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +6 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 chunks +13 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +0 lines, -9 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +0 lines, -57 lines 0 comments Download
M third_party/WebKit/Source/core/paint/InlineTextBoxPainter.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 chunks +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/paint/InlineTextBoxPainter.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 7 chunks +32 lines, -35 lines 0 comments Download
M third_party/WebKit/Source/core/paint/SVGInlineTextBoxPainter.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 3 chunks +12 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/core/style/AppliedTextDecoration.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 chunks +7 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/core/style/AppliedTextDecoration.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +3 lines, -10 lines 0 comments Download
M third_party/WebKit/Source/core/style/ComputedStyle.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 5 chunks +5 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/style/ComputedStyle.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 3 chunks +49 lines, -31 lines 0 comments Download

Messages

Total messages: 31 (5 generated)
sashab
I'm WIP fixing the failing tests... How do you feel about the overall implementation so ...
5 years, 3 months ago (2015-09-17 01:21:25 UTC) #2
Timothy Loh
On 2015/09/17 01:21:25, sashab wrote: > I'm WIP fixing the failing tests... How do you ...
5 years, 3 months ago (2015-09-17 01:24:52 UTC) #3
sashab
Ok tim, I think it's ready for you to take another look. Hopefully it's clear ...
5 years, 3 months ago (2015-09-21 02:09:40 UTC) #4
Timothy Loh
On 2015/09/21 02:09:40, sashab wrote: > Ok tim, I think it's ready for you to ...
5 years, 3 months ago (2015-09-21 07:58:19 UTC) #5
sashab
It's not that I was misreading the code... But you're right, we can actually get ...
5 years, 3 months ago (2015-09-22 03:01:34 UTC) #6
Timothy Loh
I don't get the isAffectByPropagatedColors thing. Also I think we shouldn't add more colors to ...
5 years, 3 months ago (2015-09-22 05:00:23 UTC) #7
Timothy Loh
FYI the <font> behaviour of overriding text decoration colors is in the HTML spec, while ...
5 years, 3 months ago (2015-09-22 07:19:28 UTC) #8
sashab
I've removed isAffectByPropagatedColors(), but have a look at text-decoration-style-inherit-links.html. <div style="text-decoration: underline wavy green;"> <a ...
5 years, 2 months ago (2015-09-24 01:19:27 UTC) #9
Timothy Loh
I think I don't exactly get the <a>/<font> thing, could you clarify *precisely* what our ...
5 years, 2 months ago (2015-09-24 01:38:16 UTC) #10
sashab
To answer your first question: the current behavior is that <a> and <font> tags override ...
5 years, 2 months ago (2015-09-24 02:49:03 UTC) #11
sashab
Ping tim
5 years, 2 months ago (2015-09-29 02:52:53 UTC) #12
sashab
So it turns out that using expected.html files for these tests is actually harder than ...
5 years, 2 months ago (2015-09-30 01:50:54 UTC) #13
Timothy Loh
Please update the patch description to actually explain what's changing in the patch. Also we ...
5 years, 2 months ago (2015-10-01 01:51:44 UTC) #14
sashab
Thanks tim; responded to all comments. https://codereview.chromium.org/1328283005/diff/250001/third_party/WebKit/LayoutTests/TestExpectations File third_party/WebKit/LayoutTests/TestExpectations (right): https://codereview.chromium.org/1328283005/diff/250001/third_party/WebKit/LayoutTests/TestExpectations#newcode2080 third_party/WebKit/LayoutTests/TestExpectations:2080: crbug.com/462142 svg/batik/text/textDecoration2.svg [ ...
5 years, 2 months ago (2015-10-02 02:45:42 UTC) #15
Timothy Loh
What's the change on the tests that need rebaseline and why did they change? I ...
5 years, 2 months ago (2015-10-02 05:40:21 UTC) #16
sashab
The changes in the images are *rreeally* subtle (I've uploaded an image for every test ...
5 years, 2 months ago (2015-10-02 06:03:57 UTC) #17
Timothy Loh
Some comments on the patch notes: - Be clearer on the test changes, "This changes ...
5 years, 2 months ago (2015-10-12 00:11:16 UTC) #18
sashab
Thanks Tim, had a shot at rewriting the patch description. PTAL. https://codereview.chromium.org/1328283005/diff/330001/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp File third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp (right): ...
5 years, 2 months ago (2015-10-12 23:11:02 UTC) #19
sashab
Ping tim, should be OK now
5 years, 2 months ago (2015-10-18 22:54:13 UTC) #20
sashab
Timloh pls review
5 years, 1 month ago (2015-11-03 03:28:07 UTC) #21
Timothy Loh
lgtm with some nits https://codereview.chromium.org/1328283005/diff/370001/third_party/WebKit/Source/core/style/ComputedStyle.cpp File third_party/WebKit/Source/core/style/ComputedStyle.cpp (right): https://codereview.chromium.org/1328283005/diff/370001/third_party/WebKit/Source/core/style/ComputedStyle.cpp#newcode1418 third_party/WebKit/Source/core/style/ComputedStyle.cpp:1418: for (size_t i = 0; ...
5 years, 1 month ago (2015-11-03 06:38:59 UTC) #22
sashab
https://codereview.chromium.org/1328283005/diff/370001/third_party/WebKit/Source/core/style/ComputedStyle.cpp File third_party/WebKit/Source/core/style/ComputedStyle.cpp (right): https://codereview.chromium.org/1328283005/diff/370001/third_party/WebKit/Source/core/style/ComputedStyle.cpp#newcode1418 third_party/WebKit/Source/core/style/ComputedStyle.cpp:1418: for (size_t i = 0; i < rareInheritedData->appliedTextDecorations->size(); ++i) ...
5 years, 1 month ago (2015-11-03 22:51:26 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1328283005/390001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1328283005/390001
5 years, 1 month ago (2015-11-03 22:52:43 UTC) #26
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_rel_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/135618)
5 years, 1 month ago (2015-11-04 00:57:36 UTC) #28
Timothy Loh
BTW we might eventually need to move propagation out of the StyleAdjuster because it doesn't ...
4 years, 11 months ago (2016-01-04 06:45:39 UTC) #30
drott
4 years, 1 month ago (2016-11-14 15:47:03 UTC) #31
Message was sent while issue was closed.
As agreed with Sasha, I'm taking this one. Rebased and adapted in
https://codereview.chromium.org/2497963002

Powered by Google App Engine
This is Rietveld 408576698