author Ian Kilpatrick <ikilpatrick@chromium.org>
Wed, 06 Mar 2019 12:36:16 +0000
changeset 464334 bd463e2be0119ca0ab60847f0a30e0aab9cfb332
permissions -rw-r--r--
Bug 1530850 [wpt PR 15490] - [LayoutNG] Fix inline-level OOFs inside a block-level context., a=testonly Automatic update from web-platform-tests [LayoutNG] Fix inline-level OOFs inside a block-level context. Previously we considered text-align for inline-level OOFs inside a block-level context. But we also needed to avoid floats. This is surprisingly consistent across browsers! However no tests. :( So fixed and added tests! Most of the complexity in this patch is making sure the logical->line->logical coordinate transforms are done correctly. Bug: 933996 Change-Id: I78207f8b7cba62e9d6f48f087fd5202178b42910 Reviewed-on: https://chromium-review.googlesource.com/c/1480071 Reviewed-by: Aleks Totic <atotic@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Cr-Commit-Position: refs/heads/master@{#634522} -- wpt-commits: 812dd46343fe233b65429abdf871f5658e81f732 wpt-pr: 15490

<!DOCTYPE html>
<link rel="help" href="https://drafts.csswg.org/css2/visudet.html#abs-non-replaced-width" />
<link rel="match" href="../../reference/ref-filled-green-100px-square-only.html">
<meta name="assert" content="Tests the static position of inline-level absolute-positioned elements, with combinations of float, direction, and text-align." />
#container { position: relative; background: red; width: 100px; height: 100px; }
#container > div { background: green; }
#inflow { height: 50px; }
#float { float: left; width: 50px; height: 50px; }
#abs { display: inline; position: absolute; width: 50px; height: 50px; }
<p>Test passes if there is a filled green square.</p>
<div id=container style="direction: ltr; text-align: right;">
  <div id=inflow></div>
  <div id=float style="float: left;"></div>
  <div id=abs style="transform: translateX(-100%);"></div>