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

Issue 2764753007: [LayoutNG] Add NGLineBoxFragment (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 NGLineBoxFragment This patch adds NGLineBoxFragment, along with: - NGPhysicalLineBoxFragment - NGLineBoxFragmentBuilder - NGTextFragmentBuilder for consistency Part of code in NGLineBuilder was extracted to new classes, in preparation of renaming it to NGLineLayoutAlgorithm. NGFragment::Overflow was moved to NGBoxFragment, since neither text nor linebox has layout overflow. All types of fragments have ink overflow, but this is not included in this CL. Some of NGFragmentBuilders could be shared as super classes. This is not in this CL but to be discussed further. This patch moves one step towards computing baseline position from NGFragment, but its implementation is not included in this CL. BUG=636993 Review-Url: https://codereview.chromium.org/2764753007 Cr-Commit-Position: refs/heads/master@{#459446} Committed: https://chromium.googlesource.com/chromium/src/+/9872e64c2d620fe4c01d7fd1e3776954b162fc9b

Patch Set 1 #

Patch Set 2 : Rebase #

Patch Set 3 : Fixes #

Patch Set 4 : #

Total comments: 1

Patch Set 5 : Line box as two separate words #

Patch Set 6 : Resolve merge conflict #

Patch Set 7 : Rebase again as other CLs landed faster #

Unified diffs Side-by-side diffs Delta from patch set Stats (+560 lines, -246 lines) Patch
M third_party/WebKit/Source/core/layout/BUILD.gn View 1 2 3 4 5 3 chunks +10 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_box_fragment.h View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_box_fragment.cc View 1 2 3 1 chunk +12 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_fragment.h View 1 2 3 1 chunk +0 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_fragment.cc View 1 2 3 1 chunk +0 lines, -12 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.h View 1 chunk +0 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_fragment_builder.cc View 2 chunks +0 lines, -15 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_inline_node_test.cc View 1 2 3 4 2 chunks +7 lines, -3 lines 0 comments Download
A + third_party/WebKit/Source/core/layout/ng/ng_line_box_fragment.h View 1 2 3 4 1 chunk +11 lines, -15 lines 0 comments Download
A third_party/WebKit/Source/core/layout/ng/ng_line_box_fragment.cc View 1 2 3 4 1 chunk +7 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/layout/ng/ng_line_box_fragment_builder.h View 1 2 3 4 1 chunk +57 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/layout/ng/ng_line_box_fragment_builder.cc View 1 2 3 4 1 chunk +70 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_line_builder.h View 1 2 3 4 5 3 chunks +6 lines, -44 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_line_builder.cc View 1 2 3 4 5 9 chunks +75 lines, -124 lines 0 comments Download
A third_party/WebKit/Source/core/layout/ng/ng_line_height_metrics.h View 1 2 3 4 1 chunk +46 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/layout/ng/ng_line_height_metrics.cc View 1 chunk +46 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_physical_box_fragment.h View 1 2 3 2 chunks +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_physical_box_fragment.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_physical_fragment.h View 1 2 3 4 3 chunks +9 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_physical_fragment.cc View 1 2 3 4 1 chunk +15 lines, -6 lines 0 comments Download
A third_party/WebKit/Source/core/layout/ng/ng_physical_line_box_fragment.h View 1 2 3 4 1 chunk +43 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/layout/ng/ng_physical_line_box_fragment.cc View 1 2 3 4 1 chunk +24 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_physical_text_fragment.h View 1 2 3 4 5 6 1 chunk +2 lines, -3 lines 0 comments Download
A third_party/WebKit/Source/core/layout/ng/ng_text_fragment_builder.h View 1 chunk +49 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/layout/ng/ng_text_fragment_builder.cc View 1 2 3 1 chunk +48 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/ng_text_layout_algorithm_test.cc View 1 2 3 4 5 6 2 chunks +13 lines, -8 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 38 (21 generated)
kojii
Ian, Emil, PTAL. I hope I understand Ian's comment in the other CL correctly, please ...
3 years, 9 months ago (2017-03-22 14:54:36 UTC) #5
ikilpatrick
this looks really good - should it be line_box however? https://codereview.chromium.org/2764753007/diff/60001/third_party/WebKit/Source/core/layout/ng/ng_line_builder.cc File third_party/WebKit/Source/core/layout/ng/ng_line_builder.cc (right): https://codereview.chromium.org/2764753007/diff/60001/third_party/WebKit/Source/core/layout/ng/ng_line_builder.cc#newcode268 ...
3 years, 9 months ago (2017-03-23 16:47:26 UTC) #8
eae
This is great, LGTM
3 years, 9 months ago (2017-03-23 17:15:20 UTC) #9
kojii
Thank you both for prompt review on this long CL. On 2017/03/23 at 16:47:26, ikilpatrick ...
3 years, 9 months ago (2017-03-23 17:55:24 UTC) #11
ikilpatrick
On 2017/03/23 17:55:24, kojii wrote: > Thank you both for prompt review on this long ...
3 years, 9 months ago (2017-03-23 17:57:52 UTC) #12
kojii
On 2017/03/23 at 17:57:52, ikilpatrick wrote: > > Thanks, sorry :) I meant thank you ...
3 years, 9 months ago (2017-03-23 17:59:10 UTC) #13
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/2764753007/80001
3 years, 9 months ago (2017-03-23 18:17:31 UTC) #16
ikilpatrick
lgtm, thanks :)
3 years, 9 months ago (2017-03-23 18:26:50 UTC) #17
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_compile_dbg_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_compile_dbg_ng/builds/373495)
3 years, 9 months ago (2017-03-23 18:36:28 UTC) #19
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/2764753007/100001
3 years, 9 months ago (2017-03-24 02:42:04 UTC) #22
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/335133)
3 years, 9 months ago (2017-03-24 05:04:14 UTC) #24
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/2764753007/100001
3 years, 9 months ago (2017-03-24 06:25:30 UTC) #26
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/335241)
3 years, 9 months ago (2017-03-24 10:08:03 UTC) #28
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/2764753007/100001
3 years, 9 months ago (2017-03-24 13:11:39 UTC) #30
commit-bot: I haz the power
Failed to apply patch for third_party/WebKit/Source/core/layout/ng/ng_text_layout_algorithm_test.cc: While running git apply --index -p1; error: patch failed: ...
3 years, 9 months ago (2017-03-24 14:12:15 UTC) #32
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/2764753007/120001
3 years, 9 months ago (2017-03-24 14:28:52 UTC) #35
commit-bot: I haz the power
3 years, 9 months ago (2017-03-24 16:19:12 UTC) #38
Message was sent while issue was closed.
Committed patchset #7 (id:120001) as
https://chromium.googlesource.com/chromium/src/+/9872e64c2d620fe4c01d7fd1e377...

Powered by Google App Engine
This is Rietveld 408576698