<!-- Any copyright is dedicated to the Public Domain. http://creativecommons.org/licenses/publicdomain/ Ensure that SVG elements using fill="url(#...)" are *not* affected by mozSetImageElement. --> <!DOCTYPE html> <html> <body style="margin:0"> <svg width="300" height="300"> <rect width="300" height="300" fill="url(#g)"></rect> <linearGradient id="red" gradientUnits="objectBoundingBox" x2="0" y2="1"> <stop stop-color="red" offset="0"></stop> <stop stop-color="black" offset="1"></stop> </linearGradient> <linearGradient id="g" gradientUnits="objectBoundingBox" x2="0" y2="1"> <stop stop-color="lime" offset="0"></stop> <stop stop-color="black" offset="1"></stop> </linearGradient> </svg> <script>document.mozSetImageElement("g", document.getElementById("red"));</script> </body> </html>