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

Unified Diff: Source/web/tests/data/touch-action-tests.js

Issue 16507017: Initial touch-action main thread implementation (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: esprehn CR tweaks Created 7 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/web/tests/data/touch-action-tests.css ('k') | Source/web/web.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
+ }
+}
« no previous file with comments | « Source/web/tests/data/touch-action-tests.css ('k') | Source/web/web.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698