| Index: third_party/WebKit/LayoutTests/inspector-protocol/timeline/timeline-layout.js
|
| diff --git a/third_party/WebKit/LayoutTests/inspector-protocol/timeline/timeline-layout.js b/third_party/WebKit/LayoutTests/inspector-protocol/timeline/timeline-layout.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..9edb15c039dc114c99d0ded4cbe90c245f92a53c
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/inspector-protocol/timeline/timeline-layout.js
|
| @@ -0,0 +1,48 @@
|
| +(async function(testRunner) {
|
| + let {page, session, dp} = await testRunner.startHTML(`
|
| + <style>
|
| + .my-class {
|
| + min-width: 100px;
|
| + background-color: red;
|
| + }
|
| + </style>
|
| + <div id='myDiv'>DIV</div>
|
| + `, '');
|
| +
|
| + function performActions() {
|
| + var div = document.querySelector('#myDiv');
|
| + div.classList.add('my-class');
|
| + div.offsetWidth;
|
| + return Promise.resolve();
|
| + }
|
| +
|
| + var tracingHelper = (await testRunner.loadScript('../resources/tracing-test.js'))(testRunner, session);
|
| + await session.evaluate(performActions.toString());
|
| + tracingHelper.invokeAsyncWithTracing('performActions', finish);
|
| +
|
| + function finish(devtoolsEvents) {
|
| + var schedRecalc = tracingHelper.findEvent('ScheduleStyleRecalculation', 'I');
|
| + var recalcBegin = tracingHelper.findEvent('UpdateLayoutTree', 'B');
|
| + var recalcEnd = tracingHelper.findEvent('UpdateLayoutTree', 'E');
|
| + testRunner.log('UpdateLayoutTree frames match: ' + (schedRecalc.args.data.frame === recalcBegin.args.beginData.frame));
|
| + testRunner.log('UpdateLayoutTree elementCount > 0: ' + (recalcEnd.args.elementCount > 0));
|
| +
|
| + var invalidate = tracingHelper.findEvent('InvalidateLayout', 'I');
|
| + var layoutBegin = tracingHelper.findEvent('Layout', 'B');
|
| + var layoutEnd = tracingHelper.findEvent('Layout', 'E');
|
| +
|
| + testRunner.log('InvalidateLayout frames match: ' + (recalcBegin.args.beginData.frame === invalidate.args.data.frame));
|
| +
|
| + var beginData = layoutBegin.args.beginData;
|
| + testRunner.log('Layout frames match: ' + (invalidate.args.data.frame === beginData.frame));
|
| + testRunner.log('dirtyObjects > 0: ' + (beginData.dirtyObjects > 0));
|
| + testRunner.log('totalObjects > 0: ' + (beginData.totalObjects > 0));
|
| +
|
| + var endData = layoutEnd.args.endData;
|
| + testRunner.log('has rootNode id: ' + (endData.rootNode > 0));
|
| + testRunner.log('has root quad: ' + !!endData.root);
|
| +
|
| + testRunner.log('SUCCESS: found all expected events.');
|
| + testRunner.completeTest();
|
| + }
|
| +})
|
|
|