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

Side by Side Diff: LayoutTests/fast/dom/HTMLDialogElement/hit-test-benchmark.html

Issue 16347002: Perf test for hit testing. Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: fix y update Created 7 years, 6 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 <body>
2 <style>
3 .outer {
4 position: relative;
5 margin: 0.25px;
6 padding: 0.25px;
7 }
8 .inner {
9 width: 100px;
10 height: 100px;
11 background: red;
12 }
13 </style>
14 <script src="../../js/resources/js-test-pre.js"></script>
15 <div id="test"></div> <div id="console"></div>
16 <script>
17
18 var reportedPosition;
19 var innerElement;
20 var testElement = document.getElementById('test');
21
22 function setupFunction(magnitude)
23 {
24 testElement.innerHTML = '';
25 var element, parent = testElement;
26 for (var i = 0; i < magnitude; i++) {
27 element = document.createElement('div');
28 element.innerText = 'hello';
29 element.className = 'outer';
30 parent.appendChild(element);
31 parent = element;
32 }
33 element = document.createElement('div');
34 element.className = 'inner';
35 element.innerText = 'inner';
36 parent.appendChild(element);
37 element.addEventListener('mousemove', function(e) {
38 reportedPosition = e.offsetX + ', ' + e.offsetY;
39 });
40 element.addEventListener('click', function(e) {
41 debug("i'm clicked");
42 });
43 innerElement = element;
44 rect = innerElement.getBoundingClientRect();
45 window.scrollTo(rect.left - window.innerWidth / 2, rect.top - window.innerHe ight / 2);
46 }
47
48 function test(iterations)
49 {
50 rect = innerElement.getBoundingClientRect();
51 target = {};
52 target.x = rect.left + (rect.width / 2);
53 target.y = rect.top + (rect.height / 2);
54 increment = 5;
55 if (window.eventSender) {
56 for (i = 0; i < iterations; ++i) {
57 x = 0;
58 y = 0;
59 m = target.y / target.x;
60 while (Math.abs(x - target.x) > increment) {
61 x += increment;
62 y = m * x;
63 eventSender.mouseMoveTo(x, y);
64 }
65 eventSender.mouseMoveTo(target.x, target.y);
66 }
67 }
68 }
69
70 exponent = 8;
71 setupFunction(Math.pow(2, exponent));
72 start = new Date().getTime();
73 test(1000);
74 stop = new Date().getTime();
75 debug('Time elapsed: ' + (stop - start));
76 debug(reportedPosition);
77 </script>
78 </body>
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698