author James Teh <>
Wed, 01 Feb 2023 05:02:01 +0000
changeset 651150 dd0fdd1daa69783be36acd5c50544f3694eaa8f9
parent 271099 6077f51254c69a1e14e1b61acba4af451bf1783e
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 in empty grid</title>
  <link rel="author" title="Mats Palmgren" href="">
  <style type="text/css">

div {
  display: block;
  position: relative;
  float: left;
  width: 20px;
  height: 20px;
  background: red;
x div {
  padding: 4px;
  background: white;

span {
  position: absolute;
  background: lime;


There should be no red areas.
<br clear="all">

<div><span class="cs"></span></div>
<div><span class="ce"></span></div>
<div><span class="rs"></span></div>
<div><span class="re"></span></div>

<div><span class="cs ce"></span></div>
<div><span class="cs rs"></span></div>
<div><span class="cs re"></span></div>
<div><span class="ce rs"></span></div>
<div><span class="ce re"></span></div>
<div><span class="rs re"></span></div>

<div><span class="cs ce rs"></span></div>
<div><span class="cs ce re"></span></div>
<div><span class="rs re cs"></span></div>
<div><span class="rs re ce"></span></div>

<div><span class="cs ce rs re"></span></div>

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

<div><span class="cs" style="left:4px"></span></div>
<div><span class="ce" style="right:auto;width:4px"></span></div>
<div><span class="rs" style="top:4px"></span></div>
<div><span class="re" style="bottom:auto;height:4px"></span></div>

<div><span class="cs ce" style="left:4px;"></span></div>
<div><span class="cs rs" style="left:4px;top:4px"></span></div>
<div><span class="cs re" style="left:4px;bottom:auto;height:4px"></span></div>
<div><span class="ce rs" style="right:auto;width:4px;top:4px"></span></div>
<div><span class="ce re" style="right:auto;width:4px;bottom:auto;height:4px"></span></div>
<div><span class="rs re" style="top:4px"></span></div>

<div><span class="cs ce rs" style="left:4px;top:4px"></span></div>
<div><span class="cs ce re" style="left:4px;bottom:auto;height:4px"></span></div>
<div><span class="rs re cs" style="left:4px;top:4px"></span></div>
<div><span class="rs re ce" style="top:4px;right:auto;width:4px"></span></div>

<div><span class="cs ce rs re" style="left:4px;top:4px"></span></div>