New issue
Advanced search Search tips

Issue 851075 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Task

Blocked on:
issue 854840

Blocking:
issue 811502
issue 855279



Sign in to add a comment

[LayoutNG] Support hit testing on inline elements

Project Member Reported by xiaoche...@chromium.org, Jun 8 2018

Issue description

Currently, we omit an inline box fragment in some cases, e.g., when it doesn't introduce any visual difference. As a result, we can't hit such elements when traversing the fragment tree.

We need to:

1. Either preserve the inline fragments, so that we can reuse NGBoxFragmentPainter::NodeAtPoint() to hit them

2. Or generate these omitted boxes on-the-fly and hit test them
 
For option 2, quite a lot of coding complexity is required, so I'm investigating option 1 for now.

For option 1, some more investigation is needed, mostly:

A. It seems that currently layout code doesn't place all inline fragments correctly. See below for a list of pixel failures after preserving all inline fragments:

https://docs.google.com/spreadsheets/d/1wJFjnWoQfHO_mixJhUN_raKu17nq8hL1yfFB1_PkFm8/edit?usp=sharing

We also placed a SPAN at an incorrect place in fast/dom/Document/CaretRangeFromPoint/caretRangeFromPoint-with-before-style.html

B. layout_inline.cc has some call sites of NGInlineFragmentTraversal::SelfFragmentsOf(). We need to investigate each of them to decide whether descendants of inline box fragments should be included in the traversal or not.

C. Performance impact if we preserve all inline fragments

While C is only for option 1, A and B can be done as standalone bug fixing.
Blocking: 811502
Project Member

Comment 3 by bugdroid1@chromium.org, Jun 9 2018

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

commit 3a754b89438236e9095c3cae5fe7cb451848f6f2
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Sat Jun 09 04:23:55 2018

Convert fast/forms/radio/radio-nested-labels.html with testharness

This patch converts the layout test with W3C testharness to reduce usage
of deprecated js-test.js. It also converts the test into a sync test
since there is nothing async necessary.

This is also a preparation for fixing hit test
bugs when more NG inline fragments are preserved.

Bug:  851075 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng
Change-Id: Iaecd40451a793eaab967fc26e0872d4a65a43d83
Reviewed-on: https://chromium-review.googlesource.com/1093302
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Reviewed-by: Aleks Totic <atotic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565852}
[delete] https://crrev.com/8d8620a0d538d0064257d4f9e903d006fb5854e5/third_party/WebKit/LayoutTests/fast/forms/radio/radio-nested-labels-expected.txt
[modify] https://crrev.com/3a754b89438236e9095c3cae5fe7cb451848f6f2/third_party/WebKit/LayoutTests/fast/forms/radio/radio-nested-labels.html
[delete] https://crrev.com/8d8620a0d538d0064257d4f9e903d006fb5854e5/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/forms/radio/radio-nested-labels-expected.txt

Project Member

Comment 4 by bugdroid1@chromium.org, Jun 9 2018

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

commit 0f4c5db938fc1739e3bb218dd69a43ebb3768250
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Sat Jun 09 04:51:00 2018

Convert fast/writing-mode/vertical-inline-block-hittest.html with testharness

This patch converts the layout test with W3C testharness to reduce usage
of deprecated js-test.js.

This is also a preparation for fixing hit test
bugs when more NG inline fragments are preserved.

Bug:  851075 
Change-Id: Iec606756c9b089f69dcc443b436a1c53130d1848
Reviewed-on: https://chromium-review.googlesource.com/1093987
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Reviewed-by: Aleks Totic <atotic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565860}
[delete] https://crrev.com/d35ae16c1b4b3f2b6262b75cd271c79f3267b452/third_party/WebKit/LayoutTests/fast/writing-mode/vertical-inline-block-hittest-expected.txt
[modify] https://crrev.com/0f4c5db938fc1739e3bb218dd69a43ebb3768250/third_party/WebKit/LayoutTests/fast/writing-mode/vertical-inline-block-hittest.html

Project Member

Comment 5 by bugdroid1@chromium.org, Jun 15 2018

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

commit f566298c7957272a5fae01cc20cee25a3e928be7
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Fri Jun 15 22:33:53 2018

[LayoutNG] Replicate most inline hit test behavior to NG

