summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-overflow/scrollbar-gutter-dynamic-003.html
blob: f92beaaa477b48b5785e50c397ff818b71fd6f4c (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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<!DOCTYPE html>
<html class="reftest-wait">
  <meta charset="utf-8">
  <title>CSS Overflow: test scrollbar-gutter when dynamically update scrollbar-width</title>
  <link rel="author" title="Luke Warlow" href="mailto:luke@warlow.dev">
  <link rel="help" href="https://drafts.csswg.org/css-overflow-4/#scrollbar-gutter-property">
  <link rel="match" href="scrollbar-gutter-dynamic-003-ref.html">
  <script src="/common/reftest-wait.js"></script>

  <style>
  .line {
    display: flex;
  }

  .container {
    writing-mode: horizontal-tb;
    direction: ltr;
    block-size: 200px;
    inline-size: 200px;
    overflow: hidden;
    margin: 10px;
    background: deepskyblue;
  }

  .content {
    inline-size: 100%;
    block-size: 200%;
    background: lightsalmon;
  }

  .width-auto {
    scrollbar-width: auto;
  }

  .width-thin {
    scrollbar-width: thin;
  }

  .width-none {
    scrollbar-width: none;
  }

  .gutter-stable {
    scrollbar-gutter: stable;
  }

  .gutter-both {
    scrollbar-gutter: stable both-edges;
  }
  </style>

  <div class="line">
    <div id="stable-auto" class="container gutter-stable width-auto">
      <div class="content"></div>
    </div>
    <div id="both-auto" class="container gutter-both width-auto">
      <div class="content"></div>
    </div>
  </div>

  <div class="line">
    <div id="stable-thin" class="container gutter-stable width-thin">
      <div class="content"></div>
    </div>
    <div id="both-thin" class="container gutter-both width-thin">
      <div class="content"></div>
    </div>
  </div>

  <div class="line">
    <div id="stable-none" class="container gutter-stable width-none">
      <div class="content"></div>
    </div>
    <div id="both-none" class="container gutter-both width-none">
      <div class="content"></div>
    </div>
  </div>
<script>
  requestAnimationFrame(() => requestAnimationFrame(() => {
    document.getElementById('stable-auto').style.scrollbarWidth = 'none';
    document.getElementById('both-auto').style.scrollbarWidth = 'none';
    document.getElementById('stable-thin').style.scrollbarWidth = 'auto';
    document.getElementById('both-thin').style.scrollbarWidth = 'auto';
    document.getElementById('stable-none').style.scrollbarWidth = 'thin';
    document.getElementById('both-none').style.scrollbarWidth = 'thin';
    takeScreenshot();
  }));
</script>
</html>