chromium/third_party/blink/web_tests/svg/custom/masking-clipping-hidpi.svg

<svg xmlns="http://www.w3.org/2000/svg" onload="startTest()">
    <script>
    function startTest() {
        if (!window.testRunner)
            return;

        testRunner.waitUntilDone();
        testRunner.setBackingScaleFactor(2, finishTest);
    }

    function finishTest() {
        setTimeout(function () { testRunner.notifyDone(); }, 0);
    }
    </script>
    <style>
        /* This test is not concerned with scrollbar differences. */
        :root {
            overflow: hidden;
        }
        text {
            -webkit-font-smoothing: antialiased;
        }
    </style>

    <defs>
        <mask id="textMask">
            <rect width='100%' height='100%' fill='white'/>
            <text width='100%' height='100%' x='0' y='12'>This text should be sharp.</text>
        </mask>
    </defs>
    <rect width='200' height='100' fill='black'/>
    <rect width='200' height='100' fill='white' mask="url(#textMask)"/>

    <defs>
        <linearGradient id="blackGradient" x1="0%" y1="0%" x2="100%" y2="0%">
            <stop offset="0%" style="stop-color:rgb(0,0,0);"/>
            <stop offset="100%" style="stop-color:rgb(0,0,0);"/>
        </linearGradient>
    </defs>
    <text x='0' y='36' fill="url(#blackGradient)">This text and the circles should also be sharp.</text>

    <defs>
        <clipPath id="circleClipPath" clipPathUnits="objectBoundingBox">
            <circle cx="0.25" cy="0.25" r="0.20"/>
            <circle cx="0.25" cy="0.75" r="0.20"/>
        </clipPath>
    </defs>
    <rect x="0" y="60" width="100" height="100" clip-path="url(#circleClipPath)"/>

    <defs>
        <pattern id="Pattern" width="1" height="1">
            <circle cx="25" cy="25" r="20" fill="url(#blackGradient)"/>
        </pattern>
    </defs>
    <rect fill="url(#Pattern)" x="0" y="162" width="200" height="200"/>
</svg>