author James Teh <>
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:

     Any copyright is dedicated to the Public Domain.
  <meta charset="utf-8">
  <title>CSS Grid Test: abs pos areas</title>
  <link rel="author" title="Mats Palmgren" href="">
  <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;
  background: grey;
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; }


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];