<!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>[204383] trunk/Tools</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/204383">204383</a></dd>
<dt>Author</dt> <dd>achristensen@apple.com</dd>
<dt>Date</dt> <dd>2016-08-11 13:20:05 -0700 (Thu, 11 Aug 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Fix Yosemite bots' cookie accept policies after <a href="http://trac.webkit.org/projects/webkit/changeset/204365">r204365</a>.
https://bugs.webkit.org/show_bug.cgi?id=160758

* TestWebKitAPI/Tests/WebKit2Cocoa/CookieAcceptPolicy.mm:
(TEST):
I didn't restore the cookieAcceptPolicy of the sharedHTTPCookieStorage after changing it with this API test.
On Yosemite, this is changing the cookieAcceptPolicy that DumpRenderTree uses.
On more recent Cocoa platforms, it is only changing the cookieAcceptPolicy that TestWebKitAPI uses, which isn't
causing any problems because there are no other API tests that do anything with cookies.
My solution will be to restore the original cookieAcceptPolicy after running this API test to clean up,
but first I am committing this patch setting the cookieAcceptPolicy to NSHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain
to reset any bots that have run tests since <a href="http://trac.webkit.org/projects/webkit/changeset/204365">r204365</a>.  I will commit a followup that sets it to originalCookieAcceptPolicy.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsTestWebKitAPITestsWebKit2CocoaCookieAcceptPolicymm">trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/CookieAcceptPolicy.mm</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (204382 => 204383)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog        2016-08-11 19:45:13 UTC (rev 204382)
+++ trunk/Tools/ChangeLog        2016-08-11 20:20:05 UTC (rev 204383)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2016-08-11  Alex Christensen  &lt;achristensen@webkit.org&gt;
+
+        Fix Yosemite bots' cookie accept policies after r204365.
+        https://bugs.webkit.org/show_bug.cgi?id=160758
+
+        * TestWebKitAPI/Tests/WebKit2Cocoa/CookieAcceptPolicy.mm:
+        (TEST):
+        I didn't restore the cookieAcceptPolicy of the sharedHTTPCookieStorage after changing it with this API test.
+        On Yosemite, this is changing the cookieAcceptPolicy that DumpRenderTree uses.
+        On more recent Cocoa platforms, it is only changing the cookieAcceptPolicy that TestWebKitAPI uses, which isn't
+        causing any problems because there are no other API tests that do anything with cookies.
+        My solution will be to restore the original cookieAcceptPolicy after running this API test to clean up,
+        but first I am committing this patch setting the cookieAcceptPolicy to NSHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain
+        to reset any bots that have run tests since r204365.  I will commit a followup that sets it to originalCookieAcceptPolicy.
+
</ins><span class="cx"> 2016-08-11  Aakash Jain  &lt;aakash_jain@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         EWS should check if the patch is still valid before executing every major step
</span></span></pre></div>
<a id="trunkToolsTestWebKitAPITestsWebKit2CocoaCookieAcceptPolicymm"></a>
<div class="modfile"><h4>Modified: trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/CookieAcceptPolicy.mm (204382 => 204383)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/CookieAcceptPolicy.mm        2016-08-11 19:45:13 UTC (rev 204382)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/CookieAcceptPolicy.mm        2016-08-11 20:20:05 UTC (rev 204383)
</span><span class="lines">@@ -26,6 +26,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #import &quot;PlatformUtilities.h&quot;
</span><ins>+#import &lt;WebCore/CFNetworkSPI.h&gt;
</ins><span class="cx"> #import &lt;WebKit/WKProcessPool.h&gt;
</span><span class="cx"> #import &lt;WebKit/WKProcessPoolPrivate.h&gt;
</span><span class="cx"> #import &lt;WebKit/WKWebView.h&gt;
</span><span class="lines">@@ -52,6 +53,8 @@
</span><span class="cx"> 
</span><span class="cx"> TEST(WebKit2, CookieAcceptPolicy)
</span><span class="cx"> {
</span><ins>+    auto originalCookieAcceptPolicy = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookieAcceptPolicy];
+    
</ins><span class="cx">     RetainPtr&lt;WKWebViewConfiguration&gt; configuration = adoptNS([[WKWebViewConfiguration alloc] init]);
</span><span class="cx">     
</span><span class="cx">     RetainPtr&lt;WKProcessPool&gt; processPool = adoptNS([[WKProcessPool alloc] init]);
</span><span class="lines">@@ -67,6 +70,11 @@
</span><span class="cx">     [webView loadRequest:request];
</span><span class="cx">     TestWebKitAPI::Util::run(&amp;receivedScriptMessage);
</span><span class="cx">     EXPECT_STREQ([(NSString *)[lastScriptMessage body] UTF8String], &quot;COOKIE:&quot;);
</span><ins>+    
+    // FIXME: Set back to originalCookieAcceptPolicy.
+    UNUSED_PARAM(originalCookieAcceptPolicy);
+    [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain];
+    [[NSHTTPCookieStorage sharedHTTPCookieStorage] _saveCookies];
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre>
</div>
</div>

</body>
</html>