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

Issue 2714803002: [LayoutNG] Allow block-flow layout to be fragmented using new approach. (Closed)

Created:
3 years, 10 months ago by ikilpatrick
Modified:
3 years, 9 months ago
CC:
chromium-reviews, ojan+watch_chromium.org, szager+layoutwatch_chromium.org, glebl+reviews_chromium.org, dgrogan+ng_chromium.org, atotic+reviews_chromium.org, blink-reviews-layout_chromium.org, pdr+renderingwatchlist_chromium.org, eae+blinkwatch, leviw+renderwatch, zoltan1, jchaffraix+rendering, blink-reviews
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[LayoutNG] Allow block-flow layout to be fragmented using new approach. This patch removes most of the old fragmentation code for the new approach. If the algorithm reaches a fragmentation line it'll produce a break token for resuming later. BUG=635619 Review-Url: https://codereview.chromium.org/2714803002 Cr-Commit-Position: refs/heads/master@{#453500} Committed: https://chromium.googlesource.com/chromium/src/+/c0b2149ee87d2451e91885d1a3378aa4a7c1dad9

Patch Set 1 #

Patch Set 2 : tailor #

Patch Set 3 : foo #

Patch Set 4 : bar #

Patch Set 5 : q #

Patch Set 6 : rebase. #

Total comments: 22

Patch Set 7 : address comments. #

Patch Set 8 : silly me... #

Total comments: 31

Patch Set 9 : address comments. #

Total comments: 6

Patch Set 10 : spelling. #

Total comments: 4

Patch Set 11 : space for computing borders. #

Patch Set 12 : remove a few things. #

Patch Set 13 : fix child iteration for abs-pos. #

Patch Set 14 : rebase. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+456 lines, -362 lines) Patch
M third_party/WebKit/Source/core/layout/ng/ng_block_break_token.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +1 line, -9 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_block_break_token.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -5 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.h View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +3 lines, -48 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 12 chunks +74 lines, -170 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm_test.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +278 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_block_node.h View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_block_node.cc View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +8 lines, -12 lines 0 comments Download
D third_party/WebKit/Source/core/layout/ng/ng_column_mapper.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +0 lines, -82 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_constraint_space.h View 1 2 3 4 5 6 7 8 3 chunks +8 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_constraint_space.cc View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_constraint_space_builder.h View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_constraint_space_builder.cc View 1 2 3 4 5 6 7 8 5 chunks +10 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.h View 1 2 3 4 5 6 7 8 5 chunks +16 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.cc View 1 2 3 4 5 6 5 chunks +19 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_inline_node.h View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_inline_node.cc View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_layout_input_node.h View 2 chunks +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_length_utils.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_length_utils.cc View 1 2 3 4 5 6 7 8 9 10 5 chunks +17 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_length_utils_test.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +3 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_out_of_flow_layout_part.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_out_of_flow_layout_part.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_physical_fragment.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +2 lines, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 35 (21 generated)
ikilpatrick
This is a rough first pass, it's currently missing support for parallel flow as we'll ...
3 years, 10 months ago (2017-02-24 20:42:16 UTC) #3
Gleb Lanbin
https://codereview.chromium.org/2714803002/diff/100001/third_party/WebKit/Source/core/layout/ng/layout_ng_block_flow.cc File third_party/WebKit/Source/core/layout/ng/layout_ng_block_flow.cc (right): https://codereview.chromium.org/2714803002/diff/100001/third_party/WebKit/Source/core/layout/ng/layout_ng_block_flow.cc#newcode31 third_party/WebKit/Source/core/layout/ng/layout_ng_block_flow.cc:31: m_box->Layout(constraint_space, /* break_token */ nullptr); make break_token optional? https://codereview.chromium.org/2714803002/diff/100001/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc ...
3 years, 10 months ago (2017-02-24 21:51:28 UTC) #8
ikilpatrick
https://codereview.chromium.org/2714803002/diff/100001/third_party/WebKit/Source/core/layout/ng/layout_ng_block_flow.cc File third_party/WebKit/Source/core/layout/ng/layout_ng_block_flow.cc (right): https://codereview.chromium.org/2714803002/diff/100001/third_party/WebKit/Source/core/layout/ng/layout_ng_block_flow.cc#newcode31 third_party/WebKit/Source/core/layout/ng/layout_ng_block_flow.cc:31: m_box->Layout(constraint_space, /* break_token */ nullptr); On 2017/02/24 21:51:27, Gleb ...
3 years, 10 months ago (2017-02-25 00:57:24 UTC) #9
Gleb Lanbin
lgtm https://codereview.chromium.org/2714803002/diff/140001/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc File third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc (right): https://codereview.chromium.org/2714803002/diff/140001/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc#newcode571 third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc:571: // DO NOT SUBMIT - Do we need ...
3 years, 10 months ago (2017-02-25 01:12:19 UTC) #10
mstensho (USE GERRIT)
Nice tests! https://codereview.chromium.org/2714803002/diff/140001/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc File third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc (right): https://codereview.chromium.org/2714803002/diff/140001/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc#newcode314 third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc:314: // Whether we've run out of space ...
3 years, 9 months ago (2017-02-27 13:44:37 UTC) #11
ikilpatrick
https://codereview.chromium.org/2714803002/diff/140001/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc File third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc (right): https://codereview.chromium.org/2714803002/diff/140001/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc#newcode314 third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc:314: // Whether we've run out of space in this ...
3 years, 9 months ago (2017-02-27 18:50:10 UTC) #12
cbiesinger
https://codereview.chromium.org/2714803002/diff/160001/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc File third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc (right): https://codereview.chromium.org/2714803002/diff/160001/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc#newcode303 third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc:303: return space.IsAnonymous() It worries me a bit to have ...
3 years, 9 months ago (2017-02-27 19:09:38 UTC) #14
ikilpatrick
https://codereview.chromium.org/2714803002/diff/160001/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc File third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc (right): https://codereview.chromium.org/2714803002/diff/160001/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc#newcode303 third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc:303: return space.IsAnonymous() On 2017/02/27 19:09:37, cbiesinger wrote: > It ...
3 years, 9 months ago (2017-02-27 19:29:34 UTC) #16
cbiesinger
https://codereview.chromium.org/2714803002/diff/160001/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc File third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc (right): https://codereview.chromium.org/2714803002/diff/160001/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc#newcode303 third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc:303: return space.IsAnonymous() On 2017/02/27 19:29:34, ikilpatrick wrote: > On ...
3 years, 9 months ago (2017-02-27 19:32:03 UTC) #18
mstensho (USE GERRIT)
lgtm - you've resolved all the issues I had raised. I found three new ones, ...
3 years, 9 months ago (2017-02-27 20:28:21 UTC) #19
ikilpatrick
cbiesinger@ would you mind having another pass? https://codereview.chromium.org/2714803002/diff/160001/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc File third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc (right): https://codereview.chromium.org/2714803002/diff/160001/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc#newcode303 third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc:303: return space.IsAnonymous() ...
3 years, 9 months ago (2017-02-27 20:44:55 UTC) #20
cbiesinger
lgtm
3 years, 9 months ago (2017-02-27 22:54:16 UTC) #23
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/2714803002/260001
3 years, 9 months ago (2017-02-28 02:33:29 UTC) #32
commit-bot: I haz the power
3 years, 9 months ago (2017-02-28 04:53:15 UTC) #35
Message was sent while issue was closed.
Committed patchset #14 (id:260001) as
https://chromium.googlesource.com/chromium/src/+/c0b2149ee87d2451e91885d1a337...

Powered by Google App Engine
This is Rietveld 408576698