New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 719615 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature



Sign in to add a comment

Exclude trailing whitespaces from the line's width while checking whether a float fits on line

Project Member Reported by glebl@chromium.org, May 8 2017

Issue description

Similar to the legacy code LineWidth::FitsOnline we should exclude trailing whitespaces from the line's width calculation while checking whether a float fits on line.

Examples of failed layout tests:
external/wpt/css/CSS2/floats-clear/floats-001.xht
external/wpt/css/CSS2/floats-clear/floats-006.xht
 

Comment 1 by kojii@chromium.org, May 8 2017

Sorry for the trouble, I started integrating Emil's shaper-driven line breaker. It took longer than expected that the temporary line breaker lived too long. I'll make sure the new line breaker does not have this issue.
Project Member

Comment 2 by bugdroid1@chromium.org, May 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/394d28a0fd538118bda1b530c1a37414ea28dbe0

commit 394d28a0fd538118bda1b530c1a37414ea28dbe0
Author: kojii <kojii@chromium.org>
Date: Tue May 16 02:26:24 2017

[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}

[add] https://crrev.com/394d28a0fd538118bda1b530c1a37414ea28dbe0/third_party/WebKit/LayoutTests/virtual/layout_ng/fast/block/float/overhanging-float-crashes-when-sibling-becomes-formatting-context-expected.txt
[modify] https://crrev.com/394d28a0fd538118bda1b530c1a37414ea28dbe0/third_party/WebKit/Source/core/layout/BUILD.gn
[modify] https://crrev.com/394d28a0fd538118bda1b530c1a37414ea28dbe0/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_break_token.cc
[modify] https://crrev.com/394d28a0fd538118bda1b530c1a37414ea28dbe0/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_item.h
[add] https://crrev.com/394d28a0fd538118bda1b530c1a37414ea28dbe0/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_item_result.cc
[add] https://crrev.com/394d28a0fd538118bda1b530c1a37414ea28dbe0/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_item_result.h
[modify] https://crrev.com/394d28a0fd538118bda1b530c1a37414ea28dbe0/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc
[modify] https://crrev.com/394d28a0fd538118bda1b530c1a37414ea28dbe0/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.h
[modify] https://crrev.com/394d28a0fd538118bda1b530c1a37414ea28dbe0/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_node.cc
[modify] https://crrev.com/394d28a0fd538118bda1b530c1a37414ea28dbe0/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_node_test.cc
[modify] https://crrev.com/394d28a0fd538118bda1b530c1a37414ea28dbe0/third_party/WebKit/Source/core/layout/ng/inline/ng_line_breaker.cc
[modify] https://crrev.com/394d28a0fd538118bda1b530c1a37414ea28dbe0/third_party/WebKit/Source/core/layout/ng/inline/ng_line_breaker.h

Comment 3 by kojii@chromium.org, May 16 2017

Status: Fixed (was: Assigned)

Sign in to add a comment