| <!DOCTYPE html> |
| <script src="../../resources/run-after-layout-and-paint.js"></script> |
| <script> |
| if (window.testRunner) |
| testRunner.waitUntilDone(); |
| |
| window.onload = function() { |
| // Wait for a frame, then mutate the filter. |
| runAfterLayoutAndPaint(function() { |
| var pointLight = document.getElementById('light'); |
| pointLight.setAttribute('x', '0.5'); |
| pointLight.setAttribute('y', '0.5'); |
| pointLight.setAttribute('z', '10'); |
| // Change primitive units after having updated light position. |
| document.querySelector('filter').setAttribute('primitiveUnits', 'objectBoundingBox'); |
| if (window.testRunner) |
| runAfterLayoutAndPaint(function() { testRunner.notifyDone(); }); |
| }); |
| }; |
| </script> |
| <svg> |
| <filter id="f" x="0" y="0" width="1" height="1"> |
| <feDiffuseLighting lighting-color="green"> |
| <fePointLight id="light" x="0" y="0" z="-50"/> |
| </feDiffuseLighting> |
| </filter> |
| <rect width="100" height="100" fill="red" filter="url(#f)"/> |
| </svg> |