| Index: tools/perf/page_sets/tough_scheduling_cases/second_batch_js.html
|
| diff --git a/tools/perf/page_sets/tough_scheduling_cases/second_batch_js.html b/tools/perf/page_sets/tough_scheduling_cases/second_batch_js.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..247219cbe39164f6dc88447ccb7779ff60abf580
|
| --- /dev/null
|
| +++ b/tools/perf/page_sets/tough_scheduling_cases/second_batch_js.html
|
| @@ -0,0 +1,117 @@
|
| +<!doctype html>
|
| +<html>
|
| +<head>
|
| + <meta name="viewport" content="width=device-width, initial-scale=1">
|
| + <title>Second batch JS</title>
|
| +</head>
|
| +
|
| +<style>
|
| +#spinner {
|
| + width: 600px;
|
| + height: 10px;
|
| + border-right: black;
|
| + position: relative;
|
| + background: repeating-linear-gradient(
|
| + -45deg,
|
| + orange,
|
| + orange 21px,
|
| + yellow 21px,
|
| + yellow 42px
|
| + );
|
| +}
|
| +#spinner-container {
|
| + width: 300px;
|
| + height: 10px;
|
| + overflow: hidden;
|
| + border: solid thin darkorange;
|
| + border-radius: 4px;
|
| + margin-top: 50px;
|
| +}
|
| +.spinner-loaded #spinner {
|
| + background: repeating-linear-gradient(
|
| + -45deg,
|
| + steelblue,
|
| + steelblue 21px,
|
| + aqua 21px,
|
| + aqua 42px
|
| + );
|
| +}
|
| +#spinner-container.spinner-loaded {
|
| + border: solid thin steelblue;
|
| +}
|
| +input {
|
| + font-size: 150%;
|
| + width: 302px;
|
| + margin-top: 30px;
|
| + margin-bottom: 30px;
|
| +}
|
| +</style>
|
| +
|
| +<center>
|
| + <div id="spinner-container">
|
| + <div id="spinner"></div>
|
| + </div>
|
| +
|
| + <input id="load" type="button" value="Start loading" onclick="kickOffLoading()"></input>
|
| + <input id="run" style='display: none' type="button" value="Click me!" onclick="onRunClick()"></input>
|
| +
|
| + <p id="results"></p>
|
| +
|
| + <p>Note: running this test interactively may activate compositor
|
| + prioritization during loading, which may skew the results.</p>
|
| +</center>
|
| +
|
| +<script>
|
| +// Flag that indicates the test is ready to begin.
|
| +window.__ready = false;
|
| +
|
| +// Flag that indicates the test has finished executing.
|
| +window.__finished = false;
|
| +
|
| +var results = document.getElementById('results');
|
| +
|
| +function kickOffLoading() {
|
| + var loadButton = document.getElementById('load');
|
| + loadButton.disabled = true;
|
| +
|
| + var variant =
|
| + location.search.length > 0 ? location.search.substr(1) : 'medium';
|
| + var script = document.createElement('script');
|
| + script.setAttribute('type', 'text/javascript')
|
| + script.setAttribute('src', 'second_batch_js_' + variant + '.min.js')
|
| + script.addEventListener('load', onLoadComplete);
|
| + document.body.appendChild(script);
|
| +}
|
| +
|
| +function onLoadComplete() {
|
| + var loadButton = document.getElementById('load');
|
| + var runButton = document.getElementById('run');
|
| + loadButton.style.display = 'none';
|
| + runButton.style.display = 'block';
|
| + spinnerContainer.classList.add('spinner-loaded');
|
| + window.__ready = true;
|
| +}
|
| +
|
| +function onRunClick() {
|
| + results.innerText = 'Your lucky number is: ' + main(1);
|
| + window.requestAnimationFrame(finishTest);
|
| +}
|
| +
|
| +function finishTest() {
|
| + window.__finished = true;
|
| +}
|
| +
|
| +// Perform main thread animation during the benchmark to gauge main thread
|
| +// responsiveness.
|
| +var spinner = document.getElementById('spinner');
|
| +var spinnerContainer = document.getElementById('spinner-container');
|
| +function animateSpinner(timestamp) {
|
| + var width = parseInt(window.getComputedStyle(spinnerContainer).width);
|
| + var x = -(timestamp / 8) % width;
|
| + spinner.style.left = x + 'px';
|
| + window.requestAnimationFrame(animateSpinner);
|
| +}
|
| +window.requestAnimationFrame(animateSpinner);
|
| +</script>
|
| +
|
| +</html>
|
|
|