File: content-visibility-auto-img-001.html

package info (click to toggle)
firefox 144.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,637,504 kB
  • sloc: cpp: 7,576,692; javascript: 6,430,831; ansic: 3,748,119; python: 1,398,978; xml: 628,810; asm: 438,679; java: 186,194; sh: 63,212; makefile: 19,159; objc: 13,086; perl: 12,986; yacc: 4,583; cs: 3,846; pascal: 3,448; lex: 1,720; ruby: 1,003; exp: 762; php: 436; lisp: 258; awk: 247; sql: 66; sed: 53; csh: 10
file content (49 lines) | stat: -rw-r--r-- 1,665 bytes parent folder | download | duplicates (10)
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<!doctype HTML>
<html class="reftest-wait">
<meta charset="utf8">
<title>CSS Test: img with content-visibility:auto honors its object-fit (restoring its aspect ratio) when coming back from offscreen</title>
<link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com">
<link rel="help" href="https://drafts.csswg.org/css-contain-2/#content-visibility">
<link rel="help" href="https://drafts.csswg.org/css-contain-2/#containment-size">
<link rel="match" href="content-visibility-auto-img-001-ref.html">
<meta name="assert" content="img elements honor their aspect-ratio and object-fit even after briefly having their aspect-ratio suppressed by content-visibility:auto">

<script src="/common/reftest-wait.js"></script>

<style>
body {
  /* body needs to be tall enough so that we can programmatically scroll.  Use
     'overflow:hidden' to suppress scrollbars so they don't interfere with the
     reftest snapshot. */
    height: 400vh;
    overflow: hidden;
}
img {
  width: 500px;  /* Much wider than the image's actual intrinsic width. */
  height: 210px; /* The image's actual intrinsic height. */
  object-fit: contain;
  object-position: 0 0;
  content-visibility: auto;
}
</style>
<img id="myImg" src="resources/dice.png">

<script>

function runTest() {
  // Scroll to the very end:
  document.documentElement.scrollTop = document.documentElement.scrollHeight;

  // Double-rAF to flush paints, and then scroll back to top
  // and take screenshot:
  requestAnimationFrame(()=>{
    requestAnimationFrame(()=>{
      document.documentElement.scrollTop = 0;
      takeScreenshot();
    });
  });
}

window.onload = runTest;
</script>
</html>