File: vh-update-and-transition-in-subframe-iframe.html

package info (click to toggle)
thunderbird 1%3A143.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 4,703,968 kB
  • sloc: cpp: 7,770,492; javascript: 5,943,842; ansic: 3,918,754; python: 1,418,263; xml: 653,354; asm: 474,045; java: 183,079; sh: 111,238; makefile: 20,410; perl: 14,359; objc: 13,059; yacc: 4,583; pascal: 3,405; lex: 1,720; ruby: 999; exp: 762; sql: 715; awk: 580; php: 436; lisp: 430; sed: 69; csh: 10
file content (91 lines) | stat: -rw-r--r-- 2,069 bytes parent folder | download | duplicates (8)
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
90
91
<!DOCTYPE html>
<html>
<!-- Submitted from TestTWF Paris -->
<head>
	<style type="text/css">
		* {
			margin: 0;
			padding: 0;
		}
		p {
			clear: both;
			margin: 10px 0;
		}

		/* The first test box has its vertical dimension is set to
		   some `vh` units. */
		#testBoxWithVhOnly {
			background: #F00;
			width: 60px; height: 20vh;
			float: left;
		}

		/* The second test box, with fixed height. */
		#testBoxNotGrownHorizontallyByJS {
			background: #F0F;
			width: 20vh;
			height: 60px;
			float: left;
		}

		/* The third box, changed by using CSS transition. */
		#testBoxWithTransition {
			background: #FF0;
			width: 20vh;
			height: 40px;
			float: left;
			transition-property: width, height;
			transition-duration: 0.3s;
			transition-delay: 0;
		}

		/* The reference box, growing in both directions (height
		   by script, width by `vh` units. */
		#referenceBoxGrownHorizontallyByJS {
			background: #0F0;
			width: 20vh;
			height: 40px;
			float: left;
		}
	</style>
</head>
<body>

<p>
	All boxes should end up the same size. The green box is the reference one.
</p>

<div id="testBoxWithVhOnly"></div>
<div id="testBoxNotGrownHorizontallyByJS"></div>
<div id="testBoxWithTransition"></div>
<div id="referenceBoxGrownHorizontallyByJS"></div>

<script type="text/javascript">
	'use strict';

	function animate() {
		var viewportHeight = document.documentElement.clientHeight;
		var referenceDimension = Math.round(20 * viewportHeight / 100);

		document.getElementById('referenceBoxGrownHorizontallyByJS')
			.style['height'] = referenceDimension + "px";
		if (referenceDimension < 60) {
			setTimeout(animate, 20);
		}
	}

	addEventListener('transitionend', event => {
		if (event.propertyName == 'width') {
			// Stop any further transitions.
			testBoxWithTransition.style.transitionProperty = 'none';
			parent.postMessage('transitionInIFrameEnded', '*');
		}
	}, false);

	document.getElementById('testBoxWithTransition').style.height = "60px";
	setTimeout(animate, 20);
	parent.postMessage('frameLoaded', '*');
</script>

</body>
</html>