| Index: LayoutTests/fast/workers/jank.html
|
| diff --git a/LayoutTests/fast/workers/jank.html b/LayoutTests/fast/workers/jank.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..f39a0da6f00db45d5f5928a062139e179592fae0
|
| --- /dev/null
|
| +++ b/LayoutTests/fast/workers/jank.html
|
| @@ -0,0 +1,90 @@
|
| +<!DOCTYPE HTML>
|
| +<link href='http://fonts.googleapis.com/css?family=IM+Fell+Great+Primer+SC' rel='stylesheet' type='text/css'>
|
| +<style>
|
| +
|
| +.card {
|
| + position: absolute;
|
| + left: 10px;
|
| + top: 10px;
|
| + width: 200px;
|
| + height: 200px;
|
| + background: #736F68;
|
| + color: #D9CCC5;
|
| + padding: 20px;
|
| + font-family: 'IM Fell Great Primer SC', serif;
|
| + font-size: 3em;
|
| + border-radius: 5px;
|
| + -webkit-transform: translateZ(0);
|
| +}
|
| +
|
| +body {
|
| + background: #212126;
|
| +}
|
| +
|
| +#raf {
|
| + position: absolute;
|
| + left: 700px;
|
| + top: 10px;
|
| + background: #826B54;
|
| +}
|
| +
|
| +#scroller {
|
| + width: 100px;
|
| + height: 100px;
|
| + border: 2px solid black;
|
| + overflow-y: scroll;
|
| + background: #736F68;
|
| +}
|
| +
|
| +#scrolled {
|
| + width: 80px;
|
| + height: 400px;
|
| + color: #D9CCC5;
|
| + padding: 20px;
|
| + font-family: 'IM Fell Great Primer SC', serif;
|
| + font-size: 3em;
|
| +}
|
| +
|
| +</style>
|
| +<script>
|
| +var worker = null;
|
| +
|
| +onload = function() {
|
| + // Set up worker rAF animation.
|
| + worker = new UIWorker('resources/jank.js');
|
| + var spinner = document.getElementById('spinner');
|
| + var scroller = document.getElementById('scroller');
|
| + worker.postMessage([
|
| + spinner.bindAnimatedProperty('transform'),
|
| + spinner.bindAnimatedProperty('opacity'),
|
| + scroller.bindAnimatedProperty('scrollTop')
|
| + ]);
|
| +
|
| + // Set up main thread rAF animation.
|
| + // FIXME: This is broken :( It appears that setting the values in FrameView causes the pain.
|
| + // See the comment in that class for more details.
|
| + setTimeout(jank, 1000);
|
| + requestAnimationFrame(tick);
|
| +}
|
| +
|
| +function tick(timestamp) {
|
| + var seconds = timestamp / 1000.0;
|
| + document.getElementById('raf').style.webkitTransform = "translateZ(0) rotate(" + (180.0 * seconds) + "deg)";
|
| + requestAnimationFrame(tick);
|
| +}
|
| +
|
| +function jank() {
|
| + var sum = 0;
|
| + for (var i = 0; i < 10000000; ++i) {
|
| + sum += Date.now();
|
| + }
|
| + //console.log(sum);
|
| + setTimeout(jank, 100);
|
| +}
|
| +
|
| +</script>
|
| +<div id="spinner" class="card">Hello, World!</div>
|
| +<div id="raf" class="card">rAF animated</div>
|
| +<div id="scroller" class="scroller">
|
| + <div id="scrolled" class="scrolled">This stuff is totally scrolled!</div>
|
| +</div>
|
|
|