Legacy hit tests inline elements and nodes in the way that:
- Enter inline boxes from block flow only when HitTestAction is
  kHitTestForeground (LineBoxList::HitTest)
- When entering atomic inline from an inline box, hit test all phases
  regardless of the HitTestAction for parent (InlineBox::NodeAtPoint)
- After hit testing the children of an InlineFlowBox, the InlineFlowBox
  itself is also hit tested (InlineFlowBox::NodeAtPoint). This applies
  even when the the InlineFlowBox is a RootInlineBox (i.e., line box).

This patch replicates the above behaviors in NG. Since NG treats line
boxes differently from normal inline boxes, this patch introduces
NGBoxFragmentPainter::HitTestLineBoxFragment() for relevant handling.

Note: this patch doesn't handled culled inlines.

One test related to vertical-rl writing mode is regressed due to passing
incorrect accumulated offset to legacy. This will be fixed later.

Bug:  851075 
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng;luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I5eceb4fe5c8270bc17407212ae2fe7c3841daf90
Reviewed-on: https://chromium-review.googlesource.com/1093577
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567814}
[modify] https://crrev.com/f566298c7957272a5fae01cc20cee25a3e928be7/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[modify] https://crrev.com/f566298c7957272a5fae01cc20cee25a3e928be7/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/f566298c7957272a5fae01cc20cee25a3e928be7/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.cc
[modify] https://crrev.com/f566298c7957272a5fae01cc20cee25a3e928be7/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.h
[modify] https://crrev.com/f566298c7957272a5fae01cc20cee25a3e928be7/third_party/blink/renderer/core/paint/ng/ng_paint_fragment.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Jun 18 2018

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

commit c8534dd14fe7d93ff89b1f808ad8abc947f03212
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Mon Jun 18 22:43:56 2018

[LayoutNG] Simplify NGInlineFragmentTraversal

Old implementation of NGInlineFragmentTraversal traverses all descendants
of an NGPhysicalFragment, and uses a filter to decide which fragments to
emit. As a result, the implementation is convoluted.

This patch rewrites it by using a visitor that can decide the traversal
process, and also when/what to emit. As a result, the implementation
is greatly simplified.

Bug:  851075 
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
Change-Id: I67a1331f906981e48cc366697234f8d5996c02ea
Reviewed-on: https://chromium-review.googlesource.com/1097877
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Reviewed-by: Yoichi Osato <yoichio@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568207}
[modify] https://crrev.com/c8534dd14fe7d93ff89b1f808ad8abc947f03212/third_party/blink/renderer/core/layout/ng/inline/ng_inline_fragment_traversal.cc
[modify] https://crrev.com/c8534dd14fe7d93ff89b1f808ad8abc947f03212/third_party/blink/renderer/core/layout/ng/inline/ng_inline_fragment_traversal.h

Project Member

Comment 7 by bugdroid1@chromium.org, Jun 18 2018

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

commit 38503dec3b9ef0896ef3beab240bdb5365e26197
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Mon Jun 18 22:58:18 2018

[LayoutNG] Stop NGInlineFragmentTraversal::SelfFragmentsOf() from collecting descendants of already collected inline fragments

The above function is used to compute rects of a LayoutInline, and is
especially useful when the LayoutInline doesn't generates its own boxes.

However, currently the function may collect a fragment even if there's
an inline ancestor fragment collected. For example:

<span id="culled">
  <span id="preserved" style="border: 1px solid black">
    text
  </span>
</span>

When calling SelfFragmentsOf() on SPAN#culled, it collects both the box
fragment of SPAN#preserved and the text fragment. This results in wrong
calculation of rects of culled inline elements, and also some failures
in client-rect-related tests.

This also conflicts with the legacy behavior, where if a LayoutInline has
already has an InlineBox, the legacy rect generation functions no longer
collect the descendant InlineBoxes.

This patch fixes the issue by storing a stack of currently entered
inline box fragments, and collect a fragment only if none of its
ancestor inline fragments is entered (which means all of them, if any,
are culled).

While being a standalone fix, this patch also helps preserving more inline
fragments to make hit testing inline elements easier.

