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