<!doctype html>
<script src="../resources/runner.js"></script>
<script src="../layout/resources/line-layout-perf-test.js"></script>
<script src="resources/paint.js"></script>
<div id="container"></div>
<script>
const kNumberOfWords = 10000 * 30;
const container = document.getElementById('container');
const selection = window.getSelection();
container.textContent = (() => {
const words = [];
for (let i = 0; i < kNumberOfWords; ++i)
words.push(TextGenerator.createWord(i % 12 + 3));
return words.join(' ');
})();
const text = container.firstChild;
var count = 0;
measurePaint({
iterationCount: 50,
warmUpCount: 5,
run: function() {
if (count < 20) {
// Select all.
selection.collapse(container, 0);
if (count % 2)
selection.extend(container, 1);
} else if (count < 35) {
// Modify selection at beginning.
selection.setBaseAndExtent(text, 4000 - count * 10, text, text.length);
} else if (count == 35) {
selection.setBaseAndExtent(text, 1000, text, 4000);
} else {
// Extend selection at end.
selection.modify("extend", "forward", "word");
}
count++;
},
});
</script>