| Index: PerformanceTests/Events/EventsDispatchingInShadowTrees.html
|
| diff --git a/PerformanceTests/Events/EventsDispatchingInShadowTrees.html b/PerformanceTests/Events/EventsDispatchingInShadowTrees.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..01eaeb68617b49a3b76837298fc4210ca184ae96
|
| --- /dev/null
|
| +++ b/PerformanceTests/Events/EventsDispatchingInShadowTrees.html
|
| @@ -0,0 +1,66 @@
|
| +<!DOCTYPE html>
|
| +<html>
|
| +<head>
|
| +<script type="text/javascript" src="../resources/runner.js"></script>
|
| +</head>
|
| +<body>
|
| +<div id="root"></div>
|
| +<script>
|
| +function createTreeOfTrees(root, depth, branch, eachTreeHeight)
|
| +{
|
| + var node = root;
|
| + var i;
|
| + for (i = 0; i < eachTreeHeight; ++i) {
|
| + var child = document.createElement('div');
|
| + node.appendChild(child);
|
| + node = child;
|
| + }
|
| + if (depth == 1)
|
| + return;
|
| + for (i = 0; i < branch; ++i) {
|
| + var child = document.createElement('div');
|
| + node.appendChild(child);
|
| + var shadowRoot = child.webkitCreateShadowRoot();
|
| + createTreeOfTrees(shadowRoot, depth - 1, branch, eachTreeHeight);
|
| + }
|
| +}
|
| +
|
| +function leftMostLeaf(root)
|
| +{
|
| + var node = root;
|
| + while (node.firstChild)
|
| + node = node.firstChild
|
| + if (!node.shadowRoot)
|
| + return node;
|
| + return leftMostLeaf(node.shadowRoot)
|
| +}
|
| +
|
| +function rightMostLeaf(root)
|
| +{
|
| + var node = root;
|
| + while (node.lastChild)
|
| + node = node.lastChild
|
| + if (!node.shadowRoot)
|
| + return node;
|
| + return rightMostLeaf(node.shadowRoot)
|
| +}
|
| +
|
| +var root = document.getElementById('root');
|
| +createTreeOfTrees(root, 10, 2, 50);
|
| +var leaf1 = leftMostLeaf(root);
|
| +var leaf2 = rightMostLeaf(root);
|
| +
|
| +function run()
|
| +{
|
| + leaf1.dispatchEvent(new MouseEvent('mousemove', {
|
| + relatedTarget: leaf2
|
| + }));
|
| +}
|
| +
|
| +PerfTestRunner.measureRunsPerSecond({
|
| + description: "Measure mousemove events dispatching in shadow trees",
|
| + run: run
|
| +});
|
| +</script>
|
| +</body>
|
| +</html>
|
|
|