Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / web / tests / data / touch-action-tests.js
1 // Disable compositor hit testing
2 document.addEventListener('touchstart', function() {});
3
4 window.addEventListener('load', function() {
5   // Create any shadow DOM nodes requested by the test.
6   var shadowTrees = document.querySelectorAll('[make-shadow-dom]');
7   if (shadowTrees.length > 0 && !HTMLElement.prototype.createShadowRoot) {
8     document.body.innerHTML = 'ERROR: Shadow DOM not supported!';
9     return;
10   }
11   for (var i = 0; i < shadowTrees.length; i++) {
12     var tree = shadowTrees[i];
13     var host = tree.previousElementSibling;
14     if (!host.hasAttribute('shadow-host')) {
15       document.body.innerHTML = 'ERROR: make-shadow-dom node must follow a shadow-host node';
16       return;
17     }
18     tree.parentElement.removeChild(tree);
19     var shadowRoot = host.createShadowRoot();
20     shadowRoot.applyAuthorStyles = true;
21     shadowRoot.appendChild(tree);
22   }
23 });
24
25 /*
26  * Visualization of hit test locations for manual testing.
27  * To be invoked manually (so it doesn't intefere with testing).
28  */
29 function addMarker(x, y)
30 {
31     const kMarkerSize = 6;
32     var marker = document.createElement('div');
33     marker.className = 'marker';
34     marker.style.top = (y - kMarkerSize/2) + 'px';
35     marker.style.left = (x - kMarkerSize/2) + 'px';
36     document.body.appendChild(marker);
37 }
38
39 function addMarkers()
40 {
41   var tests = document.querySelectorAll('[expected-action]');
42   for (var i = 0; i < tests.length; i++) {
43     var r = tests[i].getClientRects()[0];
44     addMarker(r.left, r.top);
45     addMarker(r.right - 1, r.bottom - 1);
46     addMarker(r.left + r.width / 2, r.top + r.height / 2);
47   }
48 }