New issue
Advanced search Search tips

Issue 849751 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Task

Blocked on:
issue 850216

Blocking:
issue 894339



Sign in to add a comment

[LayoutNG] Scrollbar related test failures

Project Member Reported by kojii@chromium.org, Jun 5 2018

Issue description

Just a list of tests that has scrollbars on test but not on ref, or vice versa. Maybe because of other layout problems though.


fast/overflow/overflow-update-transform.html - overflow not taking transform into account.
 
http/tests/images/restyle-decode-error.html - zoomed body too big

fast/block/positioning/complex-positioned-movement-inline-ancestor-expected.html - no scrollbar


Fixed:
fast/deprecated-flexbox/009-horizontal.htmlfast/text/selection/pre-wrap-overflow-selection.html
fast/gradients/list-item-gradient.html  - List items with images too large
fast/gradients/unprefixed-list-item-gradient.html - List items with images too large
fast/css3-text/css3-text-decoration/text-decoration-skip-ink.html
fast/inline-block/tricky-baseline.html

missing scrollWidth:
compositing/overflow/border-radius-above-composited-subframe.html
fast/css/absolute-child-with-percent-height-inside-relative-parent.html
paint/markers/active-suggestion-marker-split.html
paint/markers/composition-marker-split.html


 

Comment 2 by kojii@chromium.org, Jun 6 2018

Some text dump mismatches are from the lack of "scrollWidth" (we briefly chatted this, let me know if you think it's safe to rebaseline):

compositing/overflow/border-radius-above-composited-subframe.html

Comment 3 by kojii@chromium.org, Jun 6 2018

There are some tests where we create less Layers than legacy. Is this also about scrolling? I don't have good idea what Layers do.

Comment 4 by kojii@chromium.org, Jun 6 2018

This one lacks "scrollWidth" too.

fast/css/absolute-child-with-percent-height-inside-relative-parent.html
Blockedon: 850216
Filed a  bug #850216  for fast/text/selection/pre-wrap-overflow-selection.html 
Cc: -atotic@chromium.org
Owner: atotic@chromium.org
Status: Assigned (was: Available)
Project Member

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

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

commit eec965aea44873b0f77c6bd085c4ff3f7166cdd3
Author: Aleks Totic <atotic@chromium.org>
Date: Sat Jun 09 05:53:42 2018

[LayoutNG] LayoutBox::AvailableLogicalHeight can be indefinite

Small change with a complex background story.
This fixes NG test
fast/css3-text/css3-text-decoration/text-decoration-skip-ink.html

The test is 2 vertical-lr divs inside the flexbox:
<div style="display: flex;">
  <div class="target" style="writing-mode:vertical-lr">
     <p class="decoration ">Ép Ép Ép</p>
     <p class="decoration ">Ép Ép Ép</p>
  </div>
  <div class="target" style="writing-mode:vertical-lr">
     <p class="decoration ">Ép Ép Ép</p>
     <p class="decoration ">Ép Ép Ép</p>
  </div>

Bug manifests itself in weird ways. The main symptom is that #target
intrinsic_content_size is calculated incorrectly. It can manifest
itself as an extra scrollbar, or flex item that is too wide.
The cause is incorrect constraint space.

The root cause is

Flex item gets positioned by old layout, which sets
OverrideContainingBlockContentLogicalHeight to -1.

NGBlockNode::RunOldLayout
  block_size = -1;
  SetOverrideContainingBlockContentLogicalHeight(block_size)

When #target is getting positioned, it creates a constraint space:
  NGConstraintSpace::CreateFromLayoutObject
Because child is orthogonal, this calls
  box.PerpendicularContainingBlockLogicalHeight
which ends up calling
  LayoutBox::AvailableLogicalHeight.

LayoutBox returns 0 as AvailableLogicalHeight instead of -1 because
it does ConstrainContentBoxLogicalHeightByMinMax(-1) which returns
0.

The fix, to allow AvailableLogicalHeight to return indefinite values,
fixes the bug, and has no other effects on our test suites.

Another fix that was considered was to write an NG routine to compute
PerpendicularContainingBlockLogicalHeight. There is a lot of legacy
logic behind this routine, and it is unclear how to implement
it in NG on top of Legacy code.


Bug: 849751
Change-Id: Ia948ccc2e6d1c0274d23f3d558eb773843a248ed
Reviewed-on: https://chromium-review.googlesource.com/1093996
Reviewed-by: Christian Biesinger <cbiesinger@chromium.org>
Commit-Queue: Aleks Totic <atotic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565868}
[modify] https://crrev.com/eec965aea44873b0f77c6bd085c4ff3f7166cdd3/third_party/blink/renderer/core/layout/layout_box.cc

