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

Issue 2772503004: [LayoutNG] Add NGInlineBreakToken and back of NGInlineLayoutAlgorithm (Closed)

Created:
3 years, 9 months ago by kojii
Modified:
3 years, 9 months ago
Reviewers:
ikilpatrick, eae
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/heads/master
Project:
chromium
Visibility:
Public.

Description

[LayoutNG] Add NGInlineBreakToken and back of NGInlineLayoutAlgorithm This patch implements NGInlineBreakToken, a subclass of NGBreakToken for inline. Unfinished break tokens are attached to lineboxes that do not fit in the constraint space, and layout can restart from an unfinished NGInlineBreakToken. NGLineBuilder now has equivalent interface as NGLayoutAlgorithm, and that it is renamed to NGInlineLayoutAlgorithm. NGTextLayoutAlgorithm is now a line breaker and is not interface-compatible with NGLayoutAlgorithm that it is renamed to NGLineBreaker. BUG=636993 Review-Url: https://codereview.chromium.org/2772503004 Cr-Commit-Position: refs/heads/master@{#459788} Committed: https://chromium.googlesource.com/chromium/src/+/e1bb8449b2eeab40d89574339ac634c6e1f797cd

Patch Set 1 #

Patch Set 2 : WIP #

Patch Set 3 : WIP #

Patch Set 4 : WIP #

Patch Set 5 : Add tests #

Patch Set 6 : Rename #

Total comments: 12

Patch Set 7 : #

Total comments: 1

Patch Set 8 : ikilpatrik nits #

Patch Set 9 : Resolved merge conflicts #

Unified diffs Side-by-side diffs Delta from patch set Stats (+407 lines, -1318 lines) Patch
M third_party/WebKit/Source/core/BUILD.gn View 1 2 3 4 5 6 7 8 2 chunks +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/BUILD.gn View 1 2 3 4 5 6 3 chunks +6 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_block_break_token.h View 1 2 3 2 chunks +5 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_block_break_token.cc View 1 1 chunk +1 line, -1 line 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 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_break_token.h View 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.h View 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.cc View 1 2 3 4 5 6 2 chunks +27 lines, -5 lines 0 comments Download
A third_party/WebKit/Source/core/layout/ng/ng_inline_break_token.h View 1 chunk +53 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/layout/ng/ng_inline_break_token.cc View 1 chunk +23 lines, -0 lines 0 comments Download
A + third_party/WebKit/Source/core/layout/ng/ng_inline_layout_algorithm.h View 1 2 3 4 5 6 7 9 chunks +38 lines, -27 lines 0 comments Download
A + third_party/WebKit/Source/core/layout/ng/ng_inline_layout_algorithm.cc View 1 2 3 4 5 6 7 8 18 chunks +98 lines, -48 lines 0 comments Download
A + third_party/WebKit/Source/core/layout/ng/ng_inline_layout_algorithm_test.cc View 1 2 3 4 5 5 chunks +67 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_inline_node.h View 1 2 3 4 5 6 2 chunks +0 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_inline_node.cc View 1 2 3 4 5 6 5 chunks +14 lines, -28 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_inline_node_test.cc View 1 2 3 4 5 4 chunks +7 lines, -11 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_line_box_fragment_builder.h View 1 2 3 3 chunks +7 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_line_box_fragment_builder.cc View 1 2 3 4 5 6 3 chunks +10 lines, -3 lines 0 comments Download
A third_party/WebKit/Source/core/layout/ng/ng_line_breaker.h View 1 2 3 4 5 6 1 chunk +25 lines, -0 lines 0 comments Download
A + third_party/WebKit/Source/core/layout/ng/ng_line_breaker.cc View 1 2 3 4 5 2 chunks +23 lines, -39 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_line_builder.h View 1 2 3 4 5 1 chunk +0 lines, -164 lines 0 comments Download
D third_party/WebKit/Source/core/layout/ng/ng_line_builder.cc View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -604 lines 0 comments Download
D third_party/WebKit/Source/core/layout/ng/ng_text_layout_algorithm.h View 1 1 chunk +0 lines, -45 lines 0 comments Download
D third_party/WebKit/Source/core/layout/ng/ng_text_layout_algorithm.cc View 1 2 3 1 chunk +0 lines, -114 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_text_layout_algorithm_test.cc View 1 2 3 4 5 1 chunk +0 lines, -212 lines 0 comments Download

Messages

Total messages: 28 (19 generated)
kojii
PTAL.
3 years, 9 months ago (2017-03-24 20:35:23 UTC) #7
ikilpatrick
This looks great \o/ https://codereview.chromium.org/2772503004/diff/110001/third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.cc File third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.cc (right): https://codereview.chromium.org/2772503004/diff/110001/third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.cc#newcode91 third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.cc:91: // the last break token ...
3 years, 9 months ago (2017-03-24 20:58:05 UTC) #8
kojii
PTAL. All done, with one reply below. Thank you for your prompt review as always. ...
3 years, 9 months ago (2017-03-27 03:15:12 UTC) #13
ikilpatrick
lgtm (sorry should have said this before). Looks great! https://codereview.chromium.org/2772503004/diff/110001/third_party/WebKit/Source/core/layout/ng/ng_line_breaker.cc File third_party/WebKit/Source/core/layout/ng/ng_line_breaker.cc (right): https://codereview.chromium.org/2772503004/diff/110001/third_party/WebKit/Source/core/layout/ng/ng_line_breaker.cc#newcode24 third_party/WebKit/Source/core/layout/ng/ng_line_breaker.cc:24: ...
3 years, 9 months ago (2017-03-27 09:20:00 UTC) #16
kojii
All done, thank you. We're likely to tweak the interface design of line breaker more. ...
3 years, 9 months ago (2017-03-27 13:18:18 UTC) #17
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/2772503004/150001
3 years, 9 months ago (2017-03-27 13:18:44 UTC) #20
commit-bot: I haz the power
Try jobs failed on following builders: ios-device-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device-xcode-clang/builds/63221) ios-simulator on master.tryserver.chromium.mac (JOB_FAILED, ...
3 years, 9 months ago (2017-03-27 13:21:23 UTC) #22
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/2772503004/170001
3 years, 9 months ago (2017-03-27 13:32:59 UTC) #25
commit-bot: I haz the power
3 years, 9 months ago (2017-03-27 15:49:11 UTC) #28
Message was sent while issue was closed.
Committed patchset #9 (id:170001) as
https://chromium.googlesource.com/chromium/src/+/e1bb8449b2eeab40d89574339ac6...

Powered by Google App Engine
This is Rietveld 408576698