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

Issue 2706353004: [LayoutNG] Introduce block child iterator. (Closed)

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

Description

[LayoutNG] Introduce block child iterator. This will be used for iterating of children while resuming layout from a given break token. See experimental patch for the multi-col approach: crrev/2693193002 BUG=635619 Review-Url: https://codereview.chromium.org/2706353004 Cr-Commit-Position: refs/heads/master@{#452333} Committed: https://chromium.googlesource.com/chromium/src/+/0e277884ee599a8a09b01c93c97934f3c8c285ac

Patch Set 1 #

Patch Set 2 : . #

Patch Set 3 : . #

Total comments: 29

Patch Set 4 : address comments. #

Total comments: 4

Patch Set 5 : address comments. #

Total comments: 6

Patch Set 6 : address comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+295 lines, -18 lines) Patch
M third_party/WebKit/Source/core/BUILD.gn View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/BUILD.gn View 1 1 chunk +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_block_break_token.h View 1 2 3 4 5 3 chunks +14 lines, -14 lines 0 comments Download
A third_party/WebKit/Source/core/layout/ng/ng_block_break_token.cc View 1 2 3 4 5 1 chunk +27 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/layout/ng/ng_block_child_iterator.h View 1 2 3 4 1 chunk +55 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/layout/ng/ng_block_child_iterator.cc View 1 2 3 4 1 chunk +58 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/layout/ng/ng_block_child_iterator_test.cc View 1 2 3 4 5 1 chunk +128 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_break_token.h View 1 2 3 4 5 2 chunks +8 lines, -4 lines 0 comments Download

Messages

