<!DOCTYPE html>
<script src="../resources/runner.js"></script>
<script src="resources/utils.js"></script>
<style>
body.default_ltr .default { direction: ltr; }
body.default_ltr .alternative { direction: rtl; }
body.default_rtl .default { direction: rtl; }
body.default_rtl .alternative { direction: ltr; }
div { margin-inline-start: 10px; }
/* Give the cascade something to do: */
div { border: 0px solid red; }
div { border: 0px solid green !important; }
div { border: 0px solid black; }
div { padding: 0px; }
</style>
<body class="default_ltr"></body>
<script>
function createTree(node, siblings, depth) {
if (!depth)
return;
for (let i = 0; i < siblings; i++) {
var div = document.createElement('div');
div.className = (depth % 2 == 0) ? 'default' : 'alternative';
node.append(div);
createTree(div, siblings, depth - 1);
}
}
createTree(document.body, 4, 6);
PerfTestRunner.measureTime({
description: 'Measure impact of switching direction with css-logical',
run: function() {
document.body.classList.toggle('default_ltr');
document.body.classList.toggle('default_rtl');
forceStyleRecalc(document.body);
}
});
</script>