summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/transitions/transition-end-event-set-none.html
blob: 16d209a80833c61e0aee9cac682ebdfc9ce0be15 (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
<html>
<head>
  <style>
    .box {
      position: relative;
      left: 0;
      height: 100px;
      width: 100px;
      margin: 10px;
      background-color: blue;
      -webkit-transition-property: width, left, background-color, height, top;
      -webkit-transition-duration: 0.2s;
    }
    
    .box1 {
      left: 50px;
    }
    
    .box2 {
      background-color: red;
      left: 100px;
    }
  </style>
  <script src="transition-end-event-helpers.js"></script>
  <script type="text/javascript">
    
    var expectedEndEvents = [
      // [property-name, element-id, elapsed-time, listen]
      ["left", "box1", 0.2, false],
    ];
    
    function startTransition()
    {
      var box = document.getElementById("box1");
      box.className = "box box2";
    }
    
    var firstTimeInHandleEndEvent = true;
    function handleEndEvent(event)
    {
      recordTransitionEndEvent(event);
      
      event.target.style.webkitTransitionProperty = "none";
      if (firstTimeInHandleEndEvent) {
        firstTimeInHandleEndEvent = false;
        window.setTimeout(startTransition, 100);
      }
    }

    function setupTest()
    {
      var box = document.getElementById("box1");
      box.addEventListener("webkitTransitionEnd", handleEndEvent, false);
      box.className = "box box1";
    }
    
    // We need to pass an explicit maxTime because we use two sequential
    // transitions that each take 0.2s.
    runTransitionTest(expectedEndEvents, setupTest);
  </script>
</head>
<body>

<p>Initiating transitions on various properties of all boxes.</p>

<div id="container">
  <div id="box1" class="box"></div>
</div>

<div id="result"></div>

</body>
</html>