Comment 9 by kojii@chromium.org, Jun 12 2018

fast/text/hide-atomic-inlines-after-ellipsis.html

doesn't apply clipping, and my best guess atm is NG has:
> layer at (8,52) size 500x42
while legacy has:
> layer at (8,52) size 500x42 scrollWidth 708

Maybe wrong, but this "scrollWidth" in text dump was once in our discussion before, maybe worth to check?

Comment 10 by kojii@chromium.org, Jun 12 2018

Following #9:

LayoutTreeAsText writes "scrollWidth" here:
https://cs.chromium.org/chromium/src/third_party/blink/renderer/core/layout/layout_tree_as_text.cc?type=cs&q=%22%5C%22+scrollWidth%22+file:cc&g=0&l=642

if (layer.GetLayoutBox() &&
        layer.GetLayoutBox()->PixelSnappedClientHeight() !=
            layer.GetLayoutBox()->PixelSnappedScrollHeight())

PixelSnappedClientHeight() is 500 in both legacy and NG, but PixelSnappedScrollHeight() is 708 in legacy while 500 in NG.

Do you happen to know PixelSnappedScrollHeight()?

Comment 11 by kojii@chromium.org, Jun 13 2018

Following #10:

Looks like inline-end padding problem. The line box is 308px inline-size. The container has:

.container {
  width: 100px;
  padding-right: 400px;
}

Legacy computes the layout overflow is 708px, while NG computes 308px. LayoutBox::AddLayoutOverflow() ignores 308px overflow because its client_box is 500px and 308px is less than that. Then later, because we consider there's no layout overflow, we don't apply clipping.

Looking at LayoutNGMixin<Base>::AddScrollingOverflowFromChildren(), did we conclude not to include inline-end padding?

Comment 12 by kojii@chromium.org, Jun 14 2018

yoichio@ found more missing "scrollWidth" in https://chromium-review.googlesource.com/c/chromium/src/+/1100596
- paint/markers/active-suggestion-marker-split.html
- paint/markers/composition-marker-split.html

Maybe we should fork an issue for "scrollWidth"?
Description: Show this description
Project Member

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

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

commit a2a4e6775f381851a87915d8acad156a2da874a6
Author: Aleks Totic <atotic@chromium.org>
Date: Fri Jun 15 08:34:06 2018

[LayoutNG] hidden overflow still contributes to scrollWidth

Bug: 849751
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
Change-Id: I8c203eb45b980539b22dc5838f4546ed200323de
Reviewed-on: https://chromium-review.googlesource.com/1101826
Commit-Queue: Aleks Totic <atotic@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567578}
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css3/filters/effect-brightness-hw-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css3/filters/effect-grayscale-hw-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css3/filters/effect-hue-rotate-hw-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css3/filters/effect-saturate-hw-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css3/filters/effect-sepia-hw-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-ltr-mixed-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-mixed-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-2-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-2-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-bidi-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-block-with-border-and-padding-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-multiple-shadows-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-shadow-alpha-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-strict-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-center-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-left-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-right-expected.txt
[delete] https://crrev.com/66b91d46a423351e9c2130f921200bd553133c52/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-vertical-hittest-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/reflections/reflection-direction-expected.txt
[delete] https://crrev.com/66b91d46a423351e9c2130f921200bd553133c52/third_party/WebKit/LayoutTests/virtual/layout_ng_experimental/printing/ellipsis-printing-style-expected.png
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/WebKit/LayoutTests/virtual/layout_ng_experimental/printing/ellipsis-printing-style-expected.txt
[modify] https://crrev.com/a2a4e6775f381851a87915d8acad156a2da874a6/third_party/blink/renderer/core/layout/ng/layout_ng_mixin.cc

Project Member

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

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

commit 32efca451ff8fcdecb2733d873d24a977ddf2b28
Author: Robert Liao <robliao@chromium.org>
Date: Fri Jun 15 14:11:47 2018

Revert "[LayoutNG] hidden overflow still contributes to scrollWidth"

This reverts commit a2a4e6775f381851a87915d8acad156a2da874a6.