Bug:  851075 
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
Change-Id: I8567f1258221c78806be1bb1628b8a63c7ea3281
Reviewed-on: https://chromium-review.googlesource.com/1091921
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568211}
[modify] https://crrev.com/38503dec3b9ef0896ef3beab240bdb5365e26197/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[modify] https://crrev.com/38503dec3b9ef0896ef3beab240bdb5365e26197/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css3/selectors3/html/css3-modsel-39a-expected.txt
[delete] https://crrev.com/b139d7a8661d7875591d18ef9ce44f97e409375a/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css3/selectors3/html/css3-modsel-39c-expected.txt
[modify] https://crrev.com/38503dec3b9ef0896ef3beab240bdb5365e26197/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css3/selectors3/xhtml/css3-modsel-39a-expected.txt
[delete] https://crrev.com/b139d7a8661d7875591d18ef9ce44f97e409375a/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css3/selectors3/xhtml/css3-modsel-39c-expected.txt
[modify] https://crrev.com/38503dec3b9ef0896ef3beab240bdb5365e26197/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css3/selectors3/xml/css3-modsel-39a-expected.txt
[delete] https://crrev.com/b139d7a8661d7875591d18ef9ce44f97e409375a/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css3/selectors3/xml/css3-modsel-39c-expected.txt
[delete] https://crrev.com/b139d7a8661d7875591d18ef9ce44f97e409375a/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css-generated-content/after-order-expected.txt
[modify] https://crrev.com/38503dec3b9ef0896ef3beab240bdb5365e26197/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css-generated-content/before-with-first-letter-expected.txt
[add] https://crrev.com/38503dec3b9ef0896ef3beab240bdb5365e26197/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/forms/suggestion-picker/time-suggestion-picker-appearance-locale-hebrew-expected.png
[delete] https://crrev.com/b139d7a8661d7875591d18ef9ce44f97e409375a/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/layers/perspective-inline-no-display-expected.txt
[delete] https://crrev.com/b139d7a8661d7875591d18ef9ce44f97e409375a/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/transforms/3d/general/perspective-non-layer-expected.txt
[modify] https://crrev.com/38503dec3b9ef0896ef3beab240bdb5365e26197/third_party/blink/renderer/core/layout/ng/inline/ng_inline_fragment_traversal.cc
[modify] https://crrev.com/38503dec3b9ef0896ef3beab240bdb5365e26197/third_party/blink/renderer/core/layout/ng/inline/ng_inline_fragment_traversal_test.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Jun 20 2018

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

commit b9219e0d32000671836778959ff362bd5a5b3c60
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Wed Jun 20 18:43:58 2018

[LayoutNG] Preserve inline box fragment when children have margin

When an inline child has margin, its parent's rect is no longer a
simple union of the descendant rects. Currently, LayoutNG fails to
handle this, and produces wrong rects for inline elements.

This patch forces box fragment creation if any of its children has
inline margin to ensure that LayoutNG returns the correct rects for
it.

Tests:
- fast/forms/form-element-geometry-expected.txt: LayoutNG computes
  wrong rects for two FONT elements, which is corrected
- Three related hit test failures are fixed

Bug:  851075 
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
Change-Id: I08bd749620ed108930f832fb518d062268fbae89
Reviewed-on: https://chromium-review.googlesource.com/1107157
Reviewed-by: Koji Ishii <kojii@chromium.org>
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568947}
[modify] https://crrev.com/b9219e0d32000671836778959ff362bd5a5b3c60/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[modify] https://crrev.com/b9219e0d32000671836778959ff362bd5a5b3c60/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/forms/form-element-geometry-expected.txt
[modify] https://crrev.com/b9219e0d32000671836778959ff362bd5a5b3c60/third_party/blink/renderer/core/layout/ng/inline/ng_inline_box_state.cc
[modify] https://crrev.com/b9219e0d32000671836778959ff362bd5a5b3c60/third_party/blink/renderer/core/layout/ng/inline/ng_inline_box_state.h

Project Member

Comment 9 by bugdroid1@chromium.org, Jun 20 2018

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

commit d7d9add10f81ffa5c92c8498a1e54c1cbdd2f432
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Wed Jun 20 23:26:11 2018

Add a new test case for hit testing inline elements

This patch adds a new WPT that hit tests the empty region in an inline
element above a child with smaller font size (i.e., smaller height), and
expects to hit the inline element itself.

This helps us add related implementation in LayoutNG, since no existing
test case tests this behavior yet.

