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

Issue 2360913004: Support for multiple block fragments in getClientRects(). (Closed)

Created:
4 years, 3 months ago by mstensho (USE GERRIT)
Modified:
4 years, 2 months ago
Reviewers:
eae
CC:
chromium-reviews, szager+layoutwatch_chromium.org, zoltan1, blink-reviews-layout_chromium.org, pdr+renderingwatchlist_chromium.org, eae+blinkwatch, leviw+renderwatch, jchaffraix+rendering, blink-reviews, mstensho (USE GERRIT)
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Support for multiple block fragments in getClientRects(). Objects crossing column boundaries, for instance, should create one rectangle for each column they live in. Two old tests had to be updated, because they depended on the old and incorrect behavior (pick the bigger / center column and create one huge rectangle there). Add fragmentainerInFlowThread() to FragmentainerIterator. Removed the updateOutput() thing. Instead, have the getters compute what they need on the fly. This makes more sense now, since none of the (2) FragmentainerIterator users need to calculate everything. Also don't require a clip rectangle. Some extra attention is required when processing objects with a zero-height bounding box now. Previously, we didn't need to worry about those, since no bounding box means no painting, hit-testing, etc. But now, with getBoundingClientRect(), life is different. BUG=362232 Committed: https://crrev.com/7ebce92e1afa74a3c995b206bcb6b2f8b42689f4 Cr-Commit-Position: refs/heads/master@{#421643}

Patch Set 1 #

Patch Set 2 : fast/overflow/overflow-height-float-not-removed-crash3.html crashed because saturated LayoutUnits caused zero height #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+518 lines, -100 lines) Patch
M third_party/WebKit/LayoutTests/fast/multicol/client-rects.html View 2 chunks +3 lines, -6 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/multicol/client-rects-crossing-boundaries.html View 1 chunk +87 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/multicol/client-rects-crossing-boundaries-nested.html View 1 chunk +103 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/multicol/client-rects-empty-element-boundary.html View 1 1 chunk +19 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/multicol/client-rects-expected.html View 2 chunks +4 lines, -23 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/multicol/client-rects-rtl.html View 2 chunks +3 lines, -6 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/multicol/client-rects-rtl-expected.html View 2 chunks +3 lines, -22 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/multicol/vertical-lr/client-rects-crossing-boundaries-nested.html View 1 chunk +103 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/multicol/vertical-rl/client-rects-crossing-boundaries-nested.html View 1 chunk +103 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/FragmentainerIterator.h View 3 chunks +11 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/core/layout/FragmentainerIterator.cpp View 3 chunks +42 lines, -34 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBox.cpp View 1 1 chunk +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutFlowThread.h View 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutFlowThread.cpp View 1 2 chunks +22 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/MultiColumnFragmentainerGroup.h View 2 chunks +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/MultiColumnFragmentainerGroup.cpp View 1 1 chunk +8 lines, -1 line 3 comments Download

Messages

Total messages: 21 (14 generated)
mstensho (USE GERRIT)
https://codereview.chromium.org/2360913004/diff/20001/third_party/WebKit/Source/core/layout/MultiColumnFragmentainerGroup.cpp File third_party/WebKit/Source/core/layout/MultiColumnFragmentainerGroup.cpp (right): https://codereview.chromium.org/2360913004/diff/20001/third_party/WebKit/Source/core/layout/MultiColumnFragmentainerGroup.cpp#newcode444 third_party/WebKit/Source/core/layout/MultiColumnFragmentainerGroup.cpp:444: lastColumn = firstColumn; There's something fishy about this whole ...
4 years, 2 months ago (2016-09-28 19:58:56 UTC) #9
eae
The change itself makes sense and is very nicely implemented. The description doesn't match the ...
4 years, 2 months ago (2016-09-28 20:55:17 UTC) #12
mstensho (USE GERRIT)
Thanks for spotting the typo! Yes, I meant getClientRects(). https://codereview.chromium.org/2360913004/diff/20001/third_party/WebKit/Source/core/layout/MultiColumnFragmentainerGroup.cpp File third_party/WebKit/Source/core/layout/MultiColumnFragmentainerGroup.cpp (right): https://codereview.chromium.org/2360913004/diff/20001/third_party/WebKit/Source/core/layout/MultiColumnFragmentainerGroup.cpp#newcode444 third_party/WebKit/Source/core/layout/MultiColumnFragmentainerGroup.cpp:444: ...
4 years, 2 months ago (2016-09-28 21:20:23 UTC) #14
eae
LGTM
4 years, 2 months ago (2016-09-28 21:21:14 UTC) #15
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/2360913004/20001
4 years, 2 months ago (2016-09-28 21:21:47 UTC) #17
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 2 months ago (2016-09-28 21:28:29 UTC) #19
commit-bot: I haz the power
4 years, 2 months ago (2016-09-28 21:30:28 UTC) #21
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/7ebce92e1afa74a3c995b206bcb6b2f8b42689f4
Cr-Commit-Position: refs/heads/master@{#421643}

Powered by Google App Engine
This is Rietveld 408576698