test_bug569520.html (1632B)
1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=569520 5 --> 6 <head> 7 <title>Test for Bug 569520</title> 8 <script src="/tests/SimpleTest/SimpleTest.js"></script> 9 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> 10 </head> 11 <body> 12 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=569520">Mozilla Bug 569520</a> 13 <p id="display"></p> 14 <div id="content" style="display: none"> 15 16 </div> 17 <pre id="test"> 18 <script type="application/javascript"> 19 20 /** Test for Bug 569520 */ 21 SimpleTest.waitForExplicitFinish(); 22 SimpleTest.requestFlakyTimeout("untriaged"); 23 24 var start = window.performance.now(); 25 var firstListenerArg; 26 var secondListenerArg; 27 var thirdListenerTime; 28 29 // callback arg is in the same timeline as performance.now() 30 function thirdListener(t) { 31 thirdListenerTime = t; 32 33 ok(secondListenerArg >= firstListenerArg, // callback args from consecutive requestAnimationFrame 34 "Second listener should fire after first listener"); 35 36 ok(thirdListenerTime >= secondListenerArg, 37 "Third listener should fire after second listener"); 38 39 ok(firstListenerArg >= start, "First listener should fire after start"); 40 41 SimpleTest.finish(); 42 } 43 44 // callback arg is from requestAnimationFrame and comparable to performance.now() 45 function secondListener(t) { 46 secondListenerArg = t; 47 requestAnimationFrame(thirdListener); 48 } 49 50 function firstListener(t) { 51 firstListenerArg = t; 52 requestAnimationFrame(secondListener); 53 } 54 55 addLoadEvent(function() { 56 setTimeout(function() { 57 requestAnimationFrame(firstListener); 58 }, 100); 59 }); 60 61 62 63 64 </script> 65 </pre> 66 </body> 67 </html>