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

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

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

Description

Add support for multiple text decorations with same line positioning Original patch by Sasha Morrissey, rebased and adapted. 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 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Committed: https://crrev.com/3ffa4763a6a442e26f1ea2a87ee2bf3f0aa26e1b Cr-Commit-Position: refs/heads/master@{#433191}

Patch Set 1 #

Patch Set 2 : Only use m_hasSimpleUnderline for currentColor, as before #

Patch Set 3 : fix leftover test modification #

Patch Set 4 : Bot rebaselines added #

Patch Set 5 : Rebased #

Total comments: 1

Patch Set 6 : Added back fontData check #

Patch Set 7 : Update slimming paint expectations #

Unified diffs Side-by-side diffs Delta from patch set Stats (+531 lines, -220 lines) Patch
M third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 View 1 2 3 4 5 6 2 chunks +3 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/css3-text/css3-text-decoration/text-decoration-style-inherit.html View 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 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 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 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 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 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 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 chunk +6 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/platform/linux/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-expected.png View 1 2 3 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/platform/linux/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-expected.txt View 1 2 3 1 chunk +18 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/platform/linux/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-links-expected.png View 1 2 3 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/platform/linux/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-links-expected.txt View 1 2 3 1 chunk +8 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/platform/linux/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-not-propagated-by-out-of-flow-expected.png View 1 2 3 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/platform/linux/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-not-propagated-by-out-of-flow-expected.txt View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/platform/linux/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-simple-underlines-expected.png View 1 2 3 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/platform/linux/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-simple-underlines-expected.txt View 1 2 3 1 chunk +6 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/svg/W3C-SVG-1.1/text-deco-01-b-expected.png View 1 2 3 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/svg/batik/text/textDecoration-expected.png View 1 2 3 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/svg/batik/text/textDecoration2-expected.png View 1 2 3 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/svg/text/text-selection-deco-01-b-expected.png View 1 2 3 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug126742-expected.png View 1 2 3 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/core/bloomberg-expected.png View 1 2 3 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-expected.png View 1 2 3 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac-mac10.9/tables/mozilla/core/bloomberg-expected.png View 1 2 3 Binary file 0 comments Download
A + third_party/WebKit/LayoutTests/platform/mac-retina/fast/css/first-line-text-decoration-inherited-from-parent-expected.png View 1 2 3 Binary file 0 comments Download
A + third_party/WebKit/LayoutTests/platform/mac-retina/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-all-expected.png View 1 2 3 Binary file 0 comments Download
A + third_party/WebKit/LayoutTests/platform/mac-retina/svg/W3C-SVG-1.1/text-deco-01-b-expected.png View 1 2 3 Binary file 0 comments Download
A + third_party/WebKit/LayoutTests/platform/mac-retina/svg/batik/text/textDecoration-expected.png View 1 2 3 Binary file 0 comments Download
A + third_party/WebKit/LayoutTests/platform/mac-retina/svg/batik/text/textDecoration2-expected.png View 1 2 3 Binary file 0 comments Download
A + third_party/WebKit/LayoutTests/platform/mac-retina/svg/text/text-selection-deco-01-b-expected.png View 1 2 3 Binary file 0 comments Download
A + third_party/WebKit/LayoutTests/platform/mac-retina/tables/mozilla/bugs/bug126742-expected.png View 1 2 3 Binary file 0 comments Download
A + third_party/WebKit/LayoutTests/platform/mac-retina/tables/mozilla/core/bloomberg-expected.png View 1 2 3 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/fast/css/first-line-text-decoration-inherited-from-parent-expected.png View 1 2 3 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/platform/mac/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-expected.png View 1 2 3 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/platform/mac/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-links-expected.png View 1 2 3 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/platform/mac/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-not-propagated-by-out-of-flow-expected.png View 1 2 3 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/platform/mac/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-simple-underlines-expected.png View 1 2 3 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-all-expected.png View 1 2 3 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-deco-01-b-expected.png View 1 2 3 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/textDecoration-expected.png View 1 2 3 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/textDecoration2-expected.png View 1 2 3 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/svg/text/text-selection-deco-01-b-expected.png View 1 2 3 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug126742-expected.png View 1 2 3 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/core/bloomberg-expected.png View 1 2 3 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/fast/css/first-line-text-decoration-inherited-from-parent-expected.png View 1 2 3 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/platform/win/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-expected.png View 1 2 3 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/platform/win/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-links-expected.png View 1 2 3 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/platform/win/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-not-propagated-by-out-of-flow-expected.png View 1 2 3 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/platform/win/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-simple-underlines-expected.png View 1 2 3 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-all-expected.png View 1 2 3 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/text-deco-01-b-expected.png View 1 2 3 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textDecoration-expected.png View 1 2 3 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textDecoration2-expected.png View 1 2 3 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/svg/text/text-selection-deco-01-b-expected.png View 1 2 3 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug126742-expected.png View 1 2 3 Binary file 0 comments Download
M third_party/WebKit/LayoutTests/platform/win/tables/mozilla/core/bloomberg-expected.png View 1 2 3 Binary file 0 comments Download
M third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp View 1 2 3 4 5 6 2 chunks +15 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.h View 1 2 3 4 1 chunk +0 lines, -15 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutObject.cpp View 1 2 3 4 1 chunk +0 lines, -68 lines 0 comments Download
M third_party/WebKit/Source/core/paint/InlineTextBoxPainter.h View 2 chunks +4 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/paint/InlineTextBoxPainter.cpp View 1 2 3 4 5 7 chunks +56 lines, -63 lines 0 comments Download
M third_party/WebKit/Source/core/paint/SVGInlineTextBoxPainter.cpp View 1 2 3 4 3 chunks +13 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/core/style/AppliedTextDecoration.h View 2 chunks +7 lines, -10 lines 0 comments Download
M third_party/WebKit/Source/core/style/AppliedTextDecoration.cpp View 1 chunk +3 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/core/style/ComputedStyle.h View 1 2 3 4 5 6 5 chunks +8 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/style/ComputedStyle.cpp View 1 2 3 4 4 chunks +69 lines, -40 lines 0 comments Download

