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

Issue 2871733003: [LayoutNG] Refactor NGLineBreaker for ShapingLineBreaker (Closed)

Created:
3 years, 7 months ago by kojii
Modified:
3 years, 7 months ago
Reviewers:
ikilpatrick, eae
CC:
atotic+reviews_chromium.org, blink-reviews, blink-reviews-layout_chromium.org, blink-reviews-platform-graphics_chromium.org, Rik, cbiesinger, chromium-reviews, dgrogan+ng_chromium.org, dshwang, drott+blinkwatch_chromium.org, krit, eae+blinkwatch, fmalita+watch_chromium.org, glebl+reviews_chromium.org, jchaffraix+rendering, Justin Novosad, kinuko+watch, leviw+renderwatch, ojan+watch_chromium.org, pdr+graphicswatchlist_chromium.org, pdr+renderingwatchlist_chromium.org, rwlbuis, Stephen Chennney, szager+layoutwatch_chromium.org, zoltan1
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

[LayoutNG] Refactor NGLineBreaker for ShapingLineBreaker This patch refactors NGLineBreaker to match to the interface ShapingLineBreaker provides. This patch uses a mock of ShapingLineBreaker so that we can test NGLineBreaker and ShapingLineBreaker independently. Integrating ShapingLineBreaker will be after NGLineBreaker was stabilized. This patch also changes the relationship of NGLineBreaker and NGInlineLayoutAlgorithm. Measuring logic is moved to NGLineBreaker, while NGInlineLayoutAlgorithm focuses on placing items and building line boxes. BUG=636993, 719615 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_layout_ng Review-Url: https://codereview.chromium.org/2871733003 Cr-Commit-Position: refs/heads/master@{#471986} Committed: https://chromium.googlesource.com/chromium/src/+/394d28a0fd538118bda1b530c1a37414ea28dbe0

Patch Set 1 #

Patch Set 2 : WIP #

Patch Set 3 : WIP #

Patch Set 4 : WIP #

Patch Set 5 : WIP #

Patch Set 6 : WIP #

Patch Set 7 : WIP #

Total comments: 13

Patch Set 8 : WIP, eae review #

Total comments: 3

Patch Set 9 : Cleanup and test fixes #

Patch Set 10 : A few fixes for new test failures #

Patch Set 11 : Rebase #

Patch Set 12 : Cleanup #

Patch Set 13 : Cleanup #

Unified diffs Side-by-side diffs Delta from patch set Stats (+546 lines, -442 lines) Patch
A third_party/WebKit/LayoutTests/virtual/layout_ng/fast/block/float/overhanging-float-crashes-when-sibling-becomes-formatting-context-expected.txt View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/BUILD.gn View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/inline/ng_inline_break_token.cc View 1 2 3 4 5 6 7 1 chunk +4 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/ng/inline/ng_inline_item.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
A third_party/WebKit/Source/core/layout/ng/inline/ng_inline_item_result.h View 1 2 3 4 5 6 7 8 1 chunk +50 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/layout/ng/inline/ng_inline_item_result.cc View 1 5 6 1 chunk +16 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.h View 1 2 3 4 5 6 7 8 6 chunks +17 lines, -95 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc View 1 2 3 4 5 6 7 8 9 10 13 chunks +63 lines, -259 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/inline/ng_inline_node.cc View 1 2 3 4 5 6 7 8 2 chunks +59 lines, -11 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/inline/ng_inline_node_test.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +4 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/inline/ng_line_breaker.h View 1 2 3 4 5 6 7 8 9 1 chunk +34 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ng/inline/ng_line_breaker.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +294 lines, -66 lines 0 comments Download

Messages

Total messages: 45 (33 generated)
kojii
Still WIP, some tests are failing, but the overall shapes and interfaces are reviewable. Great ...
3 years, 7 months ago (2017-05-10 20:08:51 UTC) #5
eae
This is super exciting, thanks for taking this on! https://codereview.chromium.org/2871733003/diff/140001/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_item.h File third_party/WebKit/Source/core/layout/ng/inline/ng_inline_item.h (right): https://codereview.chromium.org/2871733003/diff/140001/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_item.h#newcode69 third_party/WebKit/Source/core/layout/ng/inline/ng_inline_item.h:69: ...
3 years, 7 months ago (2017-05-10 21:31:38 UTC) #6
ikilpatrick
https://codereview.chromium.org/2871733003/diff/160001/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc File third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc (right): https://codereview.chromium.org/2871733003/diff/160001/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc#newcode402 third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc:402: line_breaker.NextLine(&item_results, this); So it'd be nice if we didn't ...
3 years, 7 months ago (2017-05-11 15:55:56 UTC) #8
kojii
Thank you for the prompt review as always, all done and tests were fixed. Replies ...
3 years, 7 months ago (2017-05-11 16:17:36 UTC) #10
kojii
Thank you for your prompt review too. https://codereview.chromium.org/2871733003/diff/160001/third_party/WebKit/Source/core/layout/ng/inline/ng_line_breaker.cc File third_party/WebKit/Source/core/layout/ng/inline/ng_line_breaker.cc (right): https://codereview.chromium.org/2871733003/diff/160001/third_party/WebKit/Source/core/layout/ng/inline/ng_line_breaker.cc#newcode105 third_party/WebKit/Source/core/layout/ng/inline/ng_line_breaker.cc:105: while (item_index ...
3 years, 7 months ago (2017-05-11 16:18:29 UTC) #12
eae
LGTM https://codereview.chromium.org/2871733003/diff/140001/third_party/WebKit/Source/core/layout/ng/inline/ng_line_breaker.cc File third_party/WebKit/Source/core/layout/ng/inline/ng_line_breaker.cc (right): https://codereview.chromium.org/2871733003/diff/140001/third_party/WebKit/Source/core/layout/ng/inline/ng_line_breaker.cc#newcode140 third_party/WebKit/Source/core/layout/ng/inline/ng_line_breaker.cc:140: HarfBuzzShaper shaper(node_->Text().Characters16(), node_->Text().length()); On 2017/05/11 16:17:36, kojii wrote: ...
3 years, 7 months ago (2017-05-11 16:25:18 UTC) #13
kojii
Ian, are you ok with this?
3 years, 7 months ago (2017-05-13 15:20:57 UTC) #20
kojii
Read some floats code and here's my thoughts atm. With this CL, line breaking and ...
3 years, 7 months ago (2017-05-14 13:27:16 UTC) #26
ikilpatrick
On 2017/05/14 13:27:16, kojii wrote: > Read some floats code and here's my thoughts atm. ...
3 years, 7 months ago (2017-05-16 00:04:18 UTC) #38
kojii
Thank you Ian. Yeah, this needs lots of cleanup, your help is great. A bit ...
3 years, 7 months ago (2017-05-16 01:23:57 UTC) #39
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/2871733003/300001
3 years, 7 months ago (2017-05-16 01:25:21 UTC) #42
commit-bot: I haz the power
3 years, 7 months ago (2017-05-16 02:26:46 UTC) #45
Message was sent while issue was closed.
Committed patchset #13 (id:300001) as
https://chromium.googlesource.com/chromium/src/+/394d28a0fd538118bda1b530c1a3...

Powered by Google App Engine
This is Rietveld 408576698