<!DOCTYPE HTML>
<html>
<head>
  <title>Test that base does not affect report-uri</title>
  <script src='/resources/testharness.js'></script>
  <script src='/resources/testharnessreport.js'></script>
  <!-- if base is used for resolving the URL to report to then we will not get a report -->
  <base href="http://nonexistent.{{domains[]}}">
</head>
<body>
  <script>
    var t1 = async_test("Test that image does not load");
    async_test(function(t2) {
    window.addEventListener("securitypolicyviolation", t2.step_func(function(e) {
        assert_equals(e.blockedURI, "{{location[scheme]}}://{{location[host]}}/content-security-policy/support/fail.png");
        assert_equals(e.violatedDirective, "img-src");
        t2.done();
      }));
    }, "Event is fired");
  </script>
  <img src='{{location[scheme]}}://{{location[host]}}/content-security-policy/support/fail.png'
       onload='t1.unreached_func("The image should not have loaded");'
       onerror='t1.done();'>

  <script async defer src='{{location[scheme]}}://{{location[host]}}/content-security-policy/support/checkReport.sub.js?reportField=violated-directive&reportValue=img-src%20%27none%27'></script>
</body>
</html>
