summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/PerformanceTests
diff options
context:
space:
mode:
authorhayato <hayato@chromium.org>2016-01-18 01:56:16 -0800
committerCommit bot <commit-bot@chromium.org>2016-01-18 09:56:59 +0000
commitbd81959bd5f349ca5c07132e815ba88c52c4e12b (patch)
treeb29fa2905a0506a05171a7546144bb6f99662d2b /third_party/WebKit/PerformanceTests
parentebc1b80ddf49470aa2c81c5c77764de72e869181 (diff)
downloadchromium_src-bd81959bd5f349ca5c07132e815ba88c52c4e12b.zip
chromium_src-bd81959bd5f349ca5c07132e815ba88c52c4e12b.tar.gz
chromium_src-bd81959bd5f349ca5c07132e815ba88c52c4e12b.tar.bz2
Re-Land r369992
The previous CL was reverted at r369992 due to Oilpan build break. See https://codereview.chromium.org/1604443002/ for details. The fix is to use WillBePersistentHepVector for DEFINE_STATIC_LOCAL. BUG=531990 Review URL: https://codereview.chromium.org/1595393002 Cr-Commit-Position: refs/heads/master@{#370003}
Diffstat (limited to 'third_party/WebKit/PerformanceTests')
-rw-r--r--third_party/WebKit/PerformanceTests/ShadowDOM/v1-distribution.html44
1 files changed, 44 insertions, 0 deletions
diff --git a/third_party/WebKit/PerformanceTests/ShadowDOM/v1-distribution.html b/third_party/WebKit/PerformanceTests/ShadowDOM/v1-distribution.html
new file mode 100644
index 0000000..98bd3c6
--- /dev/null
+++ b/third_party/WebKit/PerformanceTests/ShadowDOM/v1-distribution.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<script src="../resources/runner.js"></script>
+<div id="wrapper">
+ <div id="host"></div>
+</div>
+<script>
+'use strict';
+const numChildOfHost = 10;
+const numDivsInShadow = 100;
+const loops = 20;
+
+for (let i = 0; i < numChildOfHost; ++i) {
+ let div = document.createElement('div');
+ div.appendChild(document.createTextNode('div' + i));
+ host.appendChild(div);
+}
+
+const slot = document.createElement('slot');
+const shadowRoot = host.attachShadow({mode: 'open'});
+shadowRoot.appendChild(slot);
+
+for (let i = 0; i < numDivsInShadow; ++i) {
+ let div = document.createElement('div');
+ shadowRoot.appendChild(div);
+}
+
+function run() {
+ let div = document.createElement('div');
+ for (let i = 0; i < loops; ++i) {
+ host.appendChild(div);
+ slot.getDistributedNodes();;
+ host.removeChild(div);
+ slot.getDistributedNodes();;
+ }
+}
+
+PerfTestRunner.measureRunsPerSecond({
+ description: "Measure v1 distribution performance",
+ run: run,
+ done: () => {
+ wrapper.innerHTML = '';
+ }
+});
+</script>