Bug:  851075 
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
Change-Id: Ic538681530e17ea0d5fc49612376e30bdcf563d8
Reviewed-on: https://chromium-review.googlesource.com/1108560
Reviewed-by: Emil A Eklund <eae@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#569082}
[modify] https://crrev.com/d7d9add10f81ffa5c92c8498a1e54c1cbdd2f432/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[add] https://crrev.com/d7d9add10f81ffa5c92c8498a1e54c1cbdd2f432/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/elementFromPoint-mixed-font-sizes.html

Blockedon: 854840
Blocking: 855279
Project Member

Comment 12 by bugdroid1@chromium.org, Jun 22 2018

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

commit d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Fri Jun 22 06:18:03 2018

[LayoutNG] Convert 14 quirks mode layout tests to standards mode

crrev.com/c/1108509 fixes some hit test behavior, but also reveals
a bug that we compute the wrong line height in quirks mode in some
cases.

Since quirks mode is of low priority for now, this patch converts
some quirks mode layout tests to standards mode to unblock
crrev.com/c/1108509.

Bug: 854840,  851075 
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
Change-Id: I0177d9a395368c5e361d191e1e742732f4fc0c52
Reviewed-on: https://chromium-review.googlesource.com/1111002
Reviewed-by: Koji Ishii <kojii@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#569540}
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/fast/forms/form-element-geometry.html
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/forms/form-element-geometry-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/forms/form-element-geometry-expected.txt
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/tables/mozilla/bugs/bug4427-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/tables/mozilla/bugs/bug5538-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/tables/mozilla/bugs/bug78162-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/tables/mozilla/core/bloomberg-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug72393-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/linux/fast/forms/form-element-geometry-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/linux/fast/forms/form-element-geometry-expected.txt
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug10565-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug113424-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug1188-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug4427-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug4527-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug5538-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug78162-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug86708-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/core/bloomberg-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/other/ms-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla_expected_failures/bugs/bug72393-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/form-element-geometry-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/form-element-geometry-expected.txt
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac-mac10.10/tables/mozilla/bugs/bug1188-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac-mac10.11/fast/forms/form-element-geometry-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac-mac10.11/fast/forms/form-element-geometry-expected.txt
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac-mac10.11/tables/mozilla/bugs/bug1188-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac-mac10.11/tables/mozilla/core/bloomberg-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac-mac10.12/fast/forms/form-element-geometry-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac-mac10.12/tables/mozilla/bugs/bug1188-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac-retina/fast/forms/form-element-geometry-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac-retina/tables/mozilla/bugs/bug4527-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac/fast/forms/form-element-geometry-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac/fast/forms/form-element-geometry-expected.txt
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug10565-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug113424-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug1188-expected.png
[add] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug26553-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug4427-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug4527-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug5538-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug78162-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug86708-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/core/bloomberg-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/other/ms-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug23847-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug72393-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/win/fast/forms/form-element-geometry-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/win/fast/forms/form-element-geometry-expected.txt
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug10565-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug113424-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug1188-expected.png
[add] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug26553-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug4427-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug4527-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug5538-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug78162-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug86708-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/core/bloomberg-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/other/ms-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/win/tables/mozilla_expected_failures/bugs/bug23847-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/platform/win/tables/mozilla_expected_failures/bugs/bug72393-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/tables/mozilla/bugs/bug10565.html
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/tables/mozilla/bugs/bug113424.html
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/tables/mozilla/bugs/bug1188.html
[delete] https://crrev.com/36eaf8e14c06bf165668db7b54ea13db17b2ef65/third_party/WebKit/LayoutTests/tables/mozilla/bugs/bug26553-expected.png
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/tables/mozilla/bugs/bug26553.html
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/tables/mozilla/bugs/bug4427.html
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/tables/mozilla/bugs/bug4527.html
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/tables/mozilla/bugs/bug5538.html
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/tables/mozilla/bugs/bug78162.html
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/tables/mozilla/bugs/bug86708.html
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/tables/mozilla/core/bloomberg.html
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/tables/mozilla/other/ms.html
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/tables/mozilla_expected_failures/bugs/bug23847.html
[modify] https://crrev.com/d9aac9e91bf6742245583c91f8e6c11d8d6fdaf5/third_party/WebKit/LayoutTests/tables/mozilla_expected_failures/bugs/bug72393.html

