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

Issue 1224933002: Combine outline and focus ring code paths (Closed)

Created:
5 years, 5 months ago by Xianzhu
Modified:
5 years, 3 months ago
Reviewers:
pdr., chrishtr, eae
CC:
blink-reviews, blink-reviews-paint_chromium.org, blink-reviews-rendering, Rik, danakj, dshwang, drott+blinkwatch_chromium.org, krit, eae+blinkwatch, f(malita), fs, gyuyoung2, jbroman, jchaffraix+rendering, Justin Novosad, kouhei+svg_chromium.org, leviw+renderwatch, pdr+graphicswatchlist_chromium.org, pdr+svgwatchlist_chromium.org, pdr+renderingwatchlist_chromium.org, rwlbuis, Stephen Chennney, slimming-paint-reviews_chromium.org, szager+layoutwatch_chromium.org, zoltan1
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Combine outline and focus ring code paths Previously we paint outlines and focus rings in very different paths. - Focus rings are painted in the way that we collect all rects first then combine the rects into a enclosing path, then paint the path. - Outlines are painted by each box, line box, continuations, causing difficulties when handling the joints. We have issues of broken joints, unconnected segments, missing segments, etc. With this CL: - We paint outlines and focus rings in the same way: collect rects first paint the path. This resolves the original issues of broken joints and unconnected segments, etc.; - Don't need to propagate outline style to continuations because the outline owner paints the whole outline. This enables us to paint a whole connected outline enclosing the continuations. BUG=506669 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=201494

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : Rebase #

Patch Set 7 : Separate https://codereview.chromium.org/1278543002/ #

Patch Set 8 : #

Patch Set 9 : #

Patch Set 10 : Rebase #

Patch Set 11 : NeedsRebaseline (see previous try results for expectation changes) #

Patch Set 12 : Rebase #

Patch Set 13 : Rebase #

Patch Set 14 : Rebase #

Patch Set 15 : Rebase #

Total comments: 8

Patch Set 16 : #

Patch Set 17 : Expectations for virtual/spv2/fast/repaint #

Patch Set 18 : Rebase #

Patch Set 19 : Fix empty focus ring on Mac #

