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

Unified 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 side-by-side diff with in-line comments
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 »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/LayoutTests/svg/custom/pointer-events-image.svg
diff --git a/third_party/WebKit/LayoutTests/svg/custom/pointer-events-image.svg b/third_party/WebKit/LayoutTests/svg/custom/pointer-events-image.svg
index 6b3a6573ac3ecf27e25003f3d058c214ed0af28e..759ea84a1216894535b157ec784809e511e06b3c 100644
--- a/third_party/WebKit/LayoutTests/svg/custom/pointer-events-image.svg
+++ b/third_party/WebKit/LayoutTests/svg/custom/pointer-events-image.svg
@@ -3,75 +3,95 @@
xmlns:xlink="http://www.w3.org/1999/xlink" onload="fillTestContent()">
<script type="text/javascript">
<![CDATA[
-
if (window.testRunner)
- testRunner.waitUntilDone();
-
+ testRunner.waitUntilDone();
+
var visibleValues = [ 'visible', 'hidden' ];
var fillValues = ['none', 'orange' ];
var strokeValues = ['none', 'blue' ];
-
+
var pointerEventsValues = ['auto', 'visiblePainted', 'visibleFill', 'visibleStroke', 'visible', 'painted', 'fill', 'stroke', 'all', 'none'];
-
+
+ var pendingClicks = [];
+ function queueClick(x, y) {
+ pendingClicks.push({ x: x, y: y });
+ }
+
+ function performClick(x, y) {
+ if (!window.eventSender)
+ return;
+ eventSender.mouseMoveTo(x, y);
+ eventSender.mouseDown();
+ eventSender.mouseUp();
+ }
+
+ var totalImages = visibleValues.length * fillValues.length * strokeValues.length * pointerEventsValues.length;
+ var imagesLoaded = 0;
+
+ function imageLoaded() {
+ // Wait for all images to load, then issue all pending clicks.
+ if (++imagesLoaded < totalImages)
+ return;
+ for (let point of pendingClicks)
+ performClick(point.x, point.y);
+ if (window.testRunner)
+ testRunner.notifyDone();
+ }
+
+ var svgNS = "http://www.w3.org/2000/svg";
+
+ function attachTestImage(container, xOffset, yOffset, attributes) {
+ var fillText = document.createElementNS(svgNS, 'text');
+ fillText.setAttribute('x', xOffset + 5);
+ fillText.setAttribute('y', yOffset + 20);
+ fillText.textContent = "miss";
+ fillText.setAttribute('pointer-events', 'none');
+
+ var img = document.createElementNS(svgNS, 'image');
+ img.setAttributeNS("http://www.w3.org/1999/xlink", 'href', 'resources/red-checker.png');
+ img.setAttribute('x', xOffset);
+ img.setAttribute('y', yOffset);
+ img.setAttribute('width', 50);
+ img.setAttribute('height', 50);
+ img.setAttribute('visibility', attributes.visibility);
+ img.setAttribute('fill', attributes.fill);
+ img.setAttribute('stroke', attributes.stroke);
+ img.setAttribute('pointer-events', attributes.pointerEvents);
+ img.onload = imageLoaded;
+ img.onclick = function() { fillText.textContent = 'HIT'; };
+
+ container.appendChild(img);
+ container.appendChild(fillText);
+ }
+
var leftEdge = 100;
var topEdge = 30;
-
+
var rectSpacing = 57;
-
- var svgNS = "http://www.w3.org/2000/svg";
-
- function clickHit(event, identifierString) {
- var fillText = document.getElementById('fill-text' + identifierString);
- fillText.textContent = 'HIT';
- }
-
- function fillTestContent() {
+
+ function fillTestContent() {
var xOffset = leftEdge;
var yOffset = topEdge;
-
+
var testContent = document.getElementById("test-content");
-
+
for (var pi = 0; pi < pointerEventsValues.length; pi++) {
var eventLabel = document.createElementNS(svgNS, 'text');
eventLabel.setAttribute('x', 0);
eventLabel.setAttribute('y', yOffset + 30);
eventLabel.textContent = pointerEventsValues[pi];
testContent.appendChild(eventLabel);
-
+
for (var vi = 0; vi < visibleValues.length; vi++) {
for (var fi = 0; fi < fillValues.length; fi++) {
for (var si = 0; si < strokeValues.length; si++) {
-
- var identString = "_" + pi + "_" + vi + "_" + fi + "_" + si;
-
- var img = document.createElementNS(svgNS, 'image');
- img.setAttributeNS("http://www.w3.org/1999/xlink", 'href', 'resources/red-checker.png');
- img.setAttribute('x', xOffset);
- img.setAttribute('y', yOffset);
- img.setAttribute('width', 50);
- img.setAttribute('height', 50);
- img.setAttribute('visibility', visibleValues[vi]);
- img.setAttribute('fill', fillValues[fi]);
- img.setAttribute('stroke', strokeValues[si]);
- img.setAttribute('pointer-events', pointerEventsValues[pi]);
- img.setAttribute('onclick', 'clickHit(evt, "' + identString + '")');
-
- testContent.appendChild(img);
-
- var fillText = document.createElementNS(svgNS, 'text');
- fillText.setAttribute('x', xOffset + 5);
- fillText.setAttribute('y', yOffset + 20);
- fillText.textContent = "miss";
- fillText.setAttribute('id', 'fill-text' + identString);
- fillText.setAttribute('pointer-events', 'none');
- testContent.appendChild(fillText);
-
- if (window.eventSender) {
- // Fill click
- eventSender.mouseMoveTo(xOffset + 25, yOffset + 25);
- eventSender.mouseDown();
- eventSender.mouseUp();
- }
+ attachTestImage(testContent, xOffset, yOffset, {
+ visibility: visibleValues[vi],
+ fill: fillValues[fi],
+ stroke: strokeValues[si],
+ pointerEvents: pointerEventsValues[pi]
+ });
+ queueClick(xOffset + 25, yOffset + 25);
xOffset += rectSpacing;
}
}
@@ -79,13 +99,9 @@
xOffset = leftEdge;
yOffset += rectSpacing;
}
-
- if (window.testRunner)
- testRunner.notifyDone();
}
]]>
</script>
-
<text x="110" y="20">Visibility: visible</text>
<text x="340" y="20">Visibility: hidden</text>
<g id="test-content"/>
« 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