| <!DOCTYPE html> |
| <html> |
| |
| <head> |
| <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> |
| <meta http-equiv="Content-Security-Policy" content="style-src 'self' 'nonce-noncynonce' 'nonce-noncy+/nonce='; script-src 'self' 'unsafe-inline'; connect-src 'self';"> |
| <title>stylenonce-allowed</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="../support/logTest.sub.js?logs=[]"></script> |
| <script src="../support/alertAssert.sub.js?alerts=[]"></script> |
| <script> |
| var t_spv = async_test("Should fire securitypolicyviolation"); |
| window.addEventListener('securitypolicyviolation', t_spv.step_func_done(function(e) { |
| assert_equals(e.violatedDirective, "style-src-elem"); |
| })); |
| |
| </script> |
| |
| <style nonce="noncynonce"> |
| #test1 { |
| color: green; |
| } |
| |
| </style> |
| <style> |
| #test1 { |
| color: red; |
| } |
| |
| </style> |
| <style nonce="noncynonce"> |
| #test2 { |
| color: green; |
| } |
| |
| </style> |
| </head> |
| |
| <body> |
| <p id="test1">This text should be green.</p> |
| <p id="test2">This text should also be green.</p> |
| <script> |
| var el = document.querySelector('#test1'); |
| test(function() { |
| assert_equals(window.getComputedStyle(el).color, "rgb(0, 128, 0)") |
| }); |
| var el = document.querySelector('#test2'); |
| test(function() { |
| assert_equals(window.getComputedStyle(el).color, "rgb(0, 128, 0)") |
| }); |
| |
| </script> |
| <p>Style correctly whitelisted via a 'nonce-*' expression in 'style-src' should be applied to the page.</p> |
| <div id="log"></div> |
| </body> |
| |
| </html> |