Messages

Total messages: 51 (34 generated)
drott
Thanks, Sasha, your well-written code still lent itself quite well for rebasing / adapting. Unfortunately, ...
4 years, 1 month ago (2016-11-14 15:50:39 UTC) #3
drott
Only use m_hasSimpleUnderline for currentColor, as before
4 years, 1 month ago (2016-11-15 15:23:54 UTC) #8
drott
I modified the CL to only use the m_hasSimpleUnderline optimization for when the underline is ...
4 years, 1 month ago (2016-11-15 15:27:38 UTC) #9
drott
With that, I think it's ready for review.
4 years, 1 month ago (2016-11-15 15:52:35 UTC) #12
drott
fix leftover test modification
4 years, 1 month ago (2016-11-15 17:31:39 UTC) #15
sashab
Yup, this is looking great so far :) just a few more failing tests -- ...
4 years, 1 month ago (2016-11-16 04:25:02 UTC) #20
drott
On 2016/11/16 at 04:25:02, sashab wrote: > Yup, this is looking great so far :) ...
4 years, 1 month ago (2016-11-16 07:12:54 UTC) #21
drott
Bot rebaselines added
4 years, 1 month ago (2016-11-16 07:21:08 UTC) #22
drott
pdr@, I believe this slimming paint failure is not critical, because it's just a scrollbar ...
4 years, 1 month ago (2016-11-16 12:12:22 UTC) #29
drott
timloh@, if it looks okay to you, could you cq+ after your review? Thanks.
4 years, 1 month ago (2016-11-16 12:44:29 UTC) #32
Timothy Loh
lgtm https://codereview.chromium.org/2497963002/diff/80001/third_party/WebKit/Source/core/paint/InlineTextBoxPainter.cpp File third_party/WebKit/Source/core/paint/InlineTextBoxPainter.cpp (left): https://codereview.chromium.org/2497963002/diff/80001/third_party/WebKit/Source/core/paint/InlineTextBoxPainter.cpp#oldcode991 third_party/WebKit/Source/core/paint/InlineTextBoxPainter.cpp:991: if ((deco & TextDecorationUnderline) && fontData) { I ...
4 years, 1 month ago (2016-11-17 15:09:42 UTC) #37
drott
Added back fontData check
4 years, 1 month ago (2016-11-17 16:34:53 UTC) #40
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2497963002/100001
4 years, 1 month ago (2016-11-17 16:35:51 UTC) #43
commit-bot: I haz the power
Try jobs failed on following builders: linux_layout_tests_slimming_paint_v2 on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL)
4 years, 1 month ago (2016-11-17 19:34:45 UTC) #45
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2497963002/120001
4 years, 1 month ago (2016-11-18 12:32:50 UTC) #48
commit-bot: I haz the power
Committed patchset #7 (id:120001)
4 years, 1 month ago (2016-11-18 14:27:43 UTC) #49
commit-bot: I haz the power
4 years, 1 month ago (2016-11-18 14:29:49 UTC) #51
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/3ffa4763a6a442e26f1ea2a87ee2bf3f0aa26e1b
Cr-Commit-Position: refs/heads/master@{#433191}

Powered by Google App Engine
This is Rietveld 408576698