Closed Bug 1514995 Opened 6 years ago Closed 6 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: wpt-sync, 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: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla67
You need to log in before you can comment on or make changes to this bug.