OLD | NEW |
(Empty) | |
| 1 (async function(testRunner) { |
| 2 let {page, session, dp} = await testRunner.startHTML(` |
| 3 <iframe src='data:text/html,<script>window.foo = 42</script>' name='frame0'>
</iframe> |
| 4 `, ''); |
| 5 |
| 6 function performActions() { |
| 7 var frame1 = document.createElement('iframe'); |
| 8 frame1.name = 'Frame No. 1'; |
| 9 document.body.appendChild(frame1); |
| 10 frame1.contentWindow.document.write('console.log("frame2")'); |
| 11 |
| 12 var frame2 = document.createElement('iframe'); |
| 13 frame2.src = 'blank.html'; |
| 14 document.body.appendChild(frame2); |
| 15 |
| 16 return new Promise(fulfill => { frame2.addEventListener('load', fulfill, fal
se) }); |
| 17 } |
| 18 |
| 19 var tracingHelper = (await testRunner.loadScript('../resources/tracing-test.js
'))(testRunner, session); |
| 20 await session.evaluate(performActions.toString()); |
| 21 tracingHelper.invokeAsyncWithTracing('performActions', finish); |
| 22 |
| 23 function finish(devtoolsEvents, data) { |
| 24 testRunner.log('Frames in TracingStartedInPage'); |
| 25 var tracingStarted = tracingHelper.findEvent('TracingStartedInPage', 'I'); |
| 26 for (var frame of tracingStarted.args['data']['frames'] || []) |
| 27 dumpFrame(frame); |
| 28 |
| 29 testRunner.log('Frames in CommitLoad events'); |
| 30 var commitLoads = tracingHelper.findEvents('CommitLoad', 'X'); |
| 31 for (var event of commitLoads) |
| 32 dumpFrame(event.args['data']); |
| 33 testRunner.completeTest(); |
| 34 } |
| 35 |
| 36 function dumpFrame(frame) { |
| 37 var url = frame.url.replace(/.*\/(([^/]*\/){2}[^/]*$)/, '$1'); |
| 38 testRunner.log(`url: ${url} name: ${frame.name} parent: ${typeof frame.paren
t} nodeId: ${typeof frame.nodeId}`); |
| 39 } |
| 40 }) |
OLD | NEW |