Unified diffs Side-by-side diffs Delta from patch set Stats (+339 lines, -480 lines) Patch
M LayoutTests/TestExpectations View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +41 lines, -2 lines 0 comments Download
M LayoutTests/fast/block/line-layout/selection-highlight-overlap.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/fast/block/line-layout/selection-highlight-overlap-expected.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -1 line 0 comments Download
D LayoutTests/fast/css/anonymous-block-continuation-outline-expected.html View 1 2 3 1 chunk +0 lines, -4 lines 0 comments Download
A + LayoutTests/fast/css/anonymous-block-continuation-outline-expected.png View 1 2 3 Binary file 0 comments Download
A LayoutTests/fast/css/anonymous-block-continuation-outline-expected.txt View 1 2 3 1 chunk +16 lines, -0 lines 0 comments Download
D LayoutTests/svg/as-image/svg-object-intrinsic-size-expected.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +0 lines, -7 lines 0 comments Download
M Source/core/layout/LayoutBlock.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 3 chunks +0 lines, -7 lines 0 comments Download
M Source/core/layout/LayoutBlock.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +0 lines, -35 lines 0 comments Download
M Source/core/layout/LayoutInline.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +12 lines, -38 lines 0 comments Download
M Source/core/layout/LayoutObject.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +2 lines, -3 lines 0 comments Download
M Source/core/layout/svg/LayoutSVGModelObject.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +0 lines, -4 lines 0 comments Download
M Source/core/layout/svg/LayoutSVGModelObject.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +0 lines, -8 lines 0 comments Download
M Source/core/paint/BlockPainter.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +0 lines, -1 line 0 comments Download
M Source/core/paint/BlockPainter.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +6 lines, -60 lines 0 comments Download
M Source/core/paint/DeprecatedPaintLayerPainter.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +1 line, -1 line 0 comments Download
M Source/core/paint/ImagePainter.cpp 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/paint/InlineFlowBoxPainter.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +15 lines, -49 lines 0 comments Download
M Source/core/paint/InlinePainter.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +0 lines, -4 lines 0 comments Download
M Source/core/paint/InlinePainter.cpp View 1 2 3 4 5 1 chunk +7 lines, -191 lines 0 comments Download
M Source/core/paint/InlineTextBoxPainter.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +2 lines, -3 lines 0 comments Download
M Source/core/paint/LineBoxListPainter.cpp View 1 2 3 4 chunks +4 lines, -11 lines 0 comments Download
M Source/core/paint/ObjectPainter.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +2 lines, -2 lines 0 comments Download
M Source/core/paint/ObjectPainter.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +212 lines, -27 lines 0 comments Download
M Source/core/paint/PaintInfo.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 3 chunks +1 line, -7 lines 0 comments Download
M Source/core/paint/PartPainter.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -1 line 0 comments Download
M Source/core/paint/ReplacedPainter.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -1 line 0 comments Download
M Source/core/paint/SVGContainerPainter.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +1 line, -2 lines 0 comments Download
M Source/core/paint/SVGImagePainter.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1 chunk +1 line, -2 lines 0 comments Download
M Source/core/paint/SVGInlineFlowBoxPainter.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +6 lines, -3 lines 0 comments Download
M Source/core/paint/SVGShapePainter.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 15 1 chunk +1 line, -2 lines 0 comments Download
M Source/core/paint/TablePainter.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -1 line 0 comments Download
M Source/core/paint/TableRowPainter.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -1 line 0 comments Download
M Source/core/paint/TableSectionPainter.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 30 (16 generated)
Xianzhu
This is the final CL based on the following preparation CLs: - https://codereview.chromium.org/1269123002/ (addFocusRingRects --> ...
5 years, 4 months ago (2015-08-07 16:39:52 UTC) #3
eae
LGTM for layout and test changes, please have chrishtr or pdr review the paint changes ...
5 years, 4 months ago (2015-08-12 20:39:14 UTC) #5
pdr.
This is great. Can you rebase this after https://codereview.chromium.org/1321613002 lands? Even though this patch looks ...
5 years, 3 months ago (2015-08-27 18:32:42 UTC) #6
pdr.
LGTM The actual drawing code could use a little cleanup, but that's mostly just moved ...
5 years, 3 months ago (2015-08-27 22:59:33 UTC) #7
Xianzhu
https://codereview.chromium.org/1224933002/diff/300001/Source/core/paint/ObjectPainter.cpp File Source/core/paint/ObjectPainter.cpp (right): https://codereview.chromium.org/1224933002/diff/300001/Source/core/paint/ObjectPainter.cpp#newcode22 Source/core/paint/ObjectPainter.cpp:22: void paintNonAutoOutlineFastPath(const PaintInfo& paintInfo, const IntRect& rect, const ComputedStyle& ...
5 years, 3 months ago (2015-08-28 00:26:04 UTC) #8
pdr.
LGTM 2
5 years, 3 months ago (2015-08-28 00:33:02 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1224933002/390001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1224933002/390001
5 years, 3 months ago (2015-08-28 18:27:12 UTC) #15
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_compile_dbg_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_compile_dbg_ng/builds/91474) mac_chromium_rel_ng on tryserver.chromium.mac (JOB_FAILED, ...
5 years, 3 months ago (2015-08-28 18:28:39 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1224933002/410001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1224933002/410001
5 years, 3 months ago (2015-08-28 18:35:38 UTC) #20
commit-bot: I haz the power
Try jobs failed on following builders: linux_arm_compile on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_arm_compile/builds/38022)
5 years, 3 months ago (2015-08-28 18:38:55 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1224933002/430001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1224933002/430001
5 years, 3 months ago (2015-08-31 16:23:17 UTC) #25
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/106720)
5 years, 3 months ago (2015-08-31 17:33:42 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1224933002/430001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1224933002/430001
5 years, 3 months ago (2015-08-31 18:31:28 UTC) #29
commit-bot: I haz the power
5 years, 3 months ago (2015-08-31 19:11:49 UTC) #30
Message was sent while issue was closed.
Committed patchset #19 (id:430001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=201494

Powered by Google App Engine
This is Rietveld 408576698