Project Member

Comment 13 by bugdroid1@chromium.org, Jun 22 2018

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

commit e6c81f167cd90f306cc99ffd1d12623cde8123aa
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Fri Jun 22 08:18:09 2018

[LayoutNG] Fix hit test visibility check on text fragments

When hit testing a text fragment, current code checks the hit test
request against its containing box fragment to decide if the text is
visible to hit test request. This gives wrong result when there are
culled inlines between the two fragments, for example:

<div><span inert>foo</span></div>

This patch fixes the issue by using the text fragment itself for the
visibility check.

Bug:  851075 
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng;luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I2b318260c6a108c091d66b30e46d3d64d5f8a408
Reviewed-on: https://chromium-review.googlesource.com/1110524
Reviewed-by: Koji Ishii <kojii@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#569555}
[modify] https://crrev.com/e6c81f167cd90f306cc99ffd1d12623cde8123aa/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[modify] https://crrev.com/e6c81f167cd90f306cc99ffd1d12623cde8123aa/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.cc

Project Member

Comment 14 by bugdroid1@chromium.org, Jun 25 2018

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

commit fdf7ef797610c2a3f889b81bbac9b820f868c75b
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Mon Jun 25 19:31:01 2018

[LayoutNG] Preserve inline box fragment when having atomic inline child

If an inline element contains an atomic inline child, the height of the
child is often different from its parent, in which case the parent's
rect is no longer a simple union of its child rects.

Currently, LayoutNG fails to handle this. This patch ensures box
fragment creation in this case so that we can get correct rects for the
parent.

Tests:
- A lot of tests have wrong baselines, where inline elements are dumped
  with wrong sizes. This patch corrects them
- 4 relevant hit test failures are fixed
- Unfortunately, this patch reveals some existing bugs or unimplemented
  features. As a result, 7 tests regressed...