Reason for revert:
Fails 
virtual/layout_ng_experimental/printing/ellipsis-printing-style.html
on https://ci.chromium.org/buildbot/chromium.webkit/WebKit%20Win10/ starting at 36497

Original change's description:
> [LayoutNG] hidden overflow still contributes to scrollWidth
> 
> Bug: 849751
> Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
> Change-Id: I8c203eb45b980539b22dc5838f4546ed200323de
> Reviewed-on: https://chromium-review.googlesource.com/1101826
> Commit-Queue: Aleks Totic <atotic@chromium.org>
> Reviewed-by: Koji Ishii <kojii@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#567578}

TBR=kojii@chromium.org,atotic@chromium.org

Change-Id: Ied593263c291a73864e9c9830c6f4dd747ee4377
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 849751
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
Reviewed-on: https://chromium-review.googlesource.com/1102517
Reviewed-by: Robert Liao <robliao@chromium.org>
Commit-Queue: Robert Liao <robliao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567634}
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css3/filters/effect-brightness-hw-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css3/filters/effect-grayscale-hw-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css3/filters/effect-hue-rotate-hw-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css3/filters/effect-saturate-hw-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css3/filters/effect-sepia-hw-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-ltr-mixed-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-mixed-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-2-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-2-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-bidi-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-block-with-border-and-padding-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-multiple-shadows-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-shadow-alpha-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-strict-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-center-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-left-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-right-expected.txt
[add] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-vertical-hittest-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/reflections/reflection-direction-expected.txt
[add] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/virtual/layout_ng_experimental/printing/ellipsis-printing-style-expected.png
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/WebKit/LayoutTests/virtual/layout_ng_experimental/printing/ellipsis-printing-style-expected.txt
[modify] https://crrev.com/32efca451ff8fcdecb2733d873d24a977ddf2b28/third_party/blink/renderer/core/layout/ng/layout_ng_mixin.cc

Project Member

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

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

commit 63f4e28531ca5c895803114a450236249cfc56d0
Author: Aleks Totic <atotic@chromium.org>
Date: Sun Jun 17 06:41:08 2018

[LayoutNG] Reland now with missing expectation

Reland of 1101826. Was reverted in 1102517 because of WebKit Win10 test failure.
Cause of failure is that Win10 expectations were not there.

This test has Win7 specific expectations, and no Win10 expectations.

non-virtual version is skipped on Win10.

Bug: 849751
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
Change-Id: I57b74eab41848db28fa0b19b0e2f3fcfc210d8fa
Reviewed-on: https://chromium-review.googlesource.com/1102889
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Commit-Queue: Aleks Totic <atotic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567909}
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css3/filters/effect-brightness-hw-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css3/filters/effect-grayscale-hw-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css3/filters/effect-hue-rotate-hw-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css3/filters/effect-saturate-hw-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/css3/filters/effect-sepia-hw-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-ltr-mixed-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/dont-select-text-overflow-ellipsis-when-wrapping-rtl-mixed-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-2-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-ltr-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-2-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/editing/selection/select-text-overflow-ellipsis-mixed-in-rtl-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-bidi-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-block-with-border-and-padding-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-multiple-shadows-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-shadow-alpha-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-strict-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-center-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-left-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-text-align-right-expected.txt
[delete] https://crrev.com/ce3c472e9aa5f8f85e21d013a29d1c291853505c/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/text-overflow-ellipsis-vertical-hittest-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/reflections/reflection-direction-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/WebKit/LayoutTests/virtual/layout_ng_experimental/printing/ellipsis-printing-style-expected.txt
[modify] https://crrev.com/63f4e28531ca5c895803114a450236249cfc56d0/third_party/blink/renderer/core/layout/ng/layout_ng_mixin.cc

Description: Show this description
fast/inline-block/tricky-baseline.html
seems to be a missing scrollbar, IIRC it used to be different.
Project Member

Comment 19 by bugdroid1@chromium.org, Sep 14

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

commit f5fc29571fd8355730a21a9654fc6a60180d45e5
Author: Koji Ishii <kojii@chromium.org>
Date: Fri Sep 14 17:51:38 2018

[LayoutNG] Fix painting scrollbars for inline blocks

This patch fixes painting scrollbars that are attached to
inline blocks that have inline children.

Painting inline blocks is a little different from existing
painters because they can be engine boundaries.
PaintOverflowControlsIfNeeded was added for this reason,
but we didn't call it for self painting atomic inlines.

