<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[211616] trunk/LayoutTests</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/211616">211616</a></dd>
<dt>Author</dt> <dd>ap@apple.com</dd>
<dt>Date</dt> <dd>2017-02-02 17:46:25 -0800 (Thu, 02 Feb 2017)</dd>
</dl>

<h3>Log Message</h3>
<pre>Multiple HTTP tests fail with Apache 2.4.25
https://bugs.webkit.org/show_bug.cgi?id=167678
&lt;rdar://problem/30060142&gt;

Reviewed by Sam Weinig.

Newer versions of Apache have a security fix where they generate an internal server
error upon seeing an invalid HTTP header field. There is an opt-out configuration
option which didn't quite work in my testing, but regardless, we should only use
&quot;nph-&quot; CGIs for invalid responses. This is how Apache knows that it shouldn't
attempt to parse the response.

This also uncovered a test bug.

* http/tests/cache/disk-cache/resources/cache-test.js: (generateTestURL):
Without escaping, we were getting a broken response in attachment tests:
   Content-Disposition: attachment
    filename: &quot;f.txt&quot;
Note how &quot;;&quot; turned into a newline.

* http/tests/misc/non-utf8-header-name-expected.txt: Removed.
* http/tests/misc/non-utf8-header-name.php: Removed.
* http/tests/misc/nph-non-utf8-header-name-expected.txt: Copied from LayoutTests/http/tests/misc/non-utf8-header-name-expected.txt.
* http/tests/misc/nph-non-utf8-header-name.pl: Copied from LayoutTests/http/tests/misc/non-utf8-header-name.php.
* http/tests/preload/download_resources_from_invalid_headers.html:
* http/tests/preload/resources/invalid_resources_from_header.php: Removed.
* http/tests/preload/resources/nph-invalid_resources_from_header.pl: Copied from LayoutTests/http/tests/preload/resources/invalid_resources_from_header.php.
* http/tests/security/contentSecurityPolicy/directive-parsing-01.html:
* http/tests/security/contentSecurityPolicy/directive-parsing-02.html:
* http/tests/security/contentSecurityPolicy/directive-parsing-03.html:
* http/tests/security/contentSecurityPolicy/directive-parsing-04.html:
* http/tests/security/contentSecurityPolicy/directive-parsing-05.html:
* http/tests/security/contentSecurityPolicy/resources/echo-script-src.pl: Removed.
* http/tests/security/contentSecurityPolicy/resources/multiple-iframe-test.js:
* http/tests/security/contentSecurityPolicy/resources/nph-echo-script-src.pl: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/resources/echo-script-src.pl.
* http/tests/security/contentSecurityPolicy/script-loads-with-img-src.html:
* http/tests/security/contentSecurityPolicy/script-src-none.html:
* http/tests/security/contentSecurityPolicy/script-src-self-blocked-01.html:
* http/tests/security/contentSecurityPolicy/script-src-self-blocked-02.html:
* http/tests/security/contentSecurityPolicy/script-src-self-blocked-03.html:
* http/tests/security/contentSecurityPolicy/script-src-self.html:
* http/tests/security/contentSecurityPolicy/script-src-star-cross-scheme.html:
Changed scripts that are used to generate invalid responses to &quot;nph-&quot; ones.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestshttptestscachediskcacheresourcescachetestjs">trunk/LayoutTests/http/tests/cache/disk-cache/resources/cache-test.js</a></li>
<li><a href="#trunkLayoutTestshttptestspreloaddownload_resources_from_invalid_headershtml">trunk/LayoutTests/http/tests/preload/download_resources_from_invalid_headers.html</a></li>
<li><a href="#trunkLayoutTestshttptestssecuritycontentSecurityPolicydirectiveparsing01html">trunk/LayoutTests/http/tests/security/contentSecurityPolicy/directive-parsing-01.html</a></li>
<li><a href="#trunkLayoutTestshttptestssecuritycontentSecurityPolicydirectiveparsing02html">trunk/LayoutTests/http/tests/security/contentSecurityPolicy/directive-parsing-02.html</a></li>
<li><a href="#trunkLayoutTestshttptestssecuritycontentSecurityPolicydirectiveparsing03html">trunk/LayoutTests/http/tests/security/contentSecurityPolicy/directive-parsing-03.html</a></li>
<li><a href="#trunkLayoutTestshttptestssecuritycontentSecurityPolicydirectiveparsing04html">trunk/LayoutTests/http/tests/security/contentSecurityPolicy/directive-parsing-04.html</a></li>
<li><a href="#trunkLayoutTestshttptestssecuritycontentSecurityPolicydirectiveparsing05html">trunk/LayoutTests/http/tests/security/contentSecurityPolicy/directive-parsing-05.html</a></li>
<li><a href="#trunkLayoutTestshttptestssecuritycontentSecurityPolicyresourcesmultipleiframetestjs">trunk/LayoutTests/http/tests/security/contentSecurityPolicy/resources/multiple-iframe-test.js</a></li>
<li><a href="#trunkLayoutTestshttptestssecuritycontentSecurityPolicyscriptloadswithimgsrchtml">trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-loads-with-img-src.html</a></li>
<li><a href="#trunkLayoutTestshttptestssecuritycontentSecurityPolicyscriptsrcnonehtml">trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-src-none.html</a></li>
<li><a href="#trunkLayoutTestshttptestssecuritycontentSecurityPolicyscriptsrcselfblocked01html">trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-src-self-blocked-01.html</a></li>
<li><a href="#trunkLayoutTestshttptestssecuritycontentSecurityPolicyscriptsrcselfblocked02html">trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-src-self-blocked-02.html</a></li>
<li><a href="#trunkLayoutTestshttptestssecuritycontentSecurityPolicyscriptsrcselfblocked03html">trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-src-self-blocked-03.html</a></li>
<li><a href="#trunkLayoutTestshttptestssecuritycontentSecurityPolicyscriptsrcselfhtml">trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-src-self.html</a></li>
<li><a href="#trunkLayoutTestshttptestssecuritycontentSecurityPolicyscriptsrcstarcrossschemehtml">trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-src-star-cross-scheme.html</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkLayoutTestshttptestsmiscnphnonutf8headernameexpectedtxt">trunk/LayoutTests/http/tests/misc/nph-non-utf8-header-name-expected.txt</a></li>
<li><a href="#trunkLayoutTestshttptestsmiscnphnonutf8headernamepl">trunk/LayoutTests/http/tests/misc/nph-non-utf8-header-name.pl</a></li>
<li><a href="#trunkLayoutTestshttptestspreloadresourcesnphinvalid_resources_from_headerpl">trunk/LayoutTests/http/tests/preload/resources/nph-invalid_resources_from_header.pl</a></li>
<li><a href="#trunkLayoutTestshttptestssecuritycontentSecurityPolicyresourcesnphechoscriptsrcpl">trunk/LayoutTests/http/tests/security/contentSecurityPolicy/resources/nph-echo-script-src.pl</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkLayoutTestshttptestsmiscnonutf8headernameexpectedtxt">trunk/LayoutTests/http/tests/misc/non-utf8-header-name-expected.txt</a></li>
<li><a href="#trunkLayoutTestshttptestsmiscnonutf8headernamephp">trunk/LayoutTests/http/tests/misc/non-utf8-header-name.php</a></li>
<li><a href="#trunkLayoutTestshttptestspreloadresourcesinvalid_resources_from_headerphp">trunk/LayoutTests/http/tests/preload/resources/invalid_resources_from_header.php</a></li>
<li><a href="#trunkLayoutTestshttptestssecuritycontentSecurityPolicyresourcesechoscriptsrcpl">trunk/LayoutTests/http/tests/security/contentSecurityPolicy/resources/echo-script-src.pl</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (211615 => 211616)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2017-02-03 01:36:53 UTC (rev 211615)
+++ trunk/LayoutTests/ChangeLog        2017-02-03 01:46:25 UTC (rev 211616)
</span><span class="lines">@@ -1,3 +1,49 @@
</span><ins>+2017-02-02  Alexey Proskuryakov  &lt;ap@apple.com&gt;
+
+        Multiple HTTP tests fail with Apache 2.4.25
+        https://bugs.webkit.org/show_bug.cgi?id=167678
+        &lt;rdar://problem/30060142&gt;
+
+        Reviewed by Sam Weinig.
+
+        Newer versions of Apache have a security fix where they generate an internal server
+        error upon seeing an invalid HTTP header field. There is an opt-out configuration
+        option which didn't quite work in my testing, but regardless, we should only use
+        &quot;nph-&quot; CGIs for invalid responses. This is how Apache knows that it shouldn't
+        attempt to parse the response.
+
+        This also uncovered a test bug.
+
+        * http/tests/cache/disk-cache/resources/cache-test.js: (generateTestURL):
+        Without escaping, we were getting a broken response in attachment tests:
+           Content-Disposition: attachment
+            filename: &quot;f.txt&quot;
+        Note how &quot;;&quot; turned into a newline.
+
+        * http/tests/misc/non-utf8-header-name-expected.txt: Removed.
+        * http/tests/misc/non-utf8-header-name.php: Removed.
+        * http/tests/misc/nph-non-utf8-header-name-expected.txt: Copied from LayoutTests/http/tests/misc/non-utf8-header-name-expected.txt.
+        * http/tests/misc/nph-non-utf8-header-name.pl: Copied from LayoutTests/http/tests/misc/non-utf8-header-name.php.
+        * http/tests/preload/download_resources_from_invalid_headers.html:
+        * http/tests/preload/resources/invalid_resources_from_header.php: Removed.
+        * http/tests/preload/resources/nph-invalid_resources_from_header.pl: Copied from LayoutTests/http/tests/preload/resources/invalid_resources_from_header.php.
+        * http/tests/security/contentSecurityPolicy/directive-parsing-01.html:
+        * http/tests/security/contentSecurityPolicy/directive-parsing-02.html:
+        * http/tests/security/contentSecurityPolicy/directive-parsing-03.html:
+        * http/tests/security/contentSecurityPolicy/directive-parsing-04.html:
+        * http/tests/security/contentSecurityPolicy/directive-parsing-05.html:
+        * http/tests/security/contentSecurityPolicy/resources/echo-script-src.pl: Removed.
+        * http/tests/security/contentSecurityPolicy/resources/multiple-iframe-test.js:
+        * http/tests/security/contentSecurityPolicy/resources/nph-echo-script-src.pl: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/resources/echo-script-src.pl.
+        * http/tests/security/contentSecurityPolicy/script-loads-with-img-src.html:
+        * http/tests/security/contentSecurityPolicy/script-src-none.html:
+        * http/tests/security/contentSecurityPolicy/script-src-self-blocked-01.html:
+        * http/tests/security/contentSecurityPolicy/script-src-self-blocked-02.html:
+        * http/tests/security/contentSecurityPolicy/script-src-self-blocked-03.html:
+        * http/tests/security/contentSecurityPolicy/script-src-self.html:
+        * http/tests/security/contentSecurityPolicy/script-src-star-cross-scheme.html:
+        Changed scripts that are used to generate invalid responses to &quot;nph-&quot; ones.
+
</ins><span class="cx"> 2017-02-02  Chris Dumez  &lt;cdumez@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Suspend SVG animations in hidden pages
</span></span></pre></div>
<a id="trunkLayoutTestshttptestscachediskcacheresourcescachetestjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/cache/disk-cache/resources/cache-test.js (211615 => 211616)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/cache/disk-cache/resources/cache-test.js        2017-02-03 01:36:53 UTC (rev 211615)
+++ trunk/LayoutTests/http/tests/cache/disk-cache/resources/cache-test.js        2017-02-03 01:46:25 UTC (rev 211616)
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx"> 
</span><span class="cx"> function generateTestURL(test)
</span><span class="cx"> {
</span><del>-    var body = typeof test.body !== 'undefined' ? test.body : &quot;&quot;;
</del><ins>+    var body = typeof test.body !== 'undefined' ? escape(test.body) : &quot;&quot;;
</ins><span class="cx">     var expiresInFutureIn304 = typeof test.expiresInFutureIn304 !== 'undefined' ? test.expiresInFutureIn304 : false;
</span><span class="cx">     var uniqueTestId = Math.floor((Math.random() * 1000000000000));
</span><span class="cx">     var testURL = &quot;resources/generate-response.cgi?body=&quot; + body;
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx">     if (!test.responseHeaders || !test.responseHeaders[&quot;Content-Type&quot;])
</span><span class="cx">         testURL += &quot;&amp;Content-Type=text/plain&quot;;
</span><span class="cx">     for (var header in test.responseHeaders)
</span><del>-        testURL += '&amp;' + header + '=' + makeHeaderValue(test.responseHeaders[header]);
</del><ins>+        testURL += '&amp;' + header + '=' + escape(makeHeaderValue(test.responseHeaders[header]));
</ins><span class="cx">     return testURL;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestshttptestsmiscnonutf8headernameexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/http/tests/misc/non-utf8-header-name-expected.txt (211615 => 211616)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/misc/non-utf8-header-name-expected.txt        2017-02-03 01:36:53 UTC (rev 211615)
+++ trunk/LayoutTests/http/tests/misc/non-utf8-header-name-expected.txt        2017-02-03 01:46:25 UTC (rev 211616)
</span><span class="lines">@@ -1 +0,0 @@
</span><del>-Test for bug 96284: Non UTF-8 HTTP headers do not cause a crash.
</del></span></pre></div>
<a id="trunkLayoutTestshttptestsmiscnonutf8headernamephp"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/http/tests/misc/non-utf8-header-name.php (211615 => 211616)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/misc/non-utf8-header-name.php        2017-02-03 01:36:53 UTC (rev 211615)
+++ trunk/LayoutTests/http/tests/misc/non-utf8-header-name.php        2017-02-03 01:46:25 UTC (rev 211616)
</span><span class="lines">@@ -1,9 +0,0 @@
</span><del>-&lt;?php
-header('HTTP/1.1 200 OK');
-header('\xC3: text/html');
-echo '&lt;script&gt;';
-echo '   if (window.testRunner)';
-echo '       testRunner.dumpAsText();';
-echo '&lt;/script&gt;';
-echo '&lt;p&gt;Test for &lt;a href=&quot;https://bugs.webkit.org/show_bug.cgi?id=96284&quot;&gt;bug 96284&lt;/a&gt;: Non UTF-8 HTTP headers do not cause a crash.&lt;/p&gt;';
-?&gt;
</del></span></pre></div>
<a id="trunkLayoutTestshttptestsmiscnphnonutf8headernameexpectedtxtfromrev211613trunkLayoutTestshttptestsmiscnonutf8headernameexpectedtxt"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/http/tests/misc/nph-non-utf8-header-name-expected.txt (from rev 211613, trunk/LayoutTests/http/tests/misc/non-utf8-header-name-expected.txt) (0 => 211616)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/misc/nph-non-utf8-header-name-expected.txt                                (rev 0)
+++ trunk/LayoutTests/http/tests/misc/nph-non-utf8-header-name-expected.txt        2017-02-03 01:46:25 UTC (rev 211616)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+Test for bug 96284: Non UTF-8 HTTP headers do not cause a crash.
</ins></span></pre></div>
<a id="trunkLayoutTestshttptestsmiscnphnonutf8headernamepl"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/http/tests/misc/nph-non-utf8-header-name.pl (0 => 211616)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/misc/nph-non-utf8-header-name.pl                                (rev 0)
+++ trunk/LayoutTests/http/tests/misc/nph-non-utf8-header-name.pl        2017-02-03 01:46:25 UTC (rev 211616)
</span><span class="lines">@@ -0,0 +1,14 @@
</span><ins>+#!/usr/bin/perl -wT
+use strict;
+
+print &lt;&lt;&quot;EOL&quot;;
+HTTP/1.1 200 OK
+\xC3: text/html
+Content-Type: text/html
+
+&lt;script&gt;
+   if (window.testRunner)
+       testRunner.dumpAsText();
+&lt;/script&gt;
+&lt;p&gt;Test for &lt;a href=&quot;https://bugs.webkit.org/show_bug.cgi?id=96284&quot;&gt;bug 96284&lt;/a&gt;: Non UTF-8 HTTP headers do not cause a crash.&lt;/p&gt;
+EOL
</ins><span class="cx">Property changes on: trunk/LayoutTests/http/tests/misc/nph-non-utf8-header-name.pl
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<ins>+*
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkLayoutTestshttptestspreloaddownload_resources_from_invalid_headershtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/preload/download_resources_from_invalid_headers.html (211615 => 211616)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/preload/download_resources_from_invalid_headers.html        2017-02-03 01:36:53 UTC (rev 211615)
+++ trunk/LayoutTests/http/tests/preload/download_resources_from_invalid_headers.html        2017-02-03 01:46:25 UTC (rev 211616)
</span><span class="lines">@@ -5,5 +5,5 @@
</span><span class="cx">         testRunner.dumpChildFramesAsText();
</span><span class="cx">     }
</span><span class="cx"> &lt;/script&gt;
</span><del>-&lt;iframe src=&quot;resources/invalid_resources_from_header.php&quot;&gt;
</del><ins>+&lt;iframe src=&quot;resources/nph-invalid_resources_from_header.pl&quot;&gt;
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestshttptestspreloadresourcesinvalid_resources_from_headerphp"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/http/tests/preload/resources/invalid_resources_from_header.php (211615 => 211616)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/preload/resources/invalid_resources_from_header.php        2017-02-03 01:36:53 UTC (rev 211615)
+++ trunk/LayoutTests/http/tests/preload/resources/invalid_resources_from_header.php        2017-02-03 01:46:25 UTC (rev 211616)
</span><span class="lines">@@ -1,46 +0,0 @@
</span><del>-&lt;?php
-header(&quot;Link: &lt;   ../resources/dummy.js &gt;; rel=preload; as=script&quot;, false);
-header(&quot;Link: &lt;../משאבים/dummy.css&gt;; rel=preload; as=style&quot;, false);
-header(&quot;Link: &lt;../résôûrcès/dummy.css&gt;; rel=preload; as=style&quot;, false);
-header(&quot;Link: &lt;../resources/Ahem{.ttf,.woff}&gt;; rel=preload; as=font; crossorigin&quot;, false);
-header(&quot;Link: &lt;../resources/test\f.mp4&gt;; rel=preload; as=media&quot;, false);
-header(&quot;Link: &lt;../security/resources/cap\ttions.vtt&gt;; rel=preload; as=track&quot;, false);
-header(&quot;Link: &lt;../resources/dummy   .xml&gt;; rel=preload;&quot;, false);
-header(&quot;Link: &lt;../resources/dumm&gt;y.xml&gt;; rel=preload&quot;, false);
-header(&quot;Content-Security-Policy: img-src 'none'&quot;, false);
-header(&quot;Link: &lt;http://localhost:8000/preload/resources/square.png&gt;; rel=preload; as=image&quot;, false);
-header(&quot;Link: &lt;http://localhost:53/preload/resources/dummy.js&gt;; rel=preload; as=script&quot;, false);
-header(&quot;Link: &lt;#foobar&gt;; rel=preload; as=style&quot;, false);
-header(&quot;Link: &lt;&gt;; rel=preload; as=style&quot;, false);
-header(&quot;Link: &lt;   \t&gt;; rel=preload; as=style&quot;, false);
-header(&quot;Link: &gt;; rel=preload; as=style&quot;, false);
-header(&quot;Link: &lt;; rel=preload; as=style&quot;, false);
-header(&quot;Link: ; rel=preload; as=style&quot;, false);
-header(&quot;Link &lt;../resources/Ahem.ttf&gt;; rel=preload; as=font; crossorigin&quot;, false);
-header(&quot;Link: &lt;   ../resources/dummy.js?foobar &gt;; rel=preload; as='&quot;, false);
-header(&quot;Link: &lt;&lt;../resources/dummy.js?invalid&gt;&gt;; rel=preload; as=script&quot;, false);
-header(&quot;Link: &lt;../resources/dummy.js?invalid&gt;&gt;; rel=preload; as=script&quot;, false);
-header(&quot;Link: &lt;&lt;../resources/dummy.js?invalid&gt;; rel=preload; as=script&quot;, false);
-?&gt;
-&lt;!DOCTYPE html&gt;
-&lt;script src=&quot;/js-test-resources/js-test.js&quot;&gt;&lt;/script&gt;
-&lt;script&gt;
-    shouldBeTrue(&quot;internals.isPreloaded('../resources/dummy.js');&quot;);
-    shouldBeFalse(&quot;internals.isPreloaded('../משאבים/dummy.css');&quot;);
-    shouldBeFalse(&quot;internals.isPreloaded('../résôûrcès/square.png');&quot;);
-    // Invalid URLs get preloaded (and get terminated further down the stack)
-    shouldBeTrue(&quot;internals.isPreloaded('../resources/Ahem{.ttf,.woff}');&quot;);
-    shouldBeFalse(&quot;internals.isPreloaded('../resources/test.mp4');&quot;);
-    shouldBeTrue(&quot;internals.isPreloaded('../resources/test\f.mp4');&quot;);
-    shouldBeTrue(&quot;internals.isPreloaded('../security/resources/cap\ttions.vtt');&quot;);
-    shouldBeFalse(&quot;internals.isPreloaded('../resources/dummy.xml?badvalue');&quot;);
-    shouldBeTrue(&quot;internals.isPreloaded('../resources/dummy   .xml');&quot;);
-    shouldBeFalse(&quot;internals.isPreloaded('../resources/dummy.xml');&quot;);
-    shouldBeFalse(&quot;internals.isPreloaded('../resources/dumm');&quot;);
-    shouldBeFalse(&quot;internals.isPreloaded('http://localhost:8000/preload/resources/square.png');&quot;);
-    // Invalid ports get preloaded (and get terminated further down the stack).
-    shouldBeTrue(&quot;internals.isPreloaded('http://localhost:53/preload/resources/dummy.js');&quot;);
-    shouldBeFalse(&quot;internals.isPreloaded('#foobar');&quot;);
-    shouldBeFalse(&quot;internals.isPreloaded('../resources/Ahem.ttf');&quot;);
-    shouldBeFalse(&quot;internals.isPreloaded('../resources/dummy.js?invalid');&quot;);
-&lt;/script&gt;
</del></span></pre></div>
<a id="trunkLayoutTestshttptestspreloadresourcesnphinvalid_resources_from_headerpl"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/http/tests/preload/resources/nph-invalid_resources_from_header.pl (0 => 211616)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/preload/resources/nph-invalid_resources_from_header.pl                                (rev 0)
+++ trunk/LayoutTests/http/tests/preload/resources/nph-invalid_resources_from_header.pl        2017-02-03 01:46:25 UTC (rev 211616)
</span><span class="lines">@@ -0,0 +1,52 @@
</span><ins>+#!/usr/bin/perl -wT
+use strict;
+
+print &lt;&lt;&quot;EOL&quot;;
+HTTP/1.1 200 OK
+Link: &lt;   ../resources/dummy.js &gt;; rel=preload; as=script
+Link: &lt;../משאבים/dummy.css&gt;; rel=preload; as=style
+Link: &lt;../résôûrcès/dummy.css&gt;; rel=preload; as=style
+Link: &lt;../resources/Ahem{.ttf,.woff}&gt;; rel=preload; as=font; crossorigin
+Link: &lt;../resources/test\f.mp4&gt;; rel=preload; as=media
+Link: &lt;../security/resources/cap\ttions.vtt&gt;; rel=preload; as=track
+Link: &lt;../resources/dummy   .xml&gt;; rel=preload;
+Link: &lt;../resources/dumm&gt;y.xml&gt;; rel=preload
+Content-Security-Policy: img-src 'none'
+Link: &lt;http://localhost:8000/preload/resources/square.png&gt;; rel=preload; as=image
+Link: &lt;http://localhost:53/preload/resources/dummy.js&gt;; rel=preload; as=script
+Link: &lt;#foobar&gt;; rel=preload; as=style
+Link: &lt;&gt;; rel=preload; as=style
+Link: &lt;   \t&gt;; rel=preload; as=style
+Link: &gt;; rel=preload; as=style
+Link: &lt;; rel=preload; as=style
+Link: ; rel=preload; as=style
+Link &lt;../resources/Ahem.ttf&gt;; rel=preload; as=font; crossorigin
+Link: &lt;   ../resources/dummy.js?foobar &gt;; rel=preload; as='
+Link: &lt;&lt;../resources/dummy.js?invalid&gt;&gt;; rel=preload; as=script
+Link: &lt;../resources/dummy.js?invalid&gt;&gt;; rel=preload; as=script
+Link: &lt;&lt;../resources/dummy.js?invalid&gt;; rel=preload; as=script
+Content-Type: text/html
+
+&lt;!DOCTYPE html&gt;
+&lt;script src=&quot;/js-test-resources/js-test.js&quot;&gt;&lt;/script&gt;
+&lt;script&gt;
+    shouldBeTrue(&quot;internals.isPreloaded('../resources/dummy.js');&quot;);
+    shouldBeFalse(&quot;internals.isPreloaded('../משאבים/dummy.css');&quot;);
+    shouldBeFalse(&quot;internals.isPreloaded('../résôûrcès/square.png');&quot;);
+    // Invalid URLs get preloaded (and get terminated further down the stack)
+    shouldBeTrue(&quot;internals.isPreloaded('../resources/Ahem{.ttf,.woff}');&quot;);
+    shouldBeFalse(&quot;internals.isPreloaded('../resources/test.mp4');&quot;);
+    shouldBeTrue(&quot;internals.isPreloaded('../resources/test\f.mp4');&quot;);
+    shouldBeTrue(&quot;internals.isPreloaded('../security/resources/cap\ttions.vtt');&quot;);
+    shouldBeFalse(&quot;internals.isPreloaded('../resources/dummy.xml?badvalue');&quot;);
+    shouldBeTrue(&quot;internals.isPreloaded('../resources/dummy   .xml');&quot;);
+    shouldBeFalse(&quot;internals.isPreloaded('../resources/dummy.xml');&quot;);
+    shouldBeFalse(&quot;internals.isPreloaded('../resources/dumm');&quot;);
+    shouldBeFalse(&quot;internals.isPreloaded('http://localhost:8000/preload/resources/square.png');&quot;);
+    // Invalid ports get preloaded (and get terminated further down the stack).
+    shouldBeTrue(&quot;internals.isPreloaded('http://localhost:53/preload/resources/dummy.js');&quot;);
+    shouldBeFalse(&quot;internals.isPreloaded('#foobar');&quot;);
+    shouldBeFalse(&quot;internals.isPreloaded('../resources/Ahem.ttf');&quot;);
+    shouldBeFalse(&quot;internals.isPreloaded('../resources/dummy.js?invalid');&quot;);
+&lt;/script&gt;
+EOL
</ins><span class="cx">\ No newline at end of file
</span><span class="cx">Property changes on: trunk/LayoutTests/http/tests/preload/resources/nph-invalid_resources_from_header.pl
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<ins>+*
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkLayoutTestshttptestssecuritycontentSecurityPolicydirectiveparsing01html"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/security/contentSecurityPolicy/directive-parsing-01.html (211615 => 211616)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/security/contentSecurityPolicy/directive-parsing-01.html        2017-02-03 01:36:53 UTC (rev 211615)
+++ trunk/LayoutTests/http/tests/security/contentSecurityPolicy/directive-parsing-01.html        2017-02-03 01:46:25 UTC (rev 211616)
</span><span class="lines">@@ -12,6 +12,6 @@
</span><span class="cx">   &lt;p&gt;
</span><span class="cx">     This script should not execute even though there are parse errors in the policy.
</span><span class="cx">   &lt;/p&gt;
</span><del>-  &lt;iframe src=&quot;http://127.0.0.1:8000/security/contentSecurityPolicy/resources/echo-script-src.pl?should_run=no&amp;q=http://127.0.0.1:8000/security/contentSecurityPolicy/resources/script.js&amp;csp=allow%20*%3B%20script-src%20'none'%3B%20%20%3B%20&quot;&gt;&lt;/iframe&gt;
</del><ins>+  &lt;iframe src=&quot;http://127.0.0.1:8000/security/contentSecurityPolicy/resources/nph-echo-script-src.pl?should_run=no&amp;q=http://127.0.0.1:8000/security/contentSecurityPolicy/resources/script.js&amp;csp=allow%20*%3B%20script-src%20'none'%3B%20%20%3B%20&quot;&gt;&lt;/iframe&gt;
</ins><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkLayoutTestshttptestssecuritycontentSecurityPolicydirectiveparsing02html"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/security/contentSecurityPolicy/directive-parsing-02.html (211615 => 211616)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/security/contentSecurityPolicy/directive-parsing-02.html        2017-02-03 01:36:53 UTC (rev 211615)
+++ trunk/LayoutTests/http/tests/security/contentSecurityPolicy/directive-parsing-02.html        2017-02-03 01:46:25 UTC (rev 211616)
</span><span class="lines">@@ -12,6 +12,6 @@
</span><span class="cx">   &lt;p&gt;
</span><span class="cx">     This script should not execute even though there are parse errors in the policy.
</span><span class="cx">   &lt;/p&gt;
</span><del>-  &lt;iframe src=&quot;http://127.0.0.1:8000/security/contentSecurityPolicy/resources/echo-script-src.pl?should_run=no&amp;q=http://127.0.0.1:8000/security/contentSecurityPolicy/resources/script.js&amp;csp=script-src%20'none'%3B%20aaa%20%3B%20&quot;&gt;&lt;/iframe&gt;
</del><ins>+  &lt;iframe src=&quot;http://127.0.0.1:8000/security/contentSecurityPolicy/resources/nph-echo-script-src.pl?should_run=no&amp;q=http://127.0.0.1:8000/security/contentSecurityPolicy/resources/script.js&amp;csp=script-src%20'none'%3B%20aaa%20%3B%20&quot;&gt;&lt;/iframe&gt;
</ins><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkLayoutTestshttptestssecuritycontentSecurityPolicydirectiveparsing03html"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/security/contentSecurityPolicy/directive-parsing-03.html (211615 => 211616)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/security/contentSecurityPolicy/directive-parsing-03.html        2017-02-03 01:36:53 UTC (rev 211615)
+++ trunk/LayoutTests/http/tests/security/contentSecurityPolicy/directive-parsing-03.html        2017-02-03 01:46:25 UTC (rev 211616)
</span><span class="lines">@@ -12,6 +12,6 @@
</span><span class="cx">   &lt;p&gt;
</span><span class="cx">     This script should not execute even though there are parse errors in the policy.
</span><span class="cx">   &lt;/p&gt;
</span><del>-  &lt;iframe src=&quot;http://127.0.0.1:8000/security/contentSecurityPolicy/resources/echo-script-src.pl?should_run=no&amp;q=http://127.0.0.1:8000/security/contentSecurityPolicy/resources/script.js&amp;csp=script-src%20'none'%3B%20a%07aa%20%3B%20&quot;&gt;&lt;/iframe&gt;
</del><ins>+  &lt;iframe src=&quot;http://127.0.0.1:8000/security/contentSecurityPolicy/resources/nph-echo-script-src.pl?should_run=no&amp;q=http://127.0.0.1:8000/security/contentSecurityPolicy/resources/script.js&amp;csp=script-src%20'none'%3B%20a%07aa%20%3B%20&quot;&gt;&lt;/iframe&gt;
</ins><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkLayoutTestshttptestssecuritycontentSecurityPolicydirectiveparsing04html"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/security/contentSecurityPolicy/directive-parsing-04.html (211615 => 211616)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/security/contentSecurityPolicy/directive-parsing-04.html        2017-02-03 01:36:53 UTC (rev 211615)
+++ trunk/LayoutTests/http/tests/security/contentSecurityPolicy/directive-parsing-04.html        2017-02-03 01:46:25 UTC (rev 211616)
</span><span class="lines">@@ -13,6 +13,6 @@
</span><span class="cx">     A warning should be logged to the console, as `script-src: 'none'` shouldn't
</span><span class="cx">     contain a colon. Since the directive is invalid, the script should run.
</span><span class="cx">   &lt;/p&gt;
</span><del>-  &lt;iframe src=&quot;http://127.0.0.1:8000/security/contentSecurityPolicy/resources/echo-script-src.pl?should_run=yes&amp;q=http://127.0.0.1:8000/security/contentSecurityPolicy/resources/script.js&amp;csp=script-src%3A%20'none'&quot;&gt;&lt;/iframe&gt;
</del><ins>+  &lt;iframe src=&quot;http://127.0.0.1:8000/security/contentSecurityPolicy/resources/nph-echo-script-src.pl?should_run=yes&amp;q=http://127.0.0.1:8000/security/contentSecurityPolicy/resources/script.js&amp;csp=script-src%3A%20'none'&quot;&gt;&lt;/iframe&gt;
</ins><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkLayoutTestshttptestssecuritycontentSecurityPolicydirectiveparsing05html"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/security/contentSecurityPolicy/directive-parsing-05.html (211615 => 211616)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/security/contentSecurityPolicy/directive-parsing-05.html        2017-02-03 01:36:53 UTC (rev 211615)
+++ trunk/LayoutTests/http/tests/security/contentSecurityPolicy/directive-parsing-05.html        2017-02-03 01:46:25 UTC (rev 211616)
</span><span class="lines">@@ -12,7 +12,7 @@
</span><span class="cx">   &lt;p&gt;
</span><span class="cx">     Directives starting with an invalid character should be logged and ignored.
</span><span class="cx">   &lt;/p&gt;
</span><del>-  &lt;iframe src=&quot;http://127.0.0.1:8000/security/contentSecurityPolicy/resources/echo-script-src.pl?should_run=yes&amp;q=http://127.0.0.1:8000/security/contentSecurityPolicy/resources/script.js&amp;csp=:script-src%20'none'&quot;&gt;&lt;/iframe&gt;
</del><ins>+  &lt;iframe src=&quot;http://127.0.0.1:8000/security/contentSecurityPolicy/resources/nph-echo-script-src.pl?should_run=yes&amp;q=http://127.0.0.1:8000/security/contentSecurityPolicy/resources/script.js&amp;csp=:script-src%20'none'&quot;&gt;&lt;/iframe&gt;
</ins><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestshttptestssecuritycontentSecurityPolicyresourcesechoscriptsrcpl"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/http/tests/security/contentSecurityPolicy/resources/echo-script-src.pl (211615 => 211616)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/security/contentSecurityPolicy/resources/echo-script-src.pl        2017-02-03 01:36:53 UTC (rev 211615)
+++ trunk/LayoutTests/http/tests/security/contentSecurityPolicy/resources/echo-script-src.pl        2017-02-03 01:46:25 UTC (rev 211616)
</span><span class="lines">@@ -1,32 +0,0 @@
</span><del>-#!/usr/bin/perl -wT
-use strict;
-use CGI;
-
-my $cgi = new CGI;
-
-print &quot;Content-Type: text/html; charset=UTF-8\n&quot;;
-my $experimental = $cgi-&gt;param('experimental') || &quot;&quot;;
-if ($experimental eq 'true') {
-    print &quot;X-WebKit-CSP: &quot; . $cgi-&gt;param('csp') . &quot;\n\n&quot;;
-} else {
-    print &quot;Content-Security-Policy: &quot; . $cgi-&gt;param('csp') . &quot;\n\n&quot;;
-}
-
-my ($text, $replacement) = (&quot;FAIL&quot;, &quot;PASS&quot;);
-($text, $replacement) = ($replacement, $text) if $cgi-&gt;param('should_run') eq 'no';
-
-my $nonce = $cgi-&gt;param('nonce') || &quot;&quot;;
-if ($nonce ne &quot;&quot;) {
-    $nonce = &quot;nonce='&quot; . $nonce . &quot;'&quot;;
-}
-
-
-print &quot;&lt;!DOCTYPE html&gt;\n&quot;;
-print &quot;&lt;html&gt;\n&quot;;
-print &quot;&lt;body&gt;\n&quot;;
-print &quot;&lt;div id=\&quot;result\&quot; text=\&quot;$replacement\&quot;&gt;\n&quot;;
-print &quot;$text\n&quot;;
-print &quot;&lt;/div&gt;\n&quot;;
-print &quot;&lt;script $nonce src=\&quot;&quot; . $cgi-&gt;param('q') . &quot;\&quot;&gt;&lt;/script&gt;\n&quot;;
-print &quot;&lt;/body&gt;\n&quot;;
-print &quot;&lt;/html&gt;\n&quot;;
</del></span></pre></div>
<a id="trunkLayoutTestshttptestssecuritycontentSecurityPolicyresourcesmultipleiframetestjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/security/contentSecurityPolicy/resources/multiple-iframe-test.js (211615 => 211616)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/security/contentSecurityPolicy/resources/multiple-iframe-test.js        2017-02-03 01:36:53 UTC (rev 211615)
+++ trunk/LayoutTests/http/tests/security/contentSecurityPolicy/resources/multiple-iframe-test.js        2017-02-03 01:46:25 UTC (rev 211616)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx">     if (current[2].match(/^data:/) || current[2].match(/^https?:/))
</span><span class="cx">         scriptToLoad = encodeURIComponent(current[2]);
</span><span class="cx"> 
</span><del>-    iframe.src = baseURL + &quot;resources/echo-script-src.pl?&quot; +
</del><ins>+    iframe.src = baseURL + &quot;resources/nph-echo-script-src.pl?&quot; +
</ins><span class="cx">                  &quot;experimental=&quot; + (experimental ? &quot;true&quot; : &quot;false&quot;) +
</span><span class="cx">                  &quot;&amp;should_run=&quot; + encodeURIComponent(current[0]) +
</span><span class="cx">                  &quot;&amp;csp=&quot; + policy + &quot;&amp;q=&quot; + scriptToLoad;
</span></span></pre></div>
<a id="trunkLayoutTestshttptestssecuritycontentSecurityPolicyresourcesnphechoscriptsrcplfromrev211613trunkLayoutTestshttptestssecuritycontentSecurityPolicyresourcesechoscriptsrcpl"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/http/tests/security/contentSecurityPolicy/resources/nph-echo-script-src.pl (from rev 211613, trunk/LayoutTests/http/tests/security/contentSecurityPolicy/resources/echo-script-src.pl) (0 => 211616)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/security/contentSecurityPolicy/resources/nph-echo-script-src.pl                                (rev 0)
+++ trunk/LayoutTests/http/tests/security/contentSecurityPolicy/resources/nph-echo-script-src.pl        2017-02-03 01:46:25 UTC (rev 211616)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+#!/usr/bin/perl -wT
+use strict;
+use CGI;
+
+my $cgi = new CGI;
+
+print &quot;HTTP/1.1 200 OK\n&quot;;
+print &quot;Content-Type: text/html; charset=UTF-8\n&quot;;
+my $experimental = $cgi-&gt;param('experimental') || &quot;&quot;;
+if ($experimental eq 'true') {
+    print &quot;X-WebKit-CSP: &quot; . $cgi-&gt;param('csp') . &quot;\n\n&quot;;
+} else {
+    print &quot;Content-Security-Policy: &quot; . $cgi-&gt;param('csp') . &quot;\n\n&quot;;
+}
+
+my ($text, $replacement) = (&quot;FAIL&quot;, &quot;PASS&quot;);
+($text, $replacement) = ($replacement, $text) if $cgi-&gt;param('should_run') eq 'no';
+
+my $nonce = $cgi-&gt;param('nonce') || &quot;&quot;;
+if ($nonce ne &quot;&quot;) {
+    $nonce = &quot;nonce='&quot; . $nonce . &quot;'&quot;;
+}
+
+
+print &quot;&lt;!DOCTYPE html&gt;\n&quot;;
+print &quot;&lt;html&gt;\n&quot;;
+print &quot;&lt;body&gt;\n&quot;;
+print &quot;&lt;div id=\&quot;result\&quot; text=\&quot;$replacement\&quot;&gt;\n&quot;;
+print &quot;$text\n&quot;;
+print &quot;&lt;/div&gt;\n&quot;;
+print &quot;&lt;script $nonce src=\&quot;&quot; . $cgi-&gt;param('q') . &quot;\&quot;&gt;&lt;/script&gt;\n&quot;;
+print &quot;&lt;/body&gt;\n&quot;;
+print &quot;&lt;/html&gt;\n&quot;;
</ins></span></pre></div>
<a id="trunkLayoutTestshttptestssecuritycontentSecurityPolicyscriptloadswithimgsrchtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-loads-with-img-src.html (211615 => 211616)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-loads-with-img-src.html        2017-02-03 01:36:53 UTC (rev 211615)
+++ trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-loads-with-img-src.html        2017-02-03 01:46:25 UTC (rev 211616)
</span><span class="lines">@@ -9,6 +9,6 @@
</span><span class="cx"> &lt;/script&gt;
</span><span class="cx"> &lt;/head&gt;
</span><span class="cx"> &lt;body&gt;
</span><del>-  &lt;iframe src=&quot;http://127.0.0.1:8000/security/contentSecurityPolicy/resources/echo-script-src.pl?should_run=yes&amp;q=http://127.0.0.1:8000/security/contentSecurityPolicy/resources/script.js&amp;csp=script-img%20'none'&quot;&gt;&lt;/iframe&gt;
</del><ins>+  &lt;iframe src=&quot;http://127.0.0.1:8000/security/contentSecurityPolicy/resources/nph-echo-script-src.pl?should_run=yes&amp;q=http://127.0.0.1:8000/security/contentSecurityPolicy/resources/script.js&amp;csp=script-img%20'none'&quot;&gt;&lt;/iframe&gt;
</ins><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkLayoutTestshttptestssecuritycontentSecurityPolicyscriptsrcnonehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-src-none.html (211615 => 211616)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-src-none.html        2017-02-03 01:36:53 UTC (rev 211615)
+++ trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-src-none.html        2017-02-03 01:46:25 UTC (rev 211616)
</span><span class="lines">@@ -12,6 +12,6 @@
</span><span class="cx">   &lt;p&gt;
</span><span class="cx">     Loads an iframe which in turns tries to load an external script. The iframe has a content security policy disabling external scripts. So the script should not get executed.
</span><span class="cx">   &lt;/p&gt;
</span><del>-  &lt;iframe src=&quot;http://127.0.0.1:8000/security/contentSecurityPolicy/resources/echo-script-src.pl?should_run=no&amp;q=http://127.0.0.1:8000/security/contentSecurityPolicy/resources/script.js&amp;csp=allow%20*%3B%20script-src%20'none'&quot;&gt;&lt;/iframe&gt;
</del><ins>+  &lt;iframe src=&quot;http://127.0.0.1:8000/security/contentSecurityPolicy/resources/nph-echo-script-src.pl?should_run=no&amp;q=http://127.0.0.1:8000/security/contentSecurityPolicy/resources/script.js&amp;csp=allow%20*%3B%20script-src%20'none'&quot;&gt;&lt;/iframe&gt;
</ins><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkLayoutTestshttptestssecuritycontentSecurityPolicyscriptsrcselfblocked01html"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-src-self-blocked-01.html (211615 => 211616)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-src-self-blocked-01.html        2017-02-03 01:36:53 UTC (rev 211615)
+++ trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-src-self-blocked-01.html        2017-02-03 01:46:25 UTC (rev 211616)
</span><span class="lines">@@ -9,6 +9,6 @@
</span><span class="cx"> &lt;/script&gt;
</span><span class="cx"> &lt;/head&gt;
</span><span class="cx"> &lt;body&gt;
</span><del>-  &lt;iframe src=&quot;http://127.0.0.1:8000/security/contentSecurityPolicy/resources/echo-script-src.pl?should_run=no&amp;q=http://localhost:8000/security/contentSecurityPolicy/resources/script.js&amp;csp=script-src%20'self'&quot;&gt;&lt;/iframe&gt;
</del><ins>+  &lt;iframe src=&quot;http://127.0.0.1:8000/security/contentSecurityPolicy/resources/nph-echo-script-src.pl?should_run=no&amp;q=http://localhost:8000/security/contentSecurityPolicy/resources/script.js&amp;csp=script-src%20'self'&quot;&gt;&lt;/iframe&gt;
</ins><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkLayoutTestshttptestssecuritycontentSecurityPolicyscriptsrcselfblocked02html"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-src-self-blocked-02.html (211615 => 211616)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-src-self-blocked-02.html        2017-02-03 01:36:53 UTC (rev 211615)
+++ trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-src-self-blocked-02.html        2017-02-03 01:46:25 UTC (rev 211616)
</span><span class="lines">@@ -9,6 +9,6 @@
</span><span class="cx"> &lt;/script&gt;
</span><span class="cx"> &lt;/head&gt;
</span><span class="cx"> &lt;body&gt;
</span><del>-  &lt;iframe src=&quot;http://127.0.0.1:8000/security/contentSecurityPolicy/resources/echo-script-src.pl?should_run=no&amp;q=http://127.0.0.1:8080/security/contentSecurityPolicy/resources/script.js&amp;csp=script-src%20'self'&quot;&gt;&lt;/iframe&gt;
</del><ins>+  &lt;iframe src=&quot;http://127.0.0.1:8000/security/contentSecurityPolicy/resources/nph-echo-script-src.pl?should_run=no&amp;q=http://127.0.0.1:8080/security/contentSecurityPolicy/resources/script.js&amp;csp=script-src%20'self'&quot;&gt;&lt;/iframe&gt;
</ins><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkLayoutTestshttptestssecuritycontentSecurityPolicyscriptsrcselfblocked03html"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-src-self-blocked-03.html (211615 => 211616)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-src-self-blocked-03.html        2017-02-03 01:36:53 UTC (rev 211615)
+++ trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-src-self-blocked-03.html        2017-02-03 01:46:25 UTC (rev 211616)
</span><span class="lines">@@ -9,6 +9,6 @@
</span><span class="cx"> &lt;/script&gt;
</span><span class="cx"> &lt;/head&gt;
</span><span class="cx"> &lt;body&gt;
</span><del>-  &lt;iframe src=&quot;http://127.0.0.1:8000/security/contentSecurityPolicy/resources/echo-script-src.pl?should_run=no&amp;q=https://127.0.0.1:8443/security/contentSecurityPolicy/resources/script.js&amp;csp=script-src%20'self'&quot;&gt;&lt;/iframe&gt;
</del><ins>+  &lt;iframe src=&quot;http://127.0.0.1:8000/security/contentSecurityPolicy/resources/nph-echo-script-src.pl?should_run=no&amp;q=https://127.0.0.1:8443/security/contentSecurityPolicy/resources/script.js&amp;csp=script-src%20'self'&quot;&gt;&lt;/iframe&gt;
</ins><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkLayoutTestshttptestssecuritycontentSecurityPolicyscriptsrcselfhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-src-self.html (211615 => 211616)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-src-self.html        2017-02-03 01:36:53 UTC (rev 211615)
+++ trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-src-self.html        2017-02-03 01:46:25 UTC (rev 211616)
</span><span class="lines">@@ -9,6 +9,6 @@
</span><span class="cx"> &lt;/script&gt;
</span><span class="cx"> &lt;/head&gt;
</span><span class="cx"> &lt;body&gt;
</span><del>-  &lt;iframe src=&quot;http://127.0.0.1:8000/security/contentSecurityPolicy/resources/echo-script-src.pl?should_run=yes&amp;q=http://127.0.0.1:8000/security/contentSecurityPolicy/resources/script.js&amp;csp=script-src%20'self'&quot;&gt;&lt;/iframe&gt;
</del><ins>+  &lt;iframe src=&quot;http://127.0.0.1:8000/security/contentSecurityPolicy/resources/nph-echo-script-src.pl?should_run=yes&amp;q=http://127.0.0.1:8000/security/contentSecurityPolicy/resources/script.js&amp;csp=script-src%20'self'&quot;&gt;&lt;/iframe&gt;
</ins><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkLayoutTestshttptestssecuritycontentSecurityPolicyscriptsrcstarcrossschemehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-src-star-cross-scheme.html (211615 => 211616)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-src-star-cross-scheme.html        2017-02-03 01:36:53 UTC (rev 211615)
+++ trunk/LayoutTests/http/tests/security/contentSecurityPolicy/script-src-star-cross-scheme.html        2017-02-03 01:46:25 UTC (rev 211616)
</span><span class="lines">@@ -9,6 +9,6 @@
</span><span class="cx"> &lt;/script&gt;
</span><span class="cx"> &lt;/head&gt;
</span><span class="cx"> &lt;body&gt;
</span><del>-  &lt;iframe src=&quot;http://127.0.0.1:8000/security/contentSecurityPolicy/resources/echo-script-src.pl?should_run=yes&amp;q=https://127.0.0.1:8443/security/contentSecurityPolicy/resources/script.js&amp;csp=script-src%20*&quot;&gt;&lt;/iframe&gt;
</del><ins>+  &lt;iframe src=&quot;http://127.0.0.1:8000/security/contentSecurityPolicy/resources/nph-echo-script-src.pl?should_run=yes&amp;q=https://127.0.0.1:8443/security/contentSecurityPolicy/resources/script.js&amp;csp=script-src%20*&quot;&gt;&lt;/iframe&gt;
</ins><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre>
</div>
</div>

</body>
</html>