Bug:  851075 
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
Change-Id: I4bf26ac35542d03a8bf01de1ffb9d4b2cdbac96b
Reviewed-on: https://chromium-review.googlesource.com/1108509
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Cr-Commit-Position: refs/heads/master@{#570132}
[modify] https://crrev.com/fdf7ef797610c2a3f889b81bbac9b820f868c75b/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[modify] https://crrev.com/fdf7ef797610c2a3f889b81bbac9b820f868c75b/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css1/box_properties/border-expected.txt
[delete] https://crrev.com/647f58433c3c47994e987d2b25a1ef14ee1b70a2/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css2.1/t0805-c5522-brdr-01-b-g-expected.txt
[delete] https://crrev.com/647f58433c3c47994e987d2b25a1ef14ee1b70a2/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css-generated-content/inline-display-types-expected.txt
[modify] https://crrev.com/fdf7ef797610c2a3f889b81bbac9b820f868c75b/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/visibility-hit-test-expected.txt
[delete] https://crrev.com/647f58433c3c47994e987d2b25a1ef14ee1b70a2/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/dom/HTMLProgressElement/progress-element-expected.txt
[add] https://crrev.com/fdf7ef797610c2a3f889b81bbac9b820f868c75b/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/dom/nodesFromRect/nodesFromRect-inline-image-expected.txt
[delete] https://crrev.com/647f58433c3c47994e987d2b25a1ef14ee1b70a2/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/dynamic/genContentDestroyChildren-expected.txt
[modify] https://crrev.com/fdf7ef797610c2a3f889b81bbac9b820f868c75b/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/dynamic/insert-before-table-part-in-continuation-expected.txt
[modify] https://crrev.com/fdf7ef797610c2a3f889b81bbac9b820f868c75b/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/forms/form-element-geometry-expected.txt
[delete] https://crrev.com/647f58433c3c47994e987d2b25a1ef14ee1b70a2/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt
[modify] https://crrev.com/fdf7ef797610c2a3f889b81bbac9b820f868c75b/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/invalid/012-expected.txt
[modify] https://crrev.com/fdf7ef797610c2a3f889b81bbac9b820f868c75b/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/images/image-in-map-expected.txt
[delete] https://crrev.com/647f58433c3c47994e987d2b25a1ef14ee1b70a2/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/paint/invalidation/overflow/inline-block-overflow-expected.txt
[modify] https://crrev.com/fdf7ef797610c2a3f889b81bbac9b820f868c75b/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/svg/custom/absolute-sized-svg-in-xhtml-expected.txt
[delete] https://crrev.com/647f58433c3c47994e987d2b25a1ef14ee1b70a2/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/svg/custom/createImageElement2-expected.txt
[delete] https://crrev.com/647f58433c3c47994e987d2b25a1ef14ee1b70a2/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/svg/custom/image-parent-translation-expected.txt
[delete] https://crrev.com/647f58433c3c47994e987d2b25a1ef14ee1b70a2/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto-expected.txt
[delete] https://crrev.com/647f58433c3c47994e987d2b25a1ef14ee1b70a2/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults-expected.txt
[delete] https://crrev.com/647f58433c3c47994e987d2b25a1ef14ee1b70a2/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden-expected.txt
[delete] https://crrev.com/647f58433c3c47994e987d2b25a1ef14ee1b70a2/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-scroll-expected.txt
[delete] https://crrev.com/647f58433c3c47994e987d2b25a1ef14ee1b70a2/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt
[modify] https://crrev.com/fdf7ef797610c2a3f889b81bbac9b820f868c75b/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/virtual/gpu-rasterization/images/image-in-map-expected.txt
[add] https://crrev.com/fdf7ef797610c2a3f889b81bbac9b820f868c75b/third_party/WebKit/LayoutTests/http/tests/security/contentSecurityPolicy/resources/csp-report.generate-csp-report.php.txt
[modify] https://crrev.com/fdf7ef797610c2a3f889b81bbac9b820f868c75b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_box_state.cc

Project Member

Comment 15 by bugdroid1@chromium.org, Jun 26 2018

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

commit c0d690f11e22623fcf5b2d954f7b1a138e854b00
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Tue Jun 26 04:50:05 2018

[LayoutNG] Implement hit test on culled inline elements

This patch implements hit testing on culled inline elements by:

- After hit testing each inline fragment, fall back to the legacy
  LayoutObject tree to see if there is any culled inline ancestor
  element, and hit test each of them. This part replicates relevant
  logic in InlineFlowBox::NodeAtPoint.

- Adds a |parent_fragment| parameter to
  LayoutInline::HitTestCulledInline to ensure that only descendant
  rects of |parent_fragment| are hit tested. This ensure that, e.g.,
  for a multi-line SPAN, we hit test its rects line-by-line, to ensure
  correct hit test ordering.

Tests: 6 layout tests are fixed. One of them is rebaselined due to
whitespace-only difference in text dump.

Bug:  851075 
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng;luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ic303ce5f8a192f92ad326c304a9d84fa898e4c94
Reviewed-on: https://chromium-review.googlesource.com/1110737
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#570335}
[modify] https://crrev.com/c0d690f11e22623fcf5b2d954f7b1a138e854b00/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[add] https://crrev.com/c0d690f11e22623fcf5b2d954f7b1a138e854b00/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/dom/nodesFromRect/nodesFromRect-inner-documents-expected.txt
[modify] https://crrev.com/c0d690f11e22623fcf5b2d954f7b1a138e854b00/third_party/blink/renderer/core/layout/layout_inline.cc
[modify] https://crrev.com/c0d690f11e22623fcf5b2d954f7b1a138e854b00/third_party/blink/renderer/core/layout/layout_inline.h
[modify] https://crrev.com/c0d690f11e22623fcf5b2d954f7b1a138e854b00/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.cc

Project Member

Comment 16 by bugdroid1@chromium.org, Jun 28 2018

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

commit 0c75ecf9b5286947242076acac411afda392fae2
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Thu Jun 28 16:44:20 2018

Convert 9 layout tests to standards mode

This is a preparation patch for crrev.com/c/1117716, which reveals
some LayoutNG bugs in non-standards mode.

Since non-standards mode is of low priority for now, this patch
converts these tests to standards mode to unblock the pending CL.

Note: fast/css/first-letter-first-line-hover.html is a ref test,
whose ref file is also modified.

Bug:  851075 
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
Change-Id: Icd62340740c52efd62cf6a36a06442a336639476
Reviewed-on: https://chromium-review.googlesource.com/1117919
Reviewed-by: Koji Ishii <kojii@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571162}
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/fast/css/first-letter-first-line-hover-expected.html
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/fast/css/first-letter-first-line-hover.html
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/tables/mozilla/other/wa_table_thtd_rowspan-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/tables/mozilla/other/wa_table_tr_align-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/tables/mozilla_expected_failures/bugs/bug89315-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug126742-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug22513-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug8381-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug8858-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/other/wa_table_thtd_rowspan-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/other/wa_table_tr_align-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla_expected_failures/bugs/bug89315-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/platform/mac-mac10.12/tables/mozilla/bugs/bug8858-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/platform/mac-mac10.12/tables/mozilla/other/wa_table_thtd_rowspan-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/platform/mac-mac10.12/tables/mozilla/other/wa_table_tr_align-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug126742-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug22513-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug8381-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/bugs/bug8858-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/other/wa_table_thtd_rowspan-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla/other/wa_table_tr_align-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug89315-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug126742-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug22513-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug8381-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug8858-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/other/wa_table_thtd_rowspan-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/other/wa_table_tr_align-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/platform/win/tables/mozilla_expected_failures/bugs/bug89315-expected.png
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/tables/mozilla/bugs/bug126742.html
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/tables/mozilla/bugs/bug22513.html
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/tables/mozilla/bugs/bug8381.html
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/tables/mozilla/bugs/bug8858.html
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/tables/mozilla/other/wa_table_thtd_rowspan.html
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/tables/mozilla/other/wa_table_tr_align.html
[modify] https://crrev.com/0c75ecf9b5286947242076acac411afda392fae2/third_party/WebKit/LayoutTests/tables/mozilla_expected_failures/bugs/bug89315.html

