| 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"/>
|
|
|