| 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..a4dc17e3d59b5c243ea09de65796b4a802d3f5e7
|
| --- /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++) {
|
| + 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);
|
| + }
|
| +}
|
|
|