Bug 1575407 [wpt PR 18573] - [css-flexbox] Only clear the override size if we're doing layout, a=testonly
authorChristian Biesinger <cbiesinger@chromium.org>
Mon, 26 Aug 2019 11:29:33 +0000
changeset 553979 ffeb51048e9b089ec1a2899bbf11dbcca798b201
parent 553978 c6141012a736a409c71006910632fd8a477f3b73
child 553980 4d3a1568b0e24961e8c5adb46fc1e87ed1989e97
push id2165
push userffxbld-merge
push dateMon, 14 Oct 2019 16:30:58 +0000
treeherdermozilla-release@0eae18af659f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstestonly
bugs1575407, 18573, 992010, 1758940, 689485
milestone70.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1575407 [wpt PR 18573] - [css-flexbox] Only clear the override size if we're doing layout, a=testonly Automatic update from web-platform-tests [css-flexbox] Only clear the override size if we're doing layout And make ChildUnstretchedLogical{Width,Height} handle the case where an override size is set (by clearing and re-setting). The problem with clearing the override size, but not doing layout, is that we may later do a simplified layout which will then lay out as shrink-to-fit, which is undesired. Bug: 992010 Change-Id: I18d3ae66f62cbdc9cdcf76810dc0eff6be915af6 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1758940 Commit-Queue: Christian Biesinger <cbiesinger@chromium.org> Auto-Submit: Christian Biesinger <cbiesinger@chromium.org> Reviewed-by: David Grogan <dgrogan@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Cr-Commit-Position: refs/heads/master@{#689485} -- wpt-commits: 768d6294ed324158d4269a833fda94ea7927efe3 wpt-pr: 18573
testing/web-platform/tests/css/css-flexbox/dynamic-change-simplified-layout.html
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-flexbox/dynamic-change-simplified-layout.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<link rel="match" href="../reference/ref-filled-green-100px-square.xht" />
+<link rel="author" title="Google LLC" href="http://www.google.com" />
+<link rel="help" href="https://drafts.csswg.org/css-flexbox/#cross-sizing" />
+<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=992010" />
+<title>Tests that certain dynamic changes don't lead to a flex item being sized as shrink to fit when it should stretch in the cross axis</title>
+
+<style>
+#flex {
+  display: flex;
+  flex-direction: column;
+  flex-wrap: wrap;
+  position: absolute;
+  top: 20px;
+  width: 100px;
+}
+
+#it1 {
+  background: green;
+  flex: none;
+  height: 100px;
+  min-height: 0;
+  position: relative;
+}
+
+#child {
+  position: absolute;
+  top: 0;
+  left: 0;
+}
+</style>
+
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+<div style="position: relative;">
+  <div id="flex">
+    <div id="it1" style=""><div id="child"></div></div>
+    <div id="it2"></div>
+  </div>
+</div>
+
+<script>
+var flex = document.getElementById("flex");
+flex.offsetWidth;
+var it2 = document.getElementById("it2");
+it2.style.width = "50px";
+flex.offsetWidth;
+flex.style.top = "0px";
+var child = document.getElementById("child");
+child.style.top = "1px";
+flex.offsetWidth;
+</script>