| <html> |
| <head> |
| <script type="text/javascript" src="../../http/tests/inspector-protocol/inspector-protocol-test.js"></script> |
| <script type="text/javascript" src="../../http/tests/inspector-protocol/tracing-test.js"></script> |
| <script> |
| |
| function performActions() |
| { |
| var callback; |
| var promise = new Promise((fulfill) => callback = fulfill); |
| var rafId2; |
| var rafId1 = requestAnimationFrame(() => callback({ rafId1: rafId1, rafId2: rafId2 })); |
| rafId2 = requestAnimationFrame(function() { }); |
| cancelAnimationFrame(rafId2); |
| return promise; |
| } |
| |
| function test() |
| { |
| InspectorTest.invokeAsyncWithTracing("performActions", finish); |
| |
| function finish(devtoolsEvents, data) |
| { |
| var firedRaf = data.rafId1; |
| var canceledRaf = data.rafId2; |
| |
| function hasRafId(id, e) { return e.args.data.id === id} |
| |
| var raf1 = InspectorTest.findEvent("RequestAnimationFrame", "I", hasRafId.bind(this, firedRaf)); |
| var raf2 = InspectorTest.findEvent("RequestAnimationFrame", "I", hasRafId.bind(this, canceledRaf)); |
| |
| InspectorTest.log("RequestAnimationFrame has frame: " + !!raf1.args.data.frame); |
| InspectorTest.log("RequestAnimationFrame frames match: " + (raf1.args.data.frame === raf2.args.data.frame)); |
| |
| InspectorTest.findEvent("CancelAnimationFrame", "I", hasRafId.bind(this, canceledRaf)); |
| InspectorTest.findEvent("FireAnimationFrame", "X", hasRafId.bind(this, firedRaf)); |
| |
| InspectorTest.log("SUCCESS: found all expected events."); |
| InspectorTest.completeTest(); |
| } |
| } |
| </script> |
| </head> |
| <body onLoad="runTest();"> |
| <div id="myDiv">DIV</div> |
| </body> |
| </html> |