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