Closed Bug 1469487 Opened 2 years ago Closed 2 years ago

[wpt-sync] Sync PR 11560 - Reland: Floats and out-of-flow objects may not be adjacent to anonymous blocks.

Categories

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

enhancement

Tracking

()

RESOLVED FIXED
mozilla63
Tracking Status
firefox63 --- fixed

People

(Reporter: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

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

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

Morten Stenshorne <mstensho@chromium.org> wrote:
>  Reland: Floats and out-of-flow objects may not be adjacent to anonymous blocks.
>  
>  Floats and out-of-flow objects need to be true layout siblings of the
>  inlines, or rendering will be wrong. This means that such objects should
>  never be siblings of anonymous blocks, but rather inside them. This
>  already works correctly for initial layout tree building, and also for
>  many DOM manipulations. However, code was missing to satisfy this
>  requirement if we removed a regular block that was a sibling of an
>  anonymous block and either a float or out-of-flow positioned object.
>  
>  This even caused a crash triggered by ruby code, which ended up mixing
>  inline and block children within the same container. That is not
>  allowed. This happened in the MoveAllChildrenIncludingFloatsTo() call
>  inside LayoutRubyBase::MoveBlockChildren(). Added a DCHECK to
>  MoveAllChildrenIncludingFloatsTo() (which could fail prior to this fix);
>  When moving children from one container to another, either both or none
>  of the containers must have inline children.
>  
>  This is a reland of https://chromium-review.googlesource.com/1102690
>  with some modifications to avoid bug 853552.
>  
>  Bug: 852640
>  Change-Id: I0f8a0aa5523e8fe60c841164d25aad088f4b728f
>  
>  Reviewed-on: https://chromium-review.googlesource.com/1104900
>  WPT-Export-Revision: b891dc03db1efa4b76bdd026dbf83c5a21853773
Component: web-platform-tests → CSS Parsing and Computation
Product: Testing → Core
Ran 2 tests
PASS   : 2
Pushed by james@hoppipolla.co.uk:
https://hg.mozilla.org/integration/mozilla-inbound/rev/a15bfb3c770e
[wpt PR 11560] - Reland: Floats and out-of-flow objects may not be adjacent to anonymous blocks., a=testonly
https://hg.mozilla.org/mozilla-central/rev/a15bfb3c770e
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
You need to log in before you can comment on or make changes to this bug.