layout/reftests/css-grid/grid-repeat-auto-fill-fit-004-ref.html
author James Teh <jteh@mozilla.com>
Wed, 01 Feb 2023 05:02:01 +0000
changeset 651150 dd0fdd1daa69783be36acd5c50544f3694eaa8f9
parent 277422 5e1c24beaa5bea7fd9e088ad2c49c9aa94ccb78a
permissions -rw-r--r--
Bug 1813980: Check IsDoc before Parent in RemoteAccessibleBase::ApplyCrossDocOffset. r=morgan We call this function on every ancestor when calculating bounds. RemoteParent() currently requires a hash lookup, so it's more efficient to early return for !IsDoc() first. This is a micro-optimisation, but it might have some impact given that we call this on every ancestor, especially when hit testing, where we call Bounds() a lot. As a bit of drive-by cleanup, use RemoteParent() rather than calling Parent() and IsRemote/AsRemote(). Differential Revision: https://phabricator.services.mozilla.com/D168346

<!DOCTYPE HTML>
<!--
     Any copyright is dedicated to the Public Domain.
     http://creativecommons.org/publicdomain/zero/1.0/
-->
<html><head>
  <meta charset="utf-8">
  <title>Reference: repeat(auto-fill/auto-fit)</title>
  <link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1118820">
  <style type="text/css">
html,body {
    color:black; background-color:white; font-size:16px; padding:0; margin:0;
}

.grid {
  display: grid;
  float: left;
  position: relative;
  border: 1px solid;
  grid-auto-columns: 10px;
  grid-auto-rows: 10px;
  grid-auto-flow: column;
  grid-gap: 2px;
  margin-right: 2px;
  padding-top: 3px;
}
.r1 { grid-template-rows: [a] repeat(1, [b] 20px [c]) [d];  width:34px; }
.r12 { grid-template-rows: [a] repeat(2, [b] 20px [c]) [d]; width:34px; }
.r13 { grid-template-rows: [a] repeat(3, [b] 20px [c]) [d]; width:34px; }
.r14 { grid-template-rows: [a] repeat(4, [b] 20px [c]) [d]; width:34px; }

.r20,.r2 { grid-template-rows: [a] repeat(1, [b] 20px [c]) [d] 30px [e]; width:22px; }
.r22 { grid-template-rows: [a] repeat(2, [b] 20px [c]) [d] 30px [e]; width:22px; }
.r23 { grid-template-rows: [a] repeat(3, [b] 20px [c]) [d] 30px [e]; width:22px; }

.r30,.r3 { grid-template-rows: [a] repeat(1, [b] 20px [c]) [d] 30px [e] 30px [f]; width:10px; }
.r32 { grid-template-rows: [a] repeat(2, [b] 20px [c]) [d] 30px [e] 30px [f]; width:10px; }
.r33 { grid-template-rows: [a] repeat(3, [b] 20px [c]) [d] 30px [e] 30px [f]; width:10px; }

fit .r1 { grid-template-rows: [a] repeat(1, [b] 20px [c]) [d]; }
fit .r2 { grid-template-rows: [a] repeat(1, [b] 20px [c]) [d] 30px [e]; }
fit .r3 { grid-template-rows: [a] repeat(1, [b] 20px [c]) [d] 30px [e] 30px [f]; }

.w100 { height: 100px; }
.w50 { height: 50px; }
.w80 { height: 80px; }
.mw100 { min-height: 100px; }
.mw50 { min-height: 50px; }
.mw80 { min-height: 80px; }
.xw100 { max-height: 100px; }
.xw50 { max-height: 50px; }
.xw80 { max-height: 80px; }
.float { float: left; }

wrap { float:left; height: 100px; }

x {
  width: 10px;
  background: grey;
}
a {
  position: absolute;
  left:0; top:0; bottom:0; width: 3px;
  background: black;
  grid-row: c / c -1;
}
b {
  position: absolute;
  right:0; top:0; bottom:0; width: 3px;
  background: brown;
  grid-row: auto / c -1;
}

x:first-child {
  background: lime;
}
x:last-child {
  background: blue;
}

</style>
</head>
<body>

<fill>

<wrap><div class="grid r1"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r14 float w100"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r14 w100"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r13 w80"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r12 w50"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r13 xw80"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r12 xw50"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r13 w100 xw80"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r13 mw50 float"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r14 mw80 float"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r14 w100 mw50 float"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r14 mw100 w50 float"><x></x><x></x><a></a><b></b><x></x></div></wrap>

<br clear="all">
<br clear="all">

<wrap><div class="grid r2"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r23 float w100"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r23 w100"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r22 w80"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r20 w50"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r22 xw80"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r20 xw50"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r22 w100 xw80"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r2 mw50 float"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r23 mw80 float"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r23 w100 mw50 float"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r23 mw100 w50 float"><x></x><x></x><a></a><b></b><x></x></div></wrap>

<br clear="all">
<br clear="all">

<wrap><div class="grid r3"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r3 float w100"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r3 w100"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r30 w80"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r30 w50"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r30 xw80"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r30 xw50"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r30 w100 xw80"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r3 mw50 float"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r3 mw80 float"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r3 w100 mw50 float"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r3 mw100 w50 float"><x></x><x></x><a></a><b></b><x></x></div></wrap>

</fill>

<br clear="all">
<br clear="all">

<fit>

<wrap><div class="grid r1"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r13 float w100"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r13 w100"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r13 w80"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r12 w50"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r13 xw80"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r12 xw50"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r13 w100 xw80"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r13 mw50 float"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r13 mw80 float"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r13 w100 mw50 float"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r13 mw100 w50 float"><x></x><x></x><a></a><b></b><x></x></div></wrap>

<br clear="all">
<br clear="all">

<wrap><div class="grid r2"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r2 float"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r23 w100"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r22 w80"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r20 w50"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r22 xw80"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r20 xw50"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r22 w100 xw80"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r2 mw50 float"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r23 mw80 float"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r23 w100 mw50 float"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r23 mw100 w50 float"><x></x><x></x><a></a><b></b><x></x></div></wrap>

<br clear="all">
<br clear="all">

<wrap><div class="grid r3"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r3 float w100"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r3 w100"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r30 w80"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r30 w50"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r30 xw80"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r30 xw50"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r30 w100 xw80"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r3 mw50 float"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r3 mw80 float"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r3 w100 mw50 float"><x></x><x></x><a></a><b></b><x></x></div></wrap>
<wrap><div class="grid r3 mw100 w50 float"><x></x><x></x><a></a><b></b><x></x></div></wrap>

<br clear="all">
<br clear="all">

</fit>


</body>
</html>