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

Side by Side Diff: third_party/WebKit/LayoutTests/svg/custom/pointer-events-image.svg

Issue 2088733006: Deflake svg/custom/pointer-events-image*.svg (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 months 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 unified diff | Download patch
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/svg/custom/pointer-events-image-css-transform.svg » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <?xml version="1.0"?> 1 <?xml version="1.0"?>
2 <svg xmlns="http://www.w3.org/2000/svg" 2 <svg xmlns="http://www.w3.org/2000/svg"
3 xmlns:xlink="http://www.w3.org/1999/xlink" onload="fillTestContent()"> 3 xmlns:xlink="http://www.w3.org/1999/xlink" onload="fillTestContent()">
4 <script type="text/javascript"> 4 <script type="text/javascript">
5 <![CDATA[ 5 <![CDATA[
6
7 if (window.testRunner) 6 if (window.testRunner)
8 testRunner.waitUntilDone(); 7 testRunner.waitUntilDone();
9 8
10 var visibleValues = [ 'visible', 'hidden' ]; 9 var visibleValues = [ 'visible', 'hidden' ];
11 var fillValues = ['none', 'orange' ]; 10 var fillValues = ['none', 'orange' ];
12 var strokeValues = ['none', 'blue' ]; 11 var strokeValues = ['none', 'blue' ];
13 12
14 var pointerEventsValues = ['auto', 'visiblePainted', 'visibleFill', 'visible Stroke', 'visible', 'painted', 'fill', 'stroke', 'all', 'none']; 13 var pointerEventsValues = ['auto', 'visiblePainted', 'visibleFill', 'visible Stroke', 'visible', 'painted', 'fill', 'stroke', 'all', 'none'];
15 14
15 var pendingClicks = [];
16 function queueClick(x, y) {
17 pendingClicks.push({ x: x, y: y });
18 }
19
20 function performClick(x, y) {
21 if (!window.eventSender)
22 return;
23 eventSender.mouseMoveTo(x, y);
24 eventSender.mouseDown();
25 eventSender.mouseUp();
26 }
27
28 var totalImages = visibleValues.length * fillValues.length * strokeValues.le ngth * pointerEventsValues.length;
29 var imagesLoaded = 0;
30
31 function imageLoaded() {
32 // Wait for all images to load, then issue all pending clicks.
33 if (++imagesLoaded < totalImages)
34 return;
35 for (let point of pendingClicks)
36 performClick(point.x, point.y);
37 if (window.testRunner)
38 testRunner.notifyDone();
39 }
40
41 var svgNS = "http://www.w3.org/2000/svg";
42
43 function attachTestImage(container, xOffset, yOffset, attributes) {
44 var fillText = document.createElementNS(svgNS, 'text');
45 fillText.setAttribute('x', xOffset + 5);
46 fillText.setAttribute('y', yOffset + 20);
47 fillText.textContent = "miss";
48 fillText.setAttribute('pointer-events', 'none');
49
50 var img = document.createElementNS(svgNS, 'image');
51 img.setAttributeNS("http://www.w3.org/1999/xlink", 'href', 'resources/red- checker.png');
52 img.setAttribute('x', xOffset);
53 img.setAttribute('y', yOffset);
54 img.setAttribute('width', 50);
55 img.setAttribute('height', 50);
56 img.setAttribute('visibility', attributes.visibility);
57 img.setAttribute('fill', attributes.fill);
58 img.setAttribute('stroke', attributes.stroke);
59 img.setAttribute('pointer-events', attributes.pointerEvents);
60 img.onload = imageLoaded;
61 img.onclick = function() { fillText.textContent = 'HIT'; };
62
63 container.appendChild(img);
64 container.appendChild(fillText);
65 }
66
16 var leftEdge = 100; 67 var leftEdge = 100;
17 var topEdge = 30; 68 var topEdge = 30;
18 69
19 var rectSpacing = 57; 70 var rectSpacing = 57;
20 71
21 var svgNS = "http://www.w3.org/2000/svg"; 72 function fillTestContent() {
22
23 function clickHit(event, identifierString) {
24 var fillText = document.getElementById('fill-text' + identifierString);
25 fillText.textContent = 'HIT';
26 }
27
28 function fillTestContent() {
29 var xOffset = leftEdge; 73 var xOffset = leftEdge;
30 var yOffset = topEdge; 74 var yOffset = topEdge;
31 75
32 var testContent = document.getElementById("test-content"); 76 var testContent = document.getElementById("test-content");
33 77
34 for (var pi = 0; pi < pointerEventsValues.length; pi++) { 78 for (var pi = 0; pi < pointerEventsValues.length; pi++) {
35 var eventLabel = document.createElementNS(svgNS, 'text'); 79 var eventLabel = document.createElementNS(svgNS, 'text');
36 eventLabel.setAttribute('x', 0); 80 eventLabel.setAttribute('x', 0);
37 eventLabel.setAttribute('y', yOffset + 30); 81 eventLabel.setAttribute('y', yOffset + 30);
38 eventLabel.textContent = pointerEventsValues[pi]; 82 eventLabel.textContent = pointerEventsValues[pi];
39 testContent.appendChild(eventLabel); 83 testContent.appendChild(eventLabel);
40 84
41 for (var vi = 0; vi < visibleValues.length; vi++) { 85 for (var vi = 0; vi < visibleValues.length; vi++) {
42 for (var fi = 0; fi < fillValues.length; fi++) { 86 for (var fi = 0; fi < fillValues.length; fi++) {
43 for (var si = 0; si < strokeValues.length; si++) { 87 for (var si = 0; si < strokeValues.length; si++) {
44 88 attachTestImage(testContent, xOffset, yOffset, {
45 var identString = "_" + pi + "_" + vi + "_" + fi + "_" + si; 89 visibility: visibleValues[vi],
46 90 fill: fillValues[fi],
47 var img = document.createElementNS(svgNS, 'image'); 91 stroke: strokeValues[si],
48 img.setAttributeNS("http://www.w3.org/1999/xlink", 'href', 'resour ces/red-checker.png'); 92 pointerEvents: pointerEventsValues[pi]
49 img.setAttribute('x', xOffset); 93 });
50 img.setAttribute('y', yOffset); 94 queueClick(xOffset + 25, yOffset + 25);
51 img.setAttribute('width', 50);
52 img.setAttribute('height', 50);
53 img.setAttribute('visibility', visibleValues[vi]);
54 img.setAttribute('fill', fillValues[fi]);
55 img.setAttribute('stroke', strokeValues[si]);
56 img.setAttribute('pointer-events', pointerEventsValues[pi]);
57 img.setAttribute('onclick', 'clickHit(evt, "' + identString + '")' );
58
59 testContent.appendChild(img);
60
61 var fillText = document.createElementNS(svgNS, 'text');
62 fillText.setAttribute('x', xOffset + 5);
63 fillText.setAttribute('y', yOffset + 20);
64 fillText.textContent = "miss";
65 fillText.setAttribute('id', 'fill-text' + identString);
66 fillText.setAttribute('pointer-events', 'none');
67 testContent.appendChild(fillText);
68
69 if (window.eventSender) {
70 // Fill click
71 eventSender.mouseMoveTo(xOffset + 25, yOffset + 25);
72 eventSender.mouseDown();
73 eventSender.mouseUp();
74 }
75 xOffset += rectSpacing; 95 xOffset += rectSpacing;
76 } 96 }
77 } 97 }
78 } 98 }
79 xOffset = leftEdge; 99 xOffset = leftEdge;
80 yOffset += rectSpacing; 100 yOffset += rectSpacing;
81 } 101 }
82
83 if (window.testRunner)
84 testRunner.notifyDone();
85 } 102 }
86 ]]> 103 ]]>
87 </script> 104 </script>
88
89 <text x="110" y="20">Visibility: visible</text> 105 <text x="110" y="20">Visibility: visible</text>
90 <text x="340" y="20">Visibility: hidden</text> 106 <text x="340" y="20">Visibility: hidden</text>
91 <g id="test-content"/> 107 <g id="test-content"/>
92 </svg> 108 </svg>
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/svg/custom/pointer-events-image-css-transform.svg » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698