| Index: third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-unicode-normalization.sub.html
|
| diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-unicode-normalization.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-unicode-normalization.sub.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..bd1e0365c2e17031351b1d04645beb3e1a57c455
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-unicode-normalization.sub.html
|
| @@ -0,0 +1,71 @@
|
| +<!DOCTYPE html>
|
| +<html>
|
| +
|
| +<head>
|
| + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
|
| + <title>scripthash-unicode-normalization</title>
|
| + <script src="/resources/testharness.js"></script>
|
| + <script src="/resources/testharnessreport.js"></script>
|
| +
|
| + <!-- enforcing policy:
|
| +script-src 'self' 'nonce-nonceynonce' 'sha256-dWTP4Di8KBjaiXvQ5mRquI9OoBSo921ahYxLfYSiuT8='; connect-src 'self';
|
| +-->
|
| + <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
| +</head>
|
| +
|
| +<body>
|
| + <!-- The following two scripts contain two separate code points (U+00C5
|
| + and U+212B, respectively) which, depending on your text editor, might be
|
| + rendered the same.However, their difference is important because, under
|
| + NFC normalization, they would become the same code point, which would be
|
| + against the spec. This test, therefore, validates that the scripts have
|
| + *different* hash values. -->
|
| + <script nonce="nonceynonce">
|
| + var matchingContent = 'Å';
|
| + var nonMatchingContent = 'Å';
|
| +
|
| + // This script should have a hash value of
|
| + // sha256-9UFeeZbvnMa0tLNu76v96T4Hh+UtDWHm2lPQJoTWb9c=
|
| + var scriptContent1 = "window.finish('" + matchingContent + "');";
|
| +
|
| + // This script should have a hash value of
|
| + // sha256-iNjjXUXds31FFvkAmbC74Sxnvreug3PzGtu16udQyqM=
|
| + var scriptContent2 = "window.finish('" + nonMatchingContent + "');";
|
| +
|
| + var script1 = document.createElement('script');
|
| + var script2 = document.createElement('script');
|
| +
|
| + script1.test = async_test("Only matching content runs even with NFC normalization.");
|
| +
|
| + var failure = function() {
|
| + assert_unreached();
|
| + }
|
| +
|
| + window.finish = function(content) {
|
| + if (content == matchingContent) {
|
| + script1.test.step(function() {
|
| + script1.test.done();
|
| + });
|
| + } else {
|
| + script1.test.step(function() {
|
| + assert_unreached("nonMatchingContent script ran");
|
| + });
|
| + }
|
| + }
|
| +
|
| + script1.onerror = failure;
|
| +
|
| + document.body.appendChild(script2);
|
| + script2.textContent = scriptContent2;
|
| + document.body.appendChild(script1);
|
| + script1.textContent = scriptContent1;
|
| + </script>
|
| +
|
| + <p>
|
| + This tests Unicode normalization. While appearing the same, the strings in the scripts are different Unicode points, but through normalization, should be the same when the hash is taken.
|
| + </p>
|
| + <div id="log"></div>
|
| + <script async defer src="../support/checkReport.sub.js?reportExists=true"></script>
|
| +</body>
|
| +
|
| +</html>
|
|
|