layout/reftests/css-grid/grid-abspos-items-006-ref.html
author James Teh <jteh@mozilla.com>
Wed, 01 Feb 2023 05:02:01 +0000
changeset 651150 dd0fdd1daa69783be36acd5c50544f3694eaa8f9
parent 294294 497ba59de864566de039de4229a574f14663d651
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>CSS Grid Test: abs pos areas</title>
  <link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1204585">
  <style type="text/css">
html,body {
    color:black; background-color:white; font-size:16px; padding:0; margin:0;
}
separator { clear:both; display:block; height:6px; }

.grid {
  display: block;
  float: left;
  position: relative;
  border-style: solid;
  border-width: 1px 3px 5px 7px;
  border-block-start-color: blue;
  border-inline-start-color: lime;
  grid-template: 11px 31px 13px / 13px 23px 7px;
  margin-right: 4px;
  inline-size: 55px;
  block-size: 57px;
}

abs1,abs2 {
  position: absolute;
  top:0;left:0;bottom:0;right:0;
  background: grey;
  margin-block-end:14px;
}
abs2 { background:white; }
.hl abs2  { top:13px;left:11px;  height:23px; width:31px; }
.hr abs2  { top:13px;right:11px; height:23px; width:31px;  }
.vl abs2  { top:11px;left:13px;  height:31px; width:23px;  }
.vr abs2  { top:11px;right:13px; height:31px; width:23px;  }
.vlr abs2 { bottom:11px;left:13px; height:31px; width:23px;  }
.vrl abs2 { top:11px;right:13px; height:31px; width:23px;  }

.hl { writing-mode: horizontal-tb; direction:ltr; }
.hr { writing-mode: horizontal-tb; direction:rtl; }
.vl { writing-mode: vertical-lr; }
.vr { writing-mode: vertical-rl; }
.vlr { writing-mode: vertical-lr; direction:rtl; }
.vrl { writing-mode: vertical-rl; direction:ltr; }

</style>
</head>
<body>

<script>
var wm = [ "hl", "hr", "vl", "vr", "vlr", "vrl" ];
for (var i = 0; i < wm.length; ++i) {
  for (var j = 0; j < wm.length; ++j) {
    var div = document.createElement("div");
    div.className = "grid " + wm[i];
    div.appendChild(document.createElement("abs1"));
    div.appendChild(document.createElement("abs2"));
    document.body.appendChild(div)
  }
  document.body.appendChild(document.createElement("separator"));
}
</script>


</body>
</html>