Chromium Code Reviews| Index: Source/web/tests/data/touch-action-tests.js |
| diff --git a/Source/web/tests/data/touch-action-tests.js b/Source/web/tests/data/touch-action-tests.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..a21f817550d11c894d76c54689b3923b55bed44a |
| --- /dev/null |
| +++ b/Source/web/tests/data/touch-action-tests.js |
| @@ -0,0 +1,48 @@ |
| +// Disable compositor hit testing |
| +document.addEventListener('touchstart', function() {}); |
| + |
| +window.addEventListener('load', function() { |
| + // Create any shadow DOM nodes requested by the test. |
| + var shadowTrees = document.querySelectorAll('[make-shadow-dom]'); |
| + if (shadowTrees.length > 0 && !HTMLElement.prototype.createShadowRoot) { |
| + document.body.innerHTML = 'ERROR: Shadow DOM not supported!'; |
| + return; |
| + } |
| + for (var i = 0; i < shadowTrees.length; i++) { |
| + var tree = shadowTrees[i]; |
| + var host = tree.previousElementSibling; |
| + if (!host.hasAttribute('shadow-host')) { |
| + document.body.innerHTML = 'ERROR: make-shadow-dom node must follow a shadow-host node'; |
| + return; |
| + } |
| + tree.parentElement.removeChild(tree); |
| + var shadowRoot = host.createShadowRoot(); |
| + shadowRoot.applyAuthorStyles = true; |
| + shadowRoot.appendChild(tree); |
| + } |
| +}); |
| + |
| +/* |
| + * Visualization of hit test locations for manual testing. |
| + * To be invoked manually (so it doesn't intefere with testing). |
| + */ |
| +function addMarker(x, y) |
| +{ |
| + const kMarkerSize = 6; |
| + var marker = document.createElement('div'); |
| + marker.className = 'marker'; |
| + marker.style.top = (y - kMarkerSize/2) + "px"; |
| + marker.style.left = (x - kMarkerSize/2) + "px"; |
| + document.body.appendChild(marker); |
| +} |
| + |
| +function addMarkers() |
| +{ |
| + var tests = document.querySelectorAll('[expected-action]'); |
| + for( var i = 0; i < tests.length; i++) { |
|
esprehn
2013/12/06 22:19:20
nit: bad spacing, should be "for (var i"
Rick Byers
2013/12/07 03:13:36
Done.
|
| + var r = tests[i].getClientRects()[0]; |
| + addMarker(r.left, r.top); |
| + addMarker(r.right - 1, r.bottom - 1); |
| + addMarker(r.left + r.width / 2, r.top + r.height / 2); |
| + } |
| +} |