forked from mirrors/gecko-dev
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
44 lines
1.5 KiB
HTML
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>
|