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

Issue 2112643002: Reinstate BoxPainter's unrederable background rrect logic (Closed)

Created:
4 years, 5 months ago by f(malita)
Modified:
4 years, 5 months ago
Reviewers:
chrishtr
CC:
blink-reviews, blink-reviews-paint_chromium.org, chromium-reviews, dshwang, slimming-paint-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Reinstate BoxPainter's unrederable background rrect logic http://crrev.com/2008913002 replaced the unrenderable case with an assert, on the assumption that higher-level logic should ensure a renderable rrect. But in certain cases we compute the background rrect by shrinking the border rrect - and this can yield degenerate/unrenderable results when some radii are not large enough to accomodate the requested inset. E.g. width: 100 left radius: 0 right radius: 100 border-width: 10 We attempt to inset and shrink all radii by 5 (half border-width), but we can only reduce the right radius since the left one is already zero. So we end up with width: 90 left radius: 0 right radius: 95 which is not renderable. This CL restores the clip-based fallback for unrenderable rrects. BUG=614825 R=chrishtr@chromium.org Committed: https://crrev.com/804f289c635c1ccf84e8079d4a5c78d4d8786516 Cr-Commit-Position: refs/heads/master@{#403321}

Patch Set 1 #

Patch Set 2 : test tweak #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+28 lines, -2 lines) Patch
A third_party/WebKit/LayoutTests/fast/backgrounds/unrenderable-rrect-crash.html View 1 1 chunk +21 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/fast/backgrounds/unrenderable-rrect-crash-expected.txt View 1 0 chunks +-1 lines, --1 lines 0 comments Download
M third_party/WebKit/Source/core/paint/BoxPainter.cpp View 1 chunk +8 lines, -3 lines 2 comments Download

Messages

Total messages: 12 (2 generated)
f(malita)
4 years, 5 months ago (2016-06-29 19:06:43 UTC) #1
chrishtr
https://codereview.chromium.org/2112643002/diff/20001/third_party/WebKit/Source/core/paint/BoxPainter.cpp File third_party/WebKit/Source/core/paint/BoxPainter.cpp (right): https://codereview.chromium.org/2112643002/diff/20001/third_party/WebKit/Source/core/paint/BoxPainter.cpp#newcode426 third_party/WebKit/Source/core/paint/BoxPainter.cpp:426: if (info.isRoundedFill && !border.isRenderable()) { Why not ensure the ...
4 years, 5 months ago (2016-06-30 00:48:14 UTC) #2
f(malita)
https://codereview.chromium.org/2112643002/diff/20001/third_party/WebKit/Source/core/paint/BoxPainter.cpp File third_party/WebKit/Source/core/paint/BoxPainter.cpp (right): https://codereview.chromium.org/2112643002/diff/20001/third_party/WebKit/Source/core/paint/BoxPainter.cpp#newcode426 third_party/WebKit/Source/core/paint/BoxPainter.cpp:426: if (info.isRoundedFill && !border.isRenderable()) { On 2016/06/30 00:48:14, chrishtr ...
4 years, 5 months ago (2016-06-30 13:53:38 UTC) #3
chrishtr
On 2016/06/30 at 13:53:38, fmalita wrote: > https://codereview.chromium.org/2112643002/diff/20001/third_party/WebKit/Source/core/paint/BoxPainter.cpp > File third_party/WebKit/Source/core/paint/BoxPainter.cpp (right): > > https://codereview.chromium.org/2112643002/diff/20001/third_party/WebKit/Source/core/paint/BoxPainter.cpp#newcode426 ...
4 years, 5 months ago (2016-06-30 20:08:53 UTC) #4
f(malita)
On 2016/06/30 20:08:53, chrishtr wrote: > On 2016/06/30 at 13:53:38, fmalita wrote: > > > ...
4 years, 5 months ago (2016-06-30 20:23:20 UTC) #5
chrishtr
lgtm We discussed offline, and it seems RoundedInnerRectClipper has reasonable fallback logic already, this CL ...
4 years, 5 months ago (2016-06-30 20:42:05 UTC) #6
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/2112643002/20001
4 years, 5 months ago (2016-06-30 20:43:57 UTC) #8
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 5 months ago (2016-06-30 23:04:27 UTC) #9
commit-bot: I haz the power
CQ bit was unchecked.
4 years, 5 months ago (2016-06-30 23:04:32 UTC) #10
commit-bot: I haz the power
4 years, 5 months ago (2016-06-30 23:07:10 UTC) #12
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/804f289c635c1ccf84e8079d4a5c78d4d8786516
Cr-Commit-Position: refs/heads/master@{#403321}

Powered by Google App Engine
This is Rietveld 408576698