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

Issue 1916693002: Rewrite overhanging float arithmetic to work near numeric limits (Closed)

Created:
4 years, 8 months ago by pdr.
Modified:
4 years, 8 months ago
CC:
blink-reviews, blink-reviews-layout_chromium.org, chromium-reviews, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, pdr+renderingwatchlist_chromium.org, szager+layoutwatch_chromium.org, zoltan1
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Rewrite overhanging float arithmetic to work near numeric limits This patch fixes a bug where floats near LayoutUnit::max() would incorrectly get added to two LayoutObjects which would lead to duplicate display items when the floats were painted by both parents. Examples sometimes make these easier to review: logicalTop = LayoutUnit::max() prevLogicalTop = (LayoutUnit::max() - 4) prevLowestFloatLogicalBottom = 8 Previous logic: if (prevLowestFloatLogicalBottom > logicalTop - prevLogicalTop) { ... New logic: if (logicalTop < prevLowestFloatLogicalBottom + prevLogicalTop) { ... BUG=604331 Committed: https://crrev.com/6c961fe1112914b9d63d6551e31b96c415dfb83f Cr-Commit-Position: refs/heads/master@{#389679}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+26 lines, -7 lines) Patch
A third_party/WebKit/LayoutTests/fast/block/float/overhanging-float-overflow-crash.html View 1 chunk +21 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/fast/block/float/overhanging-float-overflow-crash-expected.txt View 0 chunks +-1 lines, --1 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp View 1 chunk +6 lines, -8 lines 0 comments Download

Messages

Total messages: 16 (7 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1916693002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1916693002/1
4 years, 8 months ago (2016-04-25 04:20:16 UTC) #2
pdr.
4 years, 8 months ago (2016-04-25 05:18:35 UTC) #5
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 8 months ago (2016-04-25 05:43:53 UTC) #7
eae
This is great! Could you add a test for negative numbers though? Ideally one with ...
4 years, 8 months ago (2016-04-25 06:24:34 UTC) #9
pdr.
On 2016/04/25 at 06:24:34, eae wrote: > This is great! Could you add a test ...
4 years, 8 months ago (2016-04-26 03:09:24 UTC) #10
eae
Sounds like a good plan. LGTM
4 years, 8 months ago (2016-04-26 03:12:14 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1916693002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1916693002/1
4 years, 8 months ago (2016-04-26 03:13:06 UTC) #13
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 8 months ago (2016-04-26 03:17:52 UTC) #14
commit-bot: I haz the power
4 years, 8 months ago (2016-04-26 03:20:02 UTC) #16
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/6c961fe1112914b9d63d6551e31b96c415dfb83f
Cr-Commit-Position: refs/heads/master@{#389679}

Powered by Google App Engine
This is Rietveld 408576698