<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline'; style-src 'self'">
    <script src='/resources/testharness.js'></script>
    <script src='/resources/testharnessreport.js'></script>

    <script>
      var t = async_test("Injected style attributes should not be applied");
      var t_spv = async_test("Should fire a securitypolicyviolation event");

      document.addEventListener("securitypolicyviolation", t_spv.step_func_done(function(e) {
        assert_equals("style-src-elem", e.violatedDirective);
      }));
    </script>
</head>
<body>
    <div id='log'></div>

    <div id="content">Lorem ipsum</div>

    <script src='/content-security-policy/style-src/resources/style-src-inject-style.js'></script>

    <script>
      onload = t.step_func_done(function(e) {
        var contentEl = document.getElementById("content");

        // the 'style-src-inject-style.js' script attempts to set attributes in two ways,
        // once the left and once the right margin
        // this is why in this test we check both to make sure neither way worked

        var marginLeftVal = getComputedStyle(contentEl).getPropertyValue('margin-left');
        assert_false(marginLeftVal == "2px");
        var marginRightVal = getComputedStyle(contentEl).getPropertyValue('margin-right');
        assert_false(marginRightVal == "2px");
      });
    </script>

</body>
</html>
