| <!-- |
| This file is modified for Cobalt. The event handlers are set in script |
| instead of in tag attribute. |
| --> |
| <!DOCTYPE HTML> |
| <html> |
| <head> |
| <title>default-src should cascade to img-src directive</title> |
| <script src='/resources/testharness.js'></script> |
| <script src='/resources/testharnessreport.js'></script> |
| <script src='../support/siblingPath.js'></script> |
| </head> |
| <body> |
| <h1>default-src should cascade to img-src directive</h1> |
| <div id='log'></div> |
| |
| <script> |
| var imgsrc = async_test("Verify cascading of default-src to img-src policy"); |
| var onerrorFired = false; |
| </script> |
| |
| <img id='imgfail' src=''> |
| <img id='imgpass' src='../support/pass.png'> |
| |
| <script> |
| document.getElementById('imgfail').onload = function() { |
| imgsrc.step(function() { assert_unreached("Image load was not blocked."); }); |
| } |
| document.getElementById('imgfail').onerror = function() { |
| onerrorFired = true; |
| } |
| document.getElementById('imgpass').onload = function() { |
| imgsrc.step(function() { assert_true(true, "Image load was blocked."); }); |
| } |
| document.getElementById('imgfail').src = buildSiblingPath('www1', '../support/fail.png'); |
| onload = function() { |
| imgsrc.step(function() { assert_true(onerrorFired, "onerror handler for blocked img didn't fire");}); |
| imgsrc.done(); |
| } |
| </script> |
| |
| <script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=default-src%20%27self%27%20%27unsafe-inline%27'></script> |
| |
| </body> |
| </html> |