fune/layout/reftests/flexbox/flexbox-resizeviewport-2.xhtml
Daniel Holbert 9c3ad8ef78 Bug 1174003 part 5: [css-flexbox] Remove is-{main,cross}-axis-horizontal checks from ReflowFlexItem. r=mats
This patch mostly[1] doesn't affect behavior.  It just changes some ReflowInput
width/height-setting logic to use ISize/BSize setters instead of width/height
setters.

To help with this, I'm also adding some more getters to answer the question "is
this flex item's {inline,block} axis the same as the flex container's
{main,cross} axis", for convenience/readability at callsites. (All of these
getters are simply giving a different view of the same underlying single bit of
information.)

[1] One way this patch *kind of* affects behavior: it generalizes the
conditions under which we set the NS_FRAME_CONTAINS_RELATIVE_BSIZE flag on a
flex item.  But that doesn't actually have any user-visible effects right now,
because that flag's only purpose is to determine whether we should reflow, and
currently we always reflow all flex items. If/when that changes, though
(i.e. when we start reflowing flex items more selectively), this patch is
adding a reftest that may test this generalized behavior. (The reftest actually
trivially passes right now, due to unrelated bug 1441348.)

MozReview-Commit-ID: 4NEKLBAjowh

--HG--
rename : layout/reftests/flexbox/flexbox-resizeviewport-1-helper.html => layout/reftests/flexbox/flexbox-resizeviewport-2-helper.html
rename : layout/reftests/flexbox/flexbox-resizeviewport-1-ref.xhtml => layout/reftests/flexbox/flexbox-resizeviewport-2-ref.xhtml
rename : layout/reftests/flexbox/flexbox-resizeviewport-1.xhtml => layout/reftests/flexbox/flexbox-resizeviewport-2.xhtml
extra : rebase_source : c6535e1cdcb1757a16cd02e0d485638827344c23
2018-02-27 15:40:18 -08:00

44 lines
1.5 KiB
HTML

<?xml version="1.0" encoding="UTF-8"?>
<!--
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/
-->
<!-- Testcase to be sure a flex container gets reflowed properly when its
iframe changes size. -->
<!-- XXXdholbert This testcase can't actually test the scenario it's intended
to test right now (quirks-mode percent-BSize resolution in a vertical
writing mode), due to Bug 1441348.
-->
<html xmlns="http://www.w3.org/1999/xhtml"
class="reftest-wait">
<head>
<style>
iframe {
width: 75px;
height: 75px;
}
</style>
<script>
function setElementPropertyTo(id, propertyName, propertyValue) {
var elem = document.getElementById(id);
elem.style[propertyName] = propertyValue;
}
function tweak() {
setElementPropertyTo("a", "width", "50px");
setElementPropertyTo("b", "width", "125px");
setElementPropertyTo("c", "height", "50px");
setElementPropertyTo("d", "height", "125px");
document.documentElement.removeAttribute("class");
}
window.addEventListener("MozReftestInvalidate", tweak, false);
</script>
</head>
<body>
<iframe id="a" src="flexbox-resizeviewport-2-helper.html"/>
<iframe id="b" src="flexbox-resizeviewport-2-helper.html"/>
<br/>
<iframe id="c" src="flexbox-resizeviewport-2-helper.html"/>
<iframe id="d" src="flexbox-resizeviewport-2-helper.html"/>
</body>
</html>