Closed Bug 1514995 Opened 5 years ago Closed 5 years ago

[wpt-sync] Sync PR 14582 - [LayoutNG] Remove NGLayoutResult::PositionedFloats.

Categories

(Core :: CSS Parsing and Computation, enhancement, P4)

enhancement

Tracking

()

RESOLVED FIXED
mozilla67
Tracking Status
firefox67 --- fixed

People

(Reporter: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 14582 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/14582
Details from upstream follow.

Ian Kilpatrick <ikilpatrick@chromium.org> wrote:
>  [LayoutNG] Remove NGLayoutResult::PositionedFloats.
>  
>  This patch does a few (related) things:
>  1) Makes floats children of their appropriate inline-level container.
>     Previously we weren't doing this, which was making OOF positioned
>     children skip their correct containing block. Now they'll correctly
>     get captured, during NGContainerFragmentBuilder::AddChild.
>  
>  2) Now that float children are in the "correct" position within the
>     fragment tree, we can now paint them. This changes the
>     ng_box_fragment_painter.cc to paint inline-level floats and makes
>     sure we set the NGPaintFragment correctly.
>  
>  3) Lots of subtle painting layer changes. As floats are now in the
>     "correct" fragment tree position, self-painting layers of
>     inline-level elements (spans, etc) need to know that they are able
>     to paint floats, determine position correctly, etc.
>  
>  The major behaviour changes are:
>  \<div>
>    text \<span style="position: relative;">abc
>      \<div style="float: left;">
>        \<div style="position: absolute;">\</div>
>      \</div>
>    def\</span>
>  \</div>
>  The OOF positioned child will be contained within the \<span>
>  
>  \<div>
>    \<span style="position: relative; top: 100px;">
>      \<div style="float: left;">\</div>\</span>
>  \</div>
>  The float will also shift by 100px, which previously wasn't the case.
>  Additionally filter: blur(2px); etc, will be applied to the float.
>  
>  Change-Id: I61a2638cb1472f1a22f5994688d69fb6fffb8b88
>  Reviewed-on: https://chromium-review.googlesource.com/1365984
>  WPT-Export-Revision: 50c206763b1111811fe316b172eb237ba93f3131
Component: web-platform-tests → CSS Parsing and Computation
Product: Testing → Core
Ran 2 tests
PASS   : 1
FAIL   : 1

New tests that have failures or other problems:
/css/filter-effects/filtered-inline-applies-to-float.html: FAIL
Pushed by james@hoppipolla.co.uk:
https://hg.mozilla.org/integration/mozilla-inbound/rev/562fe8c3d113
[wpt PR 14582] - [LayoutNG] Remove NGLayoutResult::PositionedFloats., a=testonly
https://hg.mozilla.org/integration/mozilla-inbound/rev/c468396b5a06
[wpt PR 14582] - Update wpt metadata, a=testonly
Pushed by james@hoppipolla.co.uk:
https://hg.mozilla.org/integration/mozilla-inbound/rev/a3d59dd2a9a8
[wpt PR 14582] - [LayoutNG] Remove NGLayoutResult::PositionedFloats., a=testonly
https://hg.mozilla.org/integration/mozilla-inbound/rev/5043e31d83cf
[wpt PR 14582] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla67
You need to log in before you can comment on or make changes to this bug.