Total messages: 22 (9 generated)
ikilpatrick
3 years, 10 months ago (2017-02-22 00:29:57 UTC) #2
atotic
https://codereview.chromium.org/2706353004/diff/40001/third_party/WebKit/Source/core/layout/ng/ng_block_child_iterator.h File third_party/WebKit/Source/core/layout/ng/ng_block_child_iterator.h (right): https://codereview.chromium.org/2706353004/diff/40001/third_party/WebKit/Source/core/layout/ng/ng_block_child_iterator.h#newcode18 third_party/WebKit/Source/core/layout/ng/ng_block_child_iterator.h:18: // break token will iterator through unfinished children. s/iterator/iterate ...
3 years, 10 months ago (2017-02-22 05:45:07 UTC) #4
mstensho (USE GERRIT)
https://codereview.chromium.org/2706353004/diff/40001/third_party/WebKit/Source/core/layout/ng/ng_block_break_token.h File third_party/WebKit/Source/core/layout/ng/ng_block_break_token.h (right): https://codereview.chromium.org/2706353004/diff/40001/third_party/WebKit/Source/core/layout/ng/ng_block_break_token.h#newcode23 third_party/WebKit/Source/core/layout/ng/ng_block_break_token.h:23: HeapVector<Member<NGBreakToken>>& child_break_tokens); Since the implementation has now been moved ...
3 years, 10 months ago (2017-02-22 13:11:31 UTC) #5
ikilpatrick
https://codereview.chromium.org/2706353004/diff/40001/third_party/WebKit/Source/core/layout/ng/ng_block_break_token.h File third_party/WebKit/Source/core/layout/ng/ng_block_break_token.h (right): https://codereview.chromium.org/2706353004/diff/40001/third_party/WebKit/Source/core/layout/ng/ng_block_break_token.h#newcode23 third_party/WebKit/Source/core/layout/ng/ng_block_break_token.h:23: HeapVector<Member<NGBreakToken>>& child_break_tokens); On 2017/02/22 13:11:30, mstensho wrote: > Since ...
3 years, 10 months ago (2017-02-22 18:47:20 UTC) #6
Gleb Lanbin
https://codereview.chromium.org/2706353004/diff/40001/third_party/WebKit/Source/core/layout/ng/ng_block_break_token.cc File third_party/WebKit/Source/core/layout/ng/ng_block_break_token.cc (right): https://codereview.chromium.org/2706353004/diff/40001/third_party/WebKit/Source/core/layout/ng/ng_block_break_token.cc#newcode15 third_party/WebKit/Source/core/layout/ng/ng_block_break_token.cc:15: : NGBreakToken(kBlockBreakToken, /* is_finished */ false, node), may be ...
3 years, 10 months ago (2017-02-22 19:24:56 UTC) #7
mstensho (USE GERRIT)
lgtm % glebl's comments (I tend to agree with them all, FWIW) https://codereview.chromium.org/2706353004/diff/40001/third_party/WebKit/Source/core/layout/ng/ng_block_child_iterator.cc File third_party/WebKit/Source/core/layout/ng/ng_block_child_iterator.cc ...
3 years, 10 months ago (2017-02-22 20:09:23 UTC) #8
ikilpatrick
Alternate names: NGBlockFlowChildrenIterator ? Entry -> ChildInfo? https://codereview.chromium.org/2706353004/diff/40001/third_party/WebKit/Source/core/layout/ng/ng_block_break_token.cc File third_party/WebKit/Source/core/layout/ng/ng_block_break_token.cc (right): https://codereview.chromium.org/2706353004/diff/40001/third_party/WebKit/Source/core/layout/ng/ng_block_break_token.cc#newcode15 third_party/WebKit/Source/core/layout/ng/ng_block_break_token.cc:15: : NGBreakToken(kBlockBreakToken, ...
3 years, 10 months ago (2017-02-22 20:25:27 UTC) #9
mstensho (USE GERRIT)
> Alternate names: > NGBlockFlowChildrenIterator ? > Entry -> ChildInfo? I think "NGBlockChildIterator" is a ...
3 years, 10 months ago (2017-02-22 20:39:19 UTC) #10
Gleb Lanbin
lgtm https://codereview.chromium.org/2706353004/diff/80001/third_party/WebKit/Source/core/layout/ng/ng_block_child_iterator_test.cc File third_party/WebKit/Source/core/layout/ng/ng_block_child_iterator_test.cc (right): https://codereview.chromium.org/2706353004/diff/80001/third_party/WebKit/Source/core/layout/ng/ng_block_child_iterator_test.cc#newcode17 third_party/WebKit/Source/core/layout/ng/ng_block_child_iterator_test.cc:17: TEST_F(NGBlockChildIteratorTest, testNullFirstChild) { 1) testNullFirstChild is a function ...
3 years, 10 months ago (2017-02-22 20:52:10 UTC) #11
ikilpatrick
https://codereview.chromium.org/2706353004/diff/40001/third_party/WebKit/Source/core/layout/ng/ng_block_child_iterator.cc File third_party/WebKit/Source/core/layout/ng/ng_block_child_iterator.cc (right): https://codereview.chromium.org/2706353004/diff/40001/third_party/WebKit/Source/core/layout/ng/ng_block_child_iterator.cc#newcode43 third_party/WebKit/Source/core/layout/ng/ng_block_child_iterator.cc:43: break; On 2017/02/22 20:09:23, mstensho wrote: > On 2017/02/22 ...
3 years, 10 months ago (2017-02-22 22:25:22 UTC) #12
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/2706353004/100001
3 years, 10 months ago (2017-02-22 23:27:43 UTC) #18
commit-bot: I haz the power
Committed patchset #6 (id:100001) as https://chromium.googlesource.com/chromium/src/+/0e277884ee599a8a09b01c93c97934f3c8c285ac
3 years, 10 months ago (2017-02-23 01:39:46 UTC) #21
mstensho (USE GERRIT)
3 years, 10 months ago (2017-02-23 08:31:41 UTC) #22
Message was sent while issue was closed.
https://codereview.chromium.org/2706353004/diff/40001/third_party/WebKit/Sour...
File third_party/WebKit/Source/core/layout/ng/ng_block_child_iterator.cc
(right):

https://codereview.chromium.org/2706353004/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/layout/ng/ng_block_child_iterator.cc:43: break;
On 2017/02/22 22:25:21, ikilpatrick wrote:
> On 2017/02/22 20:09:23, mstensho wrote:
> > On 2017/02/22 18:47:19, ikilpatrick wrote:
> > > On 2017/02/22 13:11:30, mstensho wrote:
> > > > Let me see if I've got this right:
> > > > 
> > > > Each child that we have previously started to lay out (and possibly also
> > > > finished) has an entry in child_break_tokens, while children that we
> haven't
> > > > visited at all yet don't? So, whether a child fragmented or not doesn't
> > really
> > > > matter; they'll all get break tokens once we're finished with them (or
> when
> > > they
> > > > actually break)? Yes?
> > > 
> > > Yes thats exactly correct. I can try an encapsulate that in a comment if
you
> > > like.
> > 
> > If it's a requirement that all finished nodes have break tokens, I'd like to
> > have that documented somewhere, if it isn't already.
> > Doing it in some follow-up CL would also be okay.
> > 
> > If this isn't the most appropriate place, maybe right before the definition
of
> > NGBlockBreakToken::child_break_tokens_? Or before NGBlockBreakToken?
> 
> Clarified comment on NGBlockBreakToken.

Excellent! Thanks.

Powered by Google App Engine
This is Rietveld 408576698