OLD | NEW |
1 // Perf Tests run a maximum of 20 times, | 1 // Perf Tests run a maximum of 20 times, |
2 // make sure we have an equal amount of characters | 2 // make sure we have an equal amount of characters |
3 // for each run. | 3 // for each run. |
4 var selectionSize = fallbackChars.length / 21; | 4 var selectionSize = fallbackChars.length / 21; |
5 var target; | 5 var target; |
6 | 6 |
7 function test() { | 7 function test() { |
8 var charSelection = ""; | 8 var charSelection = ""; |
9 for(var i=0; i < selectionSize; i++) { | 9 for(var i=0; i < selectionSize; i++) { |
10 var selectedCharIndex = Math.floor(Math.random() * fallbackChars.length)
; | 10 var selectedCharIndex = Math.floor(Math.random() * fallbackChars.length)
; |
11 if(!fallbackChars[selectedCharIndex]) | 11 if(!fallbackChars[selectedCharIndex]) |
12 continue; | 12 continue; |
13 charSelection += fallbackChars[selectedCharIndex]; | 13 charSelection += fallbackChars[selectedCharIndex]; |
14 fallbackChars.splice(selectedCharIndex, 1); | 14 fallbackChars.splice(selectedCharIndex, 1); |
15 } | 15 } |
16 if (charSelection.length) | 16 if (charSelection.length) |
17 replaceTextAndWaitForLayout(charSelection); | 17 replaceTextAndWaitForLayout(charSelection); |
18 } | 18 } |
19 | 19 |
20 function replaceTextAndWaitForLayout(charSelection) { | 20 function replaceTextAndWaitForLayout(charSelection) { |
21 while (target.firstChild) | 21 while (target.firstChild) |
22 target.removeChild(target.firstChild); | 22 target.removeChild(target.firstChild); |
23 target.appendChild(document.createTextNode(charSelection)); | 23 target.appendChild(document.createTextNode(charSelection)); |
24 PerfTestRunner.forceLayoutOrFullFrame(); | 24 PerfTestRunner.forceLayout(); |
25 } | 25 } |
26 | 26 |
27 function cleanup() { | 27 function cleanup() { |
28 replaceTextAndWaitForLayout(""); | 28 replaceTextAndWaitForLayout(""); |
29 } | 29 } |
30 | 30 |
31 function startTest() { | 31 function startTest() { |
32 target = document.querySelector("#target"); | 32 target = document.querySelector("#target"); |
33 PerfTestRunner.measureTime({ run: test, done: cleanup, description: "Per-cha
racter font fallback" }); | 33 PerfTestRunner.measureTime({ run: test, done: cleanup, description: "Per-cha
racter font fallback" }); |
34 } | 34 } |
OLD | NEW |