Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1031)

Unified Diff: tools/perf/page_sets/tough_scheduling_cases/second_batch_js.html

Issue 1000203002: Add second batch JS benchmark and code generator (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased. Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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>

Powered by Google App Engine
This is Rietveld 408576698