summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-multicol/filter-with-abspos.html
blob: 763bf1fc5a13ba86f440155aa0373357bf7782cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!DOCTYPE html>
<title>Filtered block becomes containing block of absolutely positioned child</title>
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
<link rel="help" href="https://drafts.fxtf.org/filter-effects-1/#FilterProperty" title="5. Graphic filters: the filter property">
<meta name="assert" content="A filtered block will be a containing block for absolutely positioned descendants. If all this takes place inside a multicol container, this means that the absolutely positioned box also has the multicol container in its containing block, which means that it should be fragmented.">
<div id="multicol" style="columns:2;">
  <div id="container" style="height:100px;">
    <!-- The spanner is here to trigger the crash in crbug.com/847328 -->
    <div style="column-span:all;"></div>
    <div id="abspos" style="position:absolute; height:100px;"></div>
  </div>
</div>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
test(() => {
  let container = document.getElementById("container");
  let abspos = document.getElementById("abspos");
  document.body.offsetTop;
  assert_equals(abspos.getBoundingClientRect().height, 100);
  container.style.filter = "opacity(0.5)";
  assert_equals(abspos.getBoundingClientRect().height, 50);
  // The last step will cause a crash if crbug.com/847328 is present
  document.body.offsetTop;
  abspos.style.display = "none";
}, "Making a container filtered, and then removing an abspos child");
</script>