blob: 6781cfb3b0c38f8df7b2c71e20d8235284c1e5e9 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../resources/runner.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style>
html, body, #gridContainer { height: 100%; }
ui-pane#main {
contain: strict;
min-width: 100% !important;
width: 100% !important;
max-width: 100% !important;
min-height: 100% !important;
height: 100% !important;
max-height: 100% !important;
overflow: hidden;
}
[row1] {
grid-row-start: 1;
grid-row-end: auto;
}
[row2] {
grid-row-start: 2;
grid-row-end: auto;
}
[col2] {
grid-column-start: 2;
grid-column-end: auto;
}
ui-pane {
display: grid;
height: 100%;
contain: content;
}
[hgrid] {
grid-template-rows: 1fr;
}
[vgrid] {
grid-template-columns: 1fr;
}
ui-icon {
display: inline-block;
}
[collapsed ] { display: none; }
.eventChildrenWrap {
grid-column: 1/span 3;
contain: content;
}
.eventChildrenContainer {
display: grid;
grid-template-columns: 3em 0px 1fr;
contain: content;
}
.actionBlockWrap {
grid-column: 3;
align-self: start;
contain: layout style;
position: relative;
}
.actionBlock {
display: grid;
grid-template-columns: 1fr;
overflow: hidden;
contain: content;
}
</style>
</head>
<body>
<pre id="log"></pre>
<div id="gridContainer">
<ui-pane id="main" vgrid="" style="grid-template-rows: 1fr;">
<ui-pane id="middle" row1="" hgrid="" style="grid-template-columns: 320px 1fr 300px;">
<ui-pane col2="">
<ui-body row2="">
<ui-pane class="eventSheetViewPane">
<ui-body row2="" class="eventSheetView">
<div id="thisistheone" class="eventChildrenWrap">
<div class="eventChildrenContainer">
<div class="actionBlockWrap">
<div class="actionBlock" id="inserthere">
</div>
</div>
</div>
</div>
</div>
</ui-body>
</ui-pane>
</ui-body>
</ui-pane>
</ui-pane>
</ui-pane>
</div>
<script>
var target = document.getElementById('thisistheone');
var gridContainer = document.getElementById('gridContainer');
function setup() {
let insert = document.getElementById('inserthere');
for (let i = 0; i < 50; ++i) {
let name = document.createElement('div');
name.className = 'actionNameCell';
name.innerHTML = '<ui-icon style="width: 20px; height: 20px; "></ui-icon><span class="actionObjectNameSpan">Button</span>';
let desc = document.createElement('div');
desc.className = 'actionDescCell';
desc.innerHTML = 'Set position to <event-parameter data-index="0"> <ui-icon class="objectParameterIcon" style="width: 20px; height: 20px; "></ui-icon><span class="objectParameterObjectName">Sprite</span> </event-parameter> <em>(image point <event-parameter data-index="1">3213213</event-parameter>)</em>';
insert.appendChild(name);
insert.appendChild(desc);
}
}
function test() {
target.setAttribute('collapsed', '');
gridContainer.offsetHeight;
target.removeAttribute('collapsed');
gridContainer.offsetHeight;
}
function done() {
let insert = document.getElementById('inserthere');
insert.innerHTML = "";
}
setup();
PerfTestRunner.measureRunsPerSecond({
description: "Measures performance of getting offsetHeight of a large grid container.",
run: test,
done: done
});
</script>
</body>
</html>