Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 (async function(testRunner) { | |
| 2 let {page, session, dp} = await testRunner.startHTML(` | |
| 3 <style> | |
| 4 div#test { | |
| 5 display: none; | |
| 6 background-color: blue; | |
| 7 width: 100px; | |
| 8 height: 100px; | |
| 9 } | |
| 10 </style> | |
| 11 <div id='test'> | |
| 12 </div> | |
| 13 `, ''); | |
| 14 | |
| 15 var tracingHelper = (await testRunner.loadScript('../resources/tracing-test.js '))(testRunner, session); | |
| 16 tracingHelper.startTracingAndSaveAsStream(onStart); | |
| 17 | |
| 18 function onStart() { | |
| 19 session.evaluate(` | |
| 20 (function performActions() | |
| 21 { | |
| 22 var element = document.getElementById('test'); | |
|
caseq
2017/06/22 19:32:41
Style (indent + opening '{')
dgozman
2017/06/22 21:48:55
Done.
| |
| 23 element.style.display = 'block'; | |
| 24 var unused = element.clientWidth; | |
| 25 })(); | |
| 26 `).then(evalDone); | |
| 27 } | |
| 28 | |
| 29 function evalDone() { | |
| 30 tracingHelper.stopTracingAndReturnStream(onStop); | |
| 31 } | |
| 32 | |
| 33 function onStop(streamHandle) { | |
| 34 var data1; | |
| 35 tracingHelper.retrieveStream(streamHandle, null, null, onGotStream1); | |
| 36 | |
| 37 function onGotStream1(data) { | |
| 38 data1 = data; | |
| 39 tracingHelper.retrieveStream(streamHandle, 0, 1000, onGotStream2); | |
| 40 } | |
| 41 | |
| 42 function onGotStream2(data) { | |
| 43 if (data1 !== data) | |
| 44 testRunner.log('FAIL: got different data for cunked vs. non-chunked read s'); | |
| 45 dp.IO.close({ handle: streamHandle }).then(onCloseDone); | |
| 46 } | |
| 47 | |
| 48 function onCloseDone(response) { | |
| 49 testRunner.log('Error after legit close: ' + JSON.stringify(response.error )); | |
| 50 dp.IO.read({ handle: streamHandle }).then(onReadAfterClose); | |
| 51 } | |
| 52 | |
| 53 function onReadAfterClose(response) { | |
| 54 testRunner.log('Error after illegal read: ' + JSON.stringify(response.erro r)); | |
| 55 dp.IO.close({ handle: streamHandle }).then(onCloseAfterClose); | |
| 56 } | |
| 57 | |
| 58 function onCloseAfterClose(response) { | |
| 59 testRunner.log('Error after illegal close: ' + JSON.stringify(response.err or)); | |
| 60 var trace = JSON.parse(data1); | |
| 61 performEventsSanityCheck(trace['traceEvents']); | |
| 62 testRunner.log('Metadata: ' + typeof trace['metadata'] + (trace['metadata' ] ? ', not null' : '')); | |
| 63 testRunner.completeTest(); | |
| 64 } | |
| 65 } | |
| 66 | |
| 67 function assertGreaterOrEqual(a, b, message) { | |
| 68 if (a >= b) | |
| 69 return; | |
| 70 testRunner.log(message + ' (' + a + ' < ' + b + ')'); | |
| 71 testRunner.completeTest(); | |
| 72 } | |
| 73 | |
| 74 function performEventsSanityCheck(events) { | |
| 75 var phaseComplete = 0; | |
| 76 | |
| 77 var knownEvents = { | |
| 78 'MessageLoop::PostTask': 0, | |
| 79 'FunctionCall': 0, | |
| 80 'UpdateLayoutTree': 0, | |
| 81 'Layout': 0 | |
| 82 }; | |
| 83 | |
| 84 for (var i = 0; i < events.length; ++i) { | |
| 85 var event = events[i]; | |
| 86 if (event.phase === 'X') | |
| 87 ++phaseComplete; | |
| 88 if (event.name in knownEvents) | |
| 89 ++knownEvents[event.name]; | |
| 90 } | |
| 91 assertGreaterOrEqual(events.length, 10, 'Too few trace events recorded'); | |
| 92 assertGreaterOrEqual(knownEvents['UpdateLayoutTree'], 1, 'Too few UpdateLayo utTree events'); | |
| 93 assertGreaterOrEqual(knownEvents['Layout'], 1, 'Too few Layout events'); | |
| 94 testRunner.log('Event sanity test done'); | |
| 95 } | |
| 96 }) | |
| OLD | NEW |