Comment 17 Deleted

Project Member

Comment 18 by bugdroid1@chromium.org, Jun 29 2018

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

commit dddd57604df6ad7e2137926424771efaf6b9cf1a
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Fri Jun 29 21:14:51 2018

[LayoutNG] Preserve inline box fragment when children have different font metrics

When parent and child inline elements have different font metrics,
they may have different vertical locations and/or heights, in which
case we should preserve the parent box fragment, since we can't
reconstruct the parent rect as a simple union of its child rects.

This patch fixes failures due to such incorrect reconstruction.

Note: this is a sibling patch of crrev.com/c/1108509, where we
preserved inline box fragment if there are atomic inline children.

Note 2: legacy handles different font metrics case with
ComputeItemTopHeight in layout_inline.cc, which looks hacky and
reduces code readability. Hence, we don't replicate it to NG.

Bug:  851075 
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
Change-Id: I7d99e01afd0842b03163c16d0ab57bc0ef9fcc4c
Reviewed-on: https://chromium-review.googlesource.com/1117716
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571632}
[modify] https://crrev.com/dddd57604df6ad7e2137926424771efaf6b9cf1a/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[modify] https://crrev.com/dddd57604df6ad7e2137926424771efaf6b9cf1a/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css2.1/t100801-c544-valgn-02-d-agi-expected.txt
[modify] https://crrev.com/dddd57604df6ad7e2137926424771efaf6b9cf1a/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css2.1/t100801-c544-valgn-03-d-agi-expected.txt
[modify] https://crrev.com/dddd57604df6ad7e2137926424771efaf6b9cf1a/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css-generated-content/009-expected.txt
[modify] https://crrev.com/dddd57604df6ad7e2137926424771efaf6b9cf1a/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-expected.txt
[modify] https://crrev.com/dddd57604df6ad7e2137926424771efaf6b9cf1a/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/word-space-extra-expected.txt
[modify] https://crrev.com/dddd57604df6ad7e2137926424771efaf6b9cf1a/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/transforms/bounding-rect-zoom-expected.txt
[modify] https://crrev.com/dddd57604df6ad7e2137926424771efaf6b9cf1a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_box_state.cc
[modify] https://crrev.com/dddd57604df6ad7e2137926424771efaf6b9cf1a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_box_state.h
[modify] https://crrev.com/dddd57604df6ad7e2137926424771efaf6b9cf1a/third_party/blink/renderer/core/layout/ng/inline/ng_line_height_metrics.h

Status: Fixed (was: Assigned)

Sign in to add a comment