Bug:  714962 , 849751
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: I1f8bec247a2625f5dba6fb2d5d1dc91229e08557
Reviewed-on: https://chromium-review.googlesource.com/1226790
Reviewed-by: Emil A Eklund <eae@chromium.org>
Commit-Queue: Emil A Eklund <eae@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591388}
[modify] https://crrev.com/f5fc29571fd8355730a21a9654fc6a60180d45e5/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[modify] https://crrev.com/f5fc29571fd8355730a21a9654fc6a60180d45e5/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.cc

Cc: mstensho@chromium.org
I stumbled across this bug while investigating why I get horizontal scrolling in articles at http://www.vg.no/ and http://www.aftenposten.no/ on my mobile phone.

So, the question is: is anyone working on this at the moment?

Attaching reduced test case.
tc.html
218 bytes View Download
Re: #20
The root cause of extra scrollbars is computing of ScrollableOverflow by NGPhysicalBoxFragment.

NGPhysicalBoxFragment::ScrollableOverflow() just unions children fragments.
It does not take into account paint-layer transformations of children's rects like LayoutBox::LayoutOverflowRectForPropagation does.

The paint layer geometry transforms have not been implemented for fragments.
I think we'd need to design this together with paint team.


I quickly wrote (but did not submit) some code that does the same as we do on the legacy side for transforms and overflow, and that fixes the problems.
I'd love to see the code. I am curious how did you get the transformation matrices between fragments.
Nothing fancy. Just stole legacy code that uses LayoutObject a lot.

For your eyes only: https://chromium-review.googlesource.com/c/chromium/src/+/1271100
:)
Blocking: 894339
Labels: -Pri-3 Pri-2
This one is important, because I believe it's causing trouble at quite a few sites, at least many of those I visit (Norwegian ones). Bumping priority. See comment 20.
Project Member

Comment 27 by bugdroid1@chromium.org, Jan 14

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

commit bae50aa7e178c87d6c8030f38cd748048e351ff8
Author: Aleks Totic <atotic@chromium.org>
Date: Mon Jan 14 18:27:18 2019

[LayoutNG] Children ScrollableOverflow applies transforms

Scrollable overflow of container fragments is a union of
children scrollable overflows. If children have transforms,
those transforms should be applied before the union.

Added overflow-abpos-transform.html test case to explicitly
test abspos fragment with transforms.

Bug: 849751
Change-Id: Iaa43ea1617113c658accf2d02bf7574e08a03518
Notry: true
Reviewed-on: https://chromium-review.googlesource.com/c/1406235
Commit-Queue: Aleks Totic <atotic@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#622520}
[modify] https://crrev.com/bae50aa7e178c87d6c8030f38cd748048e351ff8/third_party/blink/renderer/core/layout/ng/inline/ng_physical_line_box_fragment.cc
[modify] https://crrev.com/bae50aa7e178c87d6c8030f38cd748048e351ff8/third_party/blink/renderer/core/layout/ng/inline/ng_physical_line_box_fragment.h
[modify] https://crrev.com/bae50aa7e178c87d6c8030f38cd748048e351ff8/third_party/blink/renderer/core/layout/ng/layout_ng_mixin.cc
[modify] https://crrev.com/bae50aa7e178c87d6c8030f38cd748048e351ff8/third_party/blink/renderer/core/layout/ng/ng_physical_box_fragment.cc
[modify] https://crrev.com/bae50aa7e178c87d6c8030f38cd748048e351ff8/third_party/blink/renderer/core/layout/ng/ng_physical_fragment.cc
[modify] https://crrev.com/bae50aa7e178c87d6c8030f38cd748048e351ff8/third_party/blink/renderer/core/layout/ng/ng_physical_fragment.h
[modify] https://crrev.com/bae50aa7e178c87d6c8030f38cd748048e351ff8/third_party/blink/web_tests/FlagExpectations/enable-blink-features=LayoutNG
[add] https://crrev.com/bae50aa7e178c87d6c8030f38cd748048e351ff8/third_party/blink/web_tests/external/wpt/css/css-overflow/overflow-abpos-transform.html
[add] https://crrev.com/bae50aa7e178c87d6c8030f38cd748048e351ff8/third_party/blink/web_tests/external/wpt/css/css-overflow/overflow-inline-transform-relative.html

Sign in to add a comment