Commit f8c6db97 authored by Anders Hartvoll Ruud's avatar Anders Hartvoll Ruud Committed by Commit Bot

Add performance tests for toggling direction between ltr/rtl

The test creates a tree that has alternating ltr/rtl on each level,
which means css-logical properties must constantly be re-interpreted
(cascade-wise).

It is added in preparation of reworking how css-logical properties
works in StyleCascade.

Change-Id: Id2b882cbfa3a58f9bb62b41fde16ce66d1ea0f79
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2162926Reviewed-by: default avatarRune Lillesveen <futhark@chromium.org>
Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org>
Cr-Commit-Position: refs/heads/master@{#761962}
parent 7731fd21
<!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>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment