| <!doctype html> |
| <meta charset=utf-8> |
| <title>Subresources and fragment preservation</title> |
| <script src=/resources/testharness.js></script> |
| <script src=/resources/testharnessreport.js></script> |
| <script src=/html/canvas/resources/canvas-tests.js></script> |
| <div id=log></div> |
| <!-- |
| The source image is 50h x 100w and its color depends on the fragment. |
| |
| This image is then drawn on a 50h x 100w transparent black canvas. |
| --> |
| <img data-desc="Control" |
| src="/images/colors.svg#green"> |
| <img data-desc="Redirect with the original URL containing a fragment" |
| src="../api/resources/redirect.py?simple&location=/images/colors.svg#green"> |
| <img data-desc="Redirect with the response Location header containing a fragment" |
| src="../api/resources/redirect.py?simple&location=/images/colors.svg%23green"> |
| <img data-desc="Redirect with both the original URL and response Location header containing a fragment" |
| src="../api/resources/redirect.py?simple&location=/images/colors.svg%23green#red"> |
| <canvas width=100 height=50></canvas> |
| <script> |
| setup({ explicit_done:true }); |
| onload = () => { |
| const canvas = document.querySelector("canvas"); |
| const ctx = canvas.getContext("2d"); |
| document.querySelectorAll("img").forEach(img => { |
| test(t => { |
| t.add_cleanup(() => { |
| ctx.clearRect(0, 0, 100, 50); |
| }); |
| ctx.drawImage(img, 0, 0); |
| // canvas, pixelX, pixelY, r, g, b, alpha, ?, ?, tolerance |
| _assertPixelApprox(canvas, 40, 40, 0, 255, 0, 255, undefined, undefined, 4); |
| }, img.dataset.desc); |
| }); |
| done(); |
| }; |
| </script> |