<!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>[213759] trunk/Source</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/213759">213759</a></dd>
<dt>Author</dt> <dd>beidson@apple.com</dd>
<dt>Date</dt> <dd>2017-03-11 08:44:00 -0800 (Sat, 11 Mar 2017)</dd>
</dl>
<h3>Log Message</h3>
<pre>Cleanup "addCookie" and its sole user.
https://bugs.webkit.org/show_bug.cgi?id=169486
Reviewed by Brian Burg.
Source/WebCore:
No new tests (Refactor, no behavior change)
* WebCore.xcodeproj/project.pbxproj:
* loader/CookieJar.cpp:
(WebCore::addCookie): Deleted.
* loader/CookieJar.h:
* platform/Cookie.h:
(WebCore::Cookie::Cookie):
(WebCore::CookieHash::hash):
(WebCore::CookieHash::equal):
(WebCore::Cookie::encode):
(WebCore::Cookie::decode):
* platform/CookiesStrategy.h:
* platform/network/NetworkStorageSession.h:
* platform/network/PlatformCookieJar.h:
* platform/network/cf/CookieJarCFNet.cpp:
(WebCore::addCookie): Deleted.
* platform/network/cocoa/CookieCocoa.mm: Copied from Source/WebCore/loader/CookieJar.h.
(WebCore::Cookie::operator NSHTTPCookie *):
* platform/network/cocoa/NetworkStorageSessionCocoa.mm: Copied from Source/WebCore/loader/CookieJar.h.
(WebCore::NetworkStorageSession::setCookies):
(WebCore::NetworkStorageSession::nsCookieStorage):
* platform/network/curl/CookieJarCurl.cpp:
(WebCore::addCookie): Deleted.
* platform/network/mac/CookieJarMac.mm:
(WebCore::deleteCookiesForHostnames):
(WebCore::deleteAllCookiesModifiedSince):
(WebCore::addCookie): Deleted.
(WebCore::cookieStorage): Deleted.
* platform/network/soup/CookieJarSoup.cpp:
(WebCore::toSoupCookie): Deleted.
(WebCore::addCookie): Deleted.
* platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::toSoupCookie):
(WebCore::NetworkStorageSession::setCookies):
Source/WebKit/mac:
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::addCookie): Deleted.
Source/WebKit2:
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::addCookie): Deleted.
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<Cookie>::encode): Deleted.
(IPC::ArgumentCoder<Cookie>::decode): Deleted.
* Shared/WebCoreArgumentCoders.h:
* UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::addSingleCookie):
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::setCookies):
(WebKit::WebCookieManagerProxy::addCookie): Deleted.
* UIProcess/WebCookieManagerProxy.h:
* WebProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::setCookies):
(WebKit::WebCookieManager::addCookie): Deleted.
* WebProcess/Cookies/WebCookieManager.h:
* WebProcess/Cookies/WebCookieManager.messages.in:
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::addCookie): Deleted.
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCoreloaderCookieJarcpp">trunk/Source/WebCore/loader/CookieJar.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderCookieJarh">trunk/Source/WebCore/loader/CookieJar.h</a></li>
<li><a href="#trunkSourceWebCoreplatformCookieh">trunk/Source/WebCore/platform/Cookie.h</a></li>
<li><a href="#trunkSourceWebCoreplatformCookiesStrategyh">trunk/Source/WebCore/platform/CookiesStrategy.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkNetworkStorageSessionh">trunk/Source/WebCore/platform/network/NetworkStorageSession.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkPlatformCookieJarh">trunk/Source/WebCore/platform/network/PlatformCookieJar.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcfCookieJarCFNetcpp">trunk/Source/WebCore/platform/network/cf/CookieJarCFNet.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcfNetworkStorageSessionCFNetcpp">trunk/Source/WebCore/platform/network/cf/NetworkStorageSessionCFNet.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcurlCookieJarCurlcpp">trunk/Source/WebCore/platform/network/curl/CookieJarCurl.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkmacCookieJarMacmm">trunk/Source/WebCore/platform/network/mac/CookieJarMac.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworksoupCookieJarSoupcpp">trunk/Source/WebCore/platform/network/soup/CookieJarSoup.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworksoupNetworkStorageSessionSoupcpp">trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp</a></li>
<li><a href="#trunkSourceWebKitmacChangeLog">trunk/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitmacWebCoreSupportWebPlatformStrategiesh">trunk/Source/WebKit/mac/WebCoreSupport/WebPlatformStrategies.h</a></li>
<li><a href="#trunkSourceWebKitmacWebCoreSupportWebPlatformStrategiesmm">trunk/Source/WebKit/mac/WebCoreSupport/WebPlatformStrategies.mm</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2NetworkProcessNetworkConnectionToWebProcesscpp">trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp</a></li>
<li><a href="#trunkSourceWebKit2NetworkProcessNetworkConnectionToWebProcessh">trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.h</a></li>
<li><a href="#trunkSourceWebKit2NetworkProcessNetworkConnectionToWebProcessmessagesin">trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.messages.in</a></li>
<li><a href="#trunkSourceWebKit2SharedWebCoreArgumentCoderscpp">trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp</a></li>
<li><a href="#trunkSourceWebKit2SharedWebCoreArgumentCodersh">trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAutomationWebAutomationSessioncpp">trunk/Source/WebKit2/UIProcess/Automation/WebAutomationSession.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebCookieManagerProxycpp">trunk/Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebCookieManagerProxyh">trunk/Source/WebKit2/UIProcess/WebCookieManagerProxy.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessCookiesWebCookieManagercpp">trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessCookiesWebCookieManagerh">trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessCookiesWebCookieManagermessagesin">trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.messages.in</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportWebPlatformStrategiescpp">trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportWebPlatformStrategiesh">trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.h</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreplatformnetworkcocoaCookieCocoamm">trunk/Source/WebCore/platform/network/cocoa/CookieCocoa.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcocoaNetworkStorageSessionCocoamm">trunk/Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebCore/ChangeLog        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -1,3 +1,58 @@
</span><ins>+2017-03-11 Brady Eidson <beidson@apple.com>
+
+ Cleanup "addCookie" and its sole user.
+ https://bugs.webkit.org/show_bug.cgi?id=169486
+
+ Reviewed by Brian Burg.
+
+ No new tests (Refactor, no behavior change)
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+ * loader/CookieJar.cpp:
+ (WebCore::addCookie): Deleted.
+ * loader/CookieJar.h:
+
+ * platform/Cookie.h:
+ (WebCore::Cookie::Cookie):
+ (WebCore::CookieHash::hash):
+ (WebCore::CookieHash::equal):
+ (WebCore::Cookie::encode):
+ (WebCore::Cookie::decode):
+
+ * platform/CookiesStrategy.h:
+
+ * platform/network/NetworkStorageSession.h:
+
+ * platform/network/PlatformCookieJar.h:
+
+ * platform/network/cf/CookieJarCFNet.cpp:
+ (WebCore::addCookie): Deleted.
+
+ * platform/network/cocoa/CookieCocoa.mm: Copied from Source/WebCore/loader/CookieJar.h.
+ (WebCore::Cookie::operator NSHTTPCookie *):
+
+ * platform/network/cocoa/NetworkStorageSessionCocoa.mm: Copied from Source/WebCore/loader/CookieJar.h.
+ (WebCore::NetworkStorageSession::setCookies):
+ (WebCore::NetworkStorageSession::nsCookieStorage):
+
+ * platform/network/curl/CookieJarCurl.cpp:
+ (WebCore::addCookie): Deleted.
+
+ * platform/network/mac/CookieJarMac.mm:
+ (WebCore::deleteCookiesForHostnames):
+ (WebCore::deleteAllCookiesModifiedSince):
+ (WebCore::addCookie): Deleted.
+ (WebCore::cookieStorage): Deleted.
+
+ * platform/network/soup/CookieJarSoup.cpp:
+ (WebCore::toSoupCookie): Deleted.
+ (WebCore::addCookie): Deleted.
+
+ * platform/network/soup/NetworkStorageSessionSoup.cpp:
+ (WebCore::toSoupCookie):
+ (WebCore::NetworkStorageSession::setCookies):
+
</ins><span class="cx"> 2017-03-10 Alex Christensen <achristensen@webkit.org>
</span><span class="cx">
</span><span class="cx"> Fix watch and tv builds after r213294
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -2278,6 +2278,8 @@
</span><span class="cx">                 51C81B8A0C4422F70019ECE3 /* FTPDirectoryParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 51C81B880C4422F70019ECE3 /* FTPDirectoryParser.h */; };
</span><span class="cx">                 51CBFC990D10E483002DBF51 /* CachedFramePlatformData.h in Headers */ = {isa = PBXBuildFile; fileRef = 51CBFC980D10E483002DBF51 /* CachedFramePlatformData.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 51D0C5160DAA90B7003B3831 /* JSStorageCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D0C5150DAA90B7003B3831 /* JSStorageCustom.cpp */; };
</span><ins>+                51D1248B1E73627F002B2820 /* NetworkStorageSessionCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51D1248A1E73625C002B2820 /* NetworkStorageSessionCocoa.mm */; };
+                51D1248D1E7364AA002B2820 /* CookieCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51D1248C1E736456002B2820 /* CookieCocoa.mm */; };
</ins><span class="cx">                 51D7236C1BB6174900478CA3 /* IDBResultData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D7236A1BB60BFE00478CA3 /* IDBResultData.cpp */; };
</span><span class="cx">                 51D7236D1BB6174900478CA3 /* IDBResultData.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D7236B1BB60BFE00478CA3 /* IDBResultData.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 51D7EFEA1BDE8F8C00E93E10 /* ThreadSafeDataBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 511FAEA91BDC989A00B4AFE4 /* ThreadSafeDataBuffer.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -9715,6 +9717,8 @@
</span><span class="cx">                 51C81B880C4422F70019ECE3 /* FTPDirectoryParser.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = FTPDirectoryParser.h; sourceTree = "<group>"; };
</span><span class="cx">                 51CBFC980D10E483002DBF51 /* CachedFramePlatformData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CachedFramePlatformData.h; sourceTree = "<group>"; };
</span><span class="cx">                 51D0C5150DAA90B7003B3831 /* JSStorageCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSStorageCustom.cpp; sourceTree = "<group>"; };
</span><ins>+                51D1248A1E73625C002B2820 /* NetworkStorageSessionCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = NetworkStorageSessionCocoa.mm; sourceTree = "<group>"; };
+                51D1248C1E736456002B2820 /* CookieCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CookieCocoa.mm; sourceTree = "<group>"; };
</ins><span class="cx">                 51D7196C181106DF0016DC51 /* DOMWindowIndexedDatabase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DOMWindowIndexedDatabase.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 51D7196D181106DF0016DC51 /* DOMWindowIndexedDatabase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMWindowIndexedDatabase.h; sourceTree = "<group>"; };
</span><span class="cx">                 51D7196E181106DF0016DC51 /* DOMWindowIndexedDatabase.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DOMWindowIndexedDatabase.idl; sourceTree = "<group>"; };
</span><span class="lines">@@ -19095,9 +19099,11 @@
</span><span class="cx">                 7E7DE1FE195CEF2D0035363B /* cocoa */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><ins>+                                51D1248C1E736456002B2820 /* CookieCocoa.mm */,
</ins><span class="cx">                                 3792917C1987678F00F4B661 /* CredentialCocoa.h */,
</span><span class="cx">                                 3792917B1987678F00F4B661 /* CredentialCocoa.mm */,
</span><span class="cx">                                 5C9B860B1C21E3C600110F36 /* NetworkLoadMetrics.mm */,
</span><ins>+                                51D1248A1E73625C002B2820 /* NetworkStorageSessionCocoa.mm */,
</ins><span class="cx">                                 372ADA37197F47B900FC501E /* ProtectionSpaceCocoa.h */,
</span><span class="cx">                                 372ADA39197F687600FC501E /* ProtectionSpaceCocoa.mm */,
</span><span class="cx">                                 7E7DE1FC195CEF260035363B /* ResourceRequestCocoa.mm */,
</span><span class="lines">@@ -30177,6 +30183,7 @@
</span><span class="cx">                                 CD52481A18E200ED0008A07D /* DisplaySleepDisabler.cpp in Sources */,
</span><span class="cx">                                 5D8C4DBF1428222C0026CE72 /* DisplaySleepDisablerCocoa.cpp in Sources */,
</span><span class="cx">                                 FD31609012B026F700C1A359 /* Distance.cpp in Sources */,
</span><ins>+                                51D1248B1E73627F002B2820 /* NetworkStorageSessionCocoa.mm in Sources */,
</ins><span class="cx">                                 A1E1154413015C3D0054AC8C /* DistantLightSource.cpp in Sources */,
</span><span class="cx">                                 B2F34FE90E82F82700F627CD /* DNSCFNet.cpp in Sources */,
</span><span class="cx">                                 F293B27E56C112F373FFF27E /* DNSResolveQueue.cpp in Sources */,
</span><span class="lines">@@ -32140,6 +32147,7 @@
</span><span class="cx">                                 BCAA90C30A7EBA60008B1229 /* Scrollbar.cpp in Sources */,
</span><span class="cx">                                 0F09087F1444FDB200028917 /* ScrollbarTheme.cpp in Sources */,
</span><span class="cx">                                 BC14028A0E83680800319717 /* ScrollbarThemeComposite.cpp in Sources */,
</span><ins>+                                51D1248D1E7364AA002B2820 /* CookieCocoa.mm in Sources */,
</ins><span class="cx">                                 44C991820F3D1E0D00586670 /* ScrollbarThemeIOS.mm in Sources */,
</span><span class="cx">                                 BCEF869F0E844E9D00A85CD5 /* ScrollbarThemeMac.mm in Sources */,
</span><span class="cx">                                 0FE71405142170B800DB33BA /* ScrollbarThemeMock.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderCookieJarcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/CookieJar.cpp (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/CookieJar.cpp        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebCore/loader/CookieJar.cpp        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -83,9 +83,4 @@
</span><span class="cx"> platformStrategies()->cookiesStrategy()->deleteCookie(storageSession(document), url, cookieName);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void addCookie(const Document& document, const URL& url, const Cookie& cookie)
-{
- platformStrategies()->cookiesStrategy()->addCookie(storageSession(document), url, cookie);
</del><span class="cx"> }
</span><del>-
-}
</del></span></pre></div>
<a id="trunkSourceWebCoreloaderCookieJarh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/CookieJar.h (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/CookieJar.h        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebCore/loader/CookieJar.h        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -45,6 +45,5 @@
</span><span class="cx"> WEBCORE_EXPORT String cookieRequestHeaderFieldValue(const Document&, const URL&);
</span><span class="cx"> WEBCORE_EXPORT bool getRawCookies(const Document&, const URL&, Vector<Cookie>&);
</span><span class="cx"> WEBCORE_EXPORT void deleteCookie(const Document&, const URL&, const String& cookieName);
</span><del>-WEBCORE_EXPORT void addCookie(const Document&, const URL&, const Cookie&);
</del><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformCookieh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/Cookie.h (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/Cookie.h        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebCore/platform/Cookie.h        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -29,49 +29,95 @@
</span><span class="cx"> #include <wtf/text/StringHash.h>
</span><span class="cx"> #include <wtf/text/WTFString.h>
</span><span class="cx">
</span><ins>+#ifdef __OBJC__
+#include <objc/objc.h>
+#endif
+
</ins><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>- struct Cookie {
- Cookie() { }
</del><ins>+struct Cookie {
+ Cookie() { }
</ins><span class="cx">
</span><del>- Cookie(const String& name, const String& value, const String& domain,
- const String& path, double expires, bool httpOnly, bool secure,
- bool session)
- : name(name)
- , value(value)
- , domain(domain)
- , path(path)
- , expires(expires)
- , httpOnly(httpOnly)
- , secure(secure)
- , session(session)
- {
- }
</del><ins>+ Cookie(const String& name, const String& value, const String& domain, const String& path, double expires, bool httpOnly, bool secure, bool session)
+ : name(name)
+ , value(value)
+ , domain(domain)
+ , path(path)
+ , expires(expires)
+ , httpOnly(httpOnly)
+ , secure(secure)
+ , session(session)
+ {
+ }
</ins><span class="cx">
</span><del>- String name;
- String value;
- String domain;
- String path;
- // Expiration date, expressed as milliseconds since the UNIX epoch.
- double expires;
- bool httpOnly;
- bool secure;
- bool session;
- };
</del><ins>+ template<class Encoder> void encode(Encoder&) const;
+ template<class Decoder> static bool decode(Decoder&, Cookie&);
</ins><span class="cx">
</span><del>- struct CookieHash {
- static unsigned hash(const Cookie& key)
- {
- return StringHash::hash(key.name) + StringHash::hash(key.domain) + StringHash::hash(key.path) + key.secure;
- }
</del><ins>+#ifdef __OBJC__
+ operator NSHTTPCookie *() const;
+#endif
</ins><span class="cx">
</span><del>- static bool equal(const Cookie& a, const Cookie& b)
- {
- return a.name == b.name && a.domain == b.domain && a.path == b.path && a.secure == b.secure;
- }
- };
</del><ins>+ String name;
+ String value;
+ String domain;
+ String path;
+ // Expiration date, expressed as milliseconds since the UNIX epoch.
+ double expires;
+ bool httpOnly;
+ bool secure;
+ bool session;
+};
+
+struct CookieHash {
+ static unsigned hash(const Cookie& key)
+ {
+ return StringHash::hash(key.name) + StringHash::hash(key.domain) + StringHash::hash(key.path) + key.secure;
+ }
+
+ static bool equal(const Cookie& a, const Cookie& b)
+ {
+ return a.name == b.name && a.domain == b.domain && a.path == b.path && a.secure == b.secure;
+ }
+};
+
+template<class Encoder>
+void Cookie::encode(Encoder& encoder) const
+{
+ encoder << name;
+ encoder << value;
+ encoder << domain;
+ encoder << path;
+ encoder << expires;
+ encoder << httpOnly;
+ encoder << secure;
+ encoder << session;
</ins><span class="cx"> }
</span><span class="cx">
</span><ins>+template<class Decoder>
+bool Cookie::decode(Decoder& decoder, Cookie& cookie)
+{
+ if (!decoder.decode(cookie.name))
+ return false;
+ if (!decoder.decode(cookie.value))
+ return false;
+ if (!decoder.decode(cookie.domain))
+ return false;
+ if (!decoder.decode(cookie.path))
+ return false;
+ if (!decoder.decode(cookie.expires))
+ return false;
+ if (!decoder.decode(cookie.httpOnly))
+ return false;
+ if (!decoder.decode(cookie.secure))
+ return false;
+ if (!decoder.decode(cookie.session))
+ return false;
+
+ return true;
+}
+
+}
+
</ins><span class="cx"> namespace WTF {
</span><span class="cx"> template<typename T> struct DefaultHash;
</span><span class="cx"> template<> struct DefaultHash<WebCore::Cookie> {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformCookiesStrategyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/CookiesStrategy.h (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/CookiesStrategy.h        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebCore/platform/CookiesStrategy.h        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -45,7 +45,6 @@
</span><span class="cx"> virtual String cookieRequestHeaderFieldValue(SessionID, const URL& firstParty, const URL&) = 0;
</span><span class="cx"> virtual bool getRawCookies(const NetworkStorageSession&, const URL& firstParty, const URL&, Vector<Cookie>&) = 0;
</span><span class="cx"> virtual void deleteCookie(const NetworkStorageSession&, const URL&, const String& cookieName) = 0;
</span><del>- virtual void addCookie(const NetworkStorageSession&, const URL&, const Cookie&) = 0;
</del><span class="cx">
</span><span class="cx"> protected:
</span><span class="cx"> virtual ~CookiesStrategy() { }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkNetworkStorageSessionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/NetworkStorageSession.h (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/NetworkStorageSession.h        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebCore/platform/network/NetworkStorageSession.h        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -41,6 +41,10 @@
</span><span class="cx"> typedef struct _SoupCookieJar SoupCookieJar;
</span><span class="cx"> #endif
</span><span class="cx">
</span><ins>+#ifdef __OBJC__
+#include <objc/objc.h>
+#endif
+
</ins><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> class NetworkingContext;
</span><span class="lines">@@ -47,6 +51,8 @@
</span><span class="cx"> class ResourceRequest;
</span><span class="cx"> class SoupNetworkSession;
</span><span class="cx">
</span><ins>+struct Cookie;
+
</ins><span class="cx"> class NetworkStorageSession {
</span><span class="cx"> WTF_MAKE_NONCOPYABLE(NetworkStorageSession); WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><span class="lines">@@ -61,6 +67,10 @@
</span><span class="cx"> SessionID sessionID() const { return m_sessionID; }
</span><span class="cx"> CredentialStorage& credentialStorage() { return m_credentialStorage; }
</span><span class="cx">
</span><ins>+#ifdef __OBJC__
+ NSHTTPCookieStorage *nsCookieStorage() const;
+#endif
+
</ins><span class="cx"> #if PLATFORM(COCOA) || USE(CFURLCONNECTION)
</span><span class="cx"> NetworkStorageSession(SessionID, RetainPtr<CFURLStorageSessionRef>);
</span><span class="cx">
</span><span class="lines">@@ -90,6 +100,8 @@
</span><span class="cx"> NetworkingContext* context() const;
</span><span class="cx"> #endif
</span><span class="cx">
</span><ins>+ WEBCORE_EXPORT void setCookies(const Vector<Cookie>&, const URL&, const URL& mainDocumentURL);
+
</ins><span class="cx"> private:
</span><span class="cx"> static HashMap<SessionID, std::unique_ptr<NetworkStorageSession>>& globalSessionMap();
</span><span class="cx"> SessionID m_sessionID;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkPlatformCookieJarh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/PlatformCookieJar.h (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/PlatformCookieJar.h        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebCore/platform/network/PlatformCookieJar.h        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -46,7 +46,6 @@
</span><span class="cx"> WEBCORE_EXPORT String cookieRequestHeaderFieldValue(const NetworkStorageSession&, const URL& firstParty, const URL&);
</span><span class="cx"> WEBCORE_EXPORT bool getRawCookies(const NetworkStorageSession&, const URL& firstParty, const URL&, Vector<Cookie>&);
</span><span class="cx"> WEBCORE_EXPORT void deleteCookie(const NetworkStorageSession&, const URL&, const String&);
</span><del>-WEBCORE_EXPORT void addCookie(const NetworkStorageSession&, const URL&, const Cookie&);
</del><span class="cx"> WEBCORE_EXPORT void getHostnamesWithCookies(const NetworkStorageSession&, HashSet<String>& hostnames);
</span><span class="cx"> WEBCORE_EXPORT void deleteCookiesForHostnames(const NetworkStorageSession&, const Vector<String>& cookieHostNames);
</span><span class="cx"> WEBCORE_EXPORT void deleteAllCookies(const NetworkStorageSession&);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkcfCookieJarCFNetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/cf/CookieJarCFNet.cpp (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/cf/CookieJarCFNet.cpp        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebCore/platform/network/cf/CookieJarCFNet.cpp        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -218,12 +218,6 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void addCookie(const NetworkStorageSession&, const URL&, const Cookie&)
-{
- // FIXME: implement this command. <https://webkit.org/b/156298>
- notImplemented();
-}
-
</del><span class="cx"> void getHostnamesWithCookies(const NetworkStorageSession& session, HashSet<String>& hostnames)
</span><span class="cx"> {
</span><span class="cx"> RetainPtr<CFArrayRef> cookiesCF = adoptCF(CFHTTPCookieStorageCopyCookies(session.cookieStorage().get()));
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkcfNetworkStorageSessionCFNetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/cf/NetworkStorageSessionCFNet.cpp (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/cf/NetworkStorageSessionCFNet.cpp        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebCore/platform/network/cf/NetworkStorageSessionCFNet.cpp        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -166,4 +166,11 @@
</span><span class="cx">
</span><span class="cx"> #endif // HAVE(CFNETWORK_STORAGE_PARTITIONING)
</span><span class="cx">
</span><ins>+#if !PLATFORM(COCOA)
+void NetworkStorageSession::setCookies(const Vector<Cookie>&, const URL&, const URL&)
+{
+ // FIXME: Implement this. <https://webkit.org/b/156298>
</ins><span class="cx"> }
</span><ins>+#endif
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkcocoaCookieCocoammfromrev213758trunkSourceWebCoreloaderCookieJarh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/platform/network/cocoa/CookieCocoa.mm (from rev 213758, trunk/Source/WebCore/loader/CookieJar.h) (0 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/cocoa/CookieCocoa.mm         (rev 0)
+++ trunk/Source/WebCore/platform/network/cocoa/CookieCocoa.mm        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -0,0 +1,53 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "config.h"
+#import "Cookie.h"
+
+#import <wtf/BlockObjCExceptions.h>
+
+namespace WebCore {
+
+Cookie::operator NSHTTPCookie *() const
+{
+ // FIXME: existing APIs do not provide a way to set httpOnly without parsing headers from scratch.
+
+ BEGIN_BLOCK_OBJC_EXCEPTIONS
+
+ return [NSHTTPCookie cookieWithProperties:@{
+ NSHTTPCookieName: name,
+ NSHTTPCookieValue: value,
+ NSHTTPCookieDomain: domain,
+ NSHTTPCookiePath: path,
+ NSHTTPCookieDomain: domain,
+ NSHTTPCookieSecure: @(secure),
+ NSHTTPCookieDiscard: @(session),
+ NSHTTPCookieExpires: [NSDate dateWithTimeIntervalSince1970:expires / 1000.0],
+ }];
+
+ END_BLOCK_OBJC_EXCEPTIONS
+}
+
+} // namespace WebCore
</ins></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkcocoaNetworkStorageSessionCocoammfromrev213758trunkSourceWebCoreloaderCookieJarh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm (from rev 213758, trunk/Source/WebCore/loader/CookieJar.h) (0 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm         (rev 0)
+++ trunk/Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -0,0 +1,55 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "config.h"
+#import "NetworkStorageSession.h"
+
+#import "Cookie.h"
+#import "URL.h"
+#import <wtf/BlockObjCExceptions.h>
+
+namespace WebCore {
+
+void NetworkStorageSession::setCookies(const Vector<Cookie>& cookies, const URL& url, const URL& mainDocumentURL)
+{
+ RetainPtr<NSMutableArray> nsCookies = adoptNS([[NSMutableArray alloc] initWithCapacity:cookies.size()]);
+ for (auto cookie : cookies)
+ [nsCookies addObject:(NSHTTPCookie *)cookie];
+
+ BEGIN_BLOCK_OBJC_EXCEPTIONS;
+ [nsCookieStorage() setCookies:nsCookies.get() forURL:(NSURL *)url mainDocumentURL:(NSURL *)mainDocumentURL];
+ END_BLOCK_OBJC_EXCEPTIONS;
+}
+
+NSHTTPCookieStorage *NetworkStorageSession::nsCookieStorage() const
+{
+ auto cfCookieStorage = cookieStorage();
+ if (!cfCookieStorage || [NSHTTPCookieStorage sharedHTTPCookieStorage]._cookieStorage == cfCookieStorage)
+ return [NSHTTPCookieStorage sharedHTTPCookieStorage];
+
+ return [[[NSHTTPCookieStorage alloc] _initWithCFHTTPCookieStorage:cfCookieStorage.get()] autorelease];
+}
+
+} // namespace WebCore
</ins></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkcurlCookieJarCurlcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/curl/CookieJarCurl.cpp (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/curl/CookieJarCurl.cpp        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebCore/platform/network/curl/CookieJarCurl.cpp        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -332,12 +332,6 @@
</span><span class="cx"> // FIXME: Not yet implemented
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void addCookie(const NetworkStorageSession&, const URL&, const Cookie&)
-{
- // FIXME: implement this command. <https://webkit.org/b/156296>
- notImplemented();
-}
-
</del><span class="cx"> void getHostnamesWithCookies(const NetworkStorageSession&, HashSet<String>& hostnames)
</span><span class="cx"> {
</span><span class="cx"> // FIXME: Not yet implemented
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkmacCookieJarMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/mac/CookieJarMac.mm (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/mac/CookieJarMac.mm        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebCore/platform/network/mac/CookieJarMac.mm        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -31,10 +31,6 @@
</span><span class="cx"> #import "WebCoreSystemInterface.h"
</span><span class="cx"> #import <wtf/BlockObjCExceptions.h>
</span><span class="cx">
</span><del>-namespace WebCore {
-static NSHTTPCookieStorage *cookieStorage(const NetworkStorageSession&);
-}
-
</del><span class="cx"> #if !USE(CFURLCONNECTION)
</span><span class="cx">
</span><span class="cx"> #import "Cookie.h"
</span><span class="lines">@@ -260,38 +256,6 @@
</span><span class="cx"> END_BLOCK_OBJC_EXCEPTIONS;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void addCookie(const NetworkStorageSession& session, const URL& url, const Cookie& cookie)
-{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
-
- RetainPtr<CFHTTPCookieStorageRef> cookieStorage = session.cookieStorage();
-
- // FIXME: existing APIs do not provide a way to set httpOnly without parsing headers from scratch.
-
- NSURL *originURL = url;
- NSHTTPCookie *httpCookie = [NSHTTPCookie cookieWithProperties:@{
- NSHTTPCookieName: cookie.name,
- NSHTTPCookieValue: cookie.value,
- NSHTTPCookieDomain: cookie.domain,
- NSHTTPCookiePath: cookie.path,
- NSHTTPCookieOriginURL: originURL,
- NSHTTPCookieSecure: @(cookie.secure),
- NSHTTPCookieDiscard: @(cookie.session),
- NSHTTPCookieExpires: [NSDate dateWithTimeIntervalSince1970:cookie.expires / 1000.0],
- }];
-
-#if !USE(CFURLCONNECTION)
- if (!cookieStorage) {
- [WebCore::cookieStorage(session) setCookie:httpCookie];
- return;
- }
-#endif // !USE(CFURLCONNECTION)
-
- CFHTTPCookieStorageSetCookie(cookieStorage.get(), [httpCookie _CFHTTPCookie]);
-
- END_BLOCK_OBJC_EXCEPTIONS;
-}
-
</del><span class="cx"> void getHostnamesWithCookies(const NetworkStorageSession& session, HashSet<String>& hostnames)
</span><span class="cx"> {
</span><span class="cx"> BEGIN_BLOCK_OBJC_EXCEPTIONS;
</span><span class="lines">@@ -315,15 +279,6 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-static NSHTTPCookieStorage *cookieStorage(const NetworkStorageSession& session)
-{
- auto cookieStorage = session.cookieStorage();
- if (!cookieStorage || [NSHTTPCookieStorage sharedHTTPCookieStorage]._cookieStorage == cookieStorage)
- return [NSHTTPCookieStorage sharedHTTPCookieStorage];
-
- return [[[NSHTTPCookieStorage alloc] _initWithCFHTTPCookieStorage:cookieStorage.get()] autorelease];
-}
-
</del><span class="cx"> void deleteCookiesForHostnames(const NetworkStorageSession& session, const Vector<String>& hostnames)
</span><span class="cx"> {
</span><span class="cx"> BEGIN_BLOCK_OBJC_EXCEPTIONS;
</span><span class="lines">@@ -348,7 +303,7 @@
</span><span class="cx"> wkDeleteHTTPCookie(cookieStorage.get(), cookie.get());
</span><span class="cx"> }
</span><span class="cx">
</span><del>- [WebCore::cookieStorage(session) _saveCookies];
</del><ins>+ [session.nsCookieStorage() _saveCookies];
</ins><span class="cx">
</span><span class="cx"> END_BLOCK_OBJC_EXCEPTIONS;
</span><span class="cx"> }
</span><span class="lines">@@ -361,7 +316,7 @@
</span><span class="cx"> NSTimeInterval timeInterval = std::chrono::duration_cast<std::chrono::duration<double>>(timePoint.time_since_epoch()).count();
</span><span class="cx"> NSDate *date = [NSDate dateWithTimeIntervalSince1970:timeInterval];
</span><span class="cx">
</span><del>- NSHTTPCookieStorage *storage = cookieStorage(session);
</del><ins>+ auto *storage = session.nsCookieStorage();
</ins><span class="cx">
</span><span class="cx"> [storage removeCookiesSinceDate:date];
</span><span class="cx"> [storage _saveCookies];
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworksoupCookieJarSoupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/soup/CookieJarSoup.cpp (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/soup/CookieJarSoup.cpp        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebCore/platform/network/soup/CookieJarSoup.cpp        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -144,33 +144,6 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static SoupDate* msToSoupDate(double ms)
-{
- int year = msToYear(ms);
- int dayOfYear = dayInYear(ms, year);
- bool leapYear = isLeapYear(year);
- return soup_date_new(year, monthFromDayInYear(dayOfYear, leapYear), dayInMonthFromDayInYear(dayOfYear, leapYear), msToHours(ms), msToMinutes(ms), static_cast<int>(ms / 1000) % 60);
-}
-
-static SoupCookie* toSoupCookie(const Cookie& cookie)
-{
- SoupCookie* soupCookie = soup_cookie_new(cookie.name.utf8().data(), cookie.value.utf8().data(),
- cookie.domain.utf8().data(), cookie.path.utf8().data(), -1);
- soup_cookie_set_http_only(soupCookie, cookie.httpOnly);
- soup_cookie_set_secure(soupCookie, cookie.secure);
- if (!cookie.session) {
- SoupDate* date = msToSoupDate(cookie.expires);
- soup_cookie_set_expires(soupCookie, date);
- soup_date_free(date);
- }
- return soupCookie;
-}
-
-void addCookie(const NetworkStorageSession& session, const URL&, const Cookie& cookie)
-{
- soup_cookie_jar_add_cookie(session.cookieStorage(), toSoupCookie(cookie));
-}
-
</del><span class="cx"> void getHostnamesWithCookies(const NetworkStorageSession& session, HashSet<String>& hostnames)
</span><span class="cx"> {
</span><span class="cx"> GUniquePtr<GSList> cookies(soup_cookie_jar_all_cookies(session.cookieStorage()));
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworksoupNetworkStorageSessionSoupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -30,9 +30,11 @@
</span><span class="cx">
</span><span class="cx"> #if USE(SOUP)
</span><span class="cx">
</span><ins>+#include "Cookie.h"
</ins><span class="cx"> #include "ResourceHandle.h"
</span><span class="cx"> #include "SoupNetworkSession.h"
</span><span class="cx"> #include <libsoup/soup.h>
</span><ins>+#include <wtf/DateMath.h>
</ins><span class="cx"> #include <wtf/MainThread.h>
</span><span class="cx"> #include <wtf/NeverDestroyed.h>
</span><span class="cx"> #include <wtf/glib/GUniquePtr.h>
</span><span class="lines">@@ -274,6 +276,35 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+static SoupDate* msToSoupDate(double ms)
+{
+ int year = msToYear(ms);
+ int dayOfYear = dayInYear(ms, year);
+ bool leapYear = isLeapYear(year);
+ return soup_date_new(year, monthFromDayInYear(dayOfYear, leapYear), dayInMonthFromDayInYear(dayOfYear, leapYear), msToHours(ms), msToMinutes(ms), static_cast<int>(ms / 1000) % 60);
+}
+
+static SoupCookie* toSoupCookie(const Cookie& cookie)
+{
+ SoupCookie* soupCookie = soup_cookie_new(cookie.name.utf8().data(), cookie.value.utf8().data(),
+ cookie.domain.utf8().data(), cookie.path.utf8().data(), -1);
+ soup_cookie_set_http_only(soupCookie, cookie.httpOnly);
+ soup_cookie_set_secure(soupCookie, cookie.secure);
+ if (!cookie.session) {
+ SoupDate* date = msToSoupDate(cookie.expires);
+ soup_cookie_set_expires(soupCookie, date);
+ soup_date_free(date);
+ }
+ return soupCookie;
+}
+
+void NetworkStorageSession::setCookies(const Vector<Cookie>& cookies, const URL&, const URL&)
+{
+ for (auto cookie : cookies)
+ soup_cookie_jar_add_cookie(cookieStorage(), toSoupCookie(cookie));
+}
+
+
</ins><span class="cx"> } // namespace WebCore
</span><span class="cx">
</span><span class="cx"> #endif // USE(SOUP)
</span></span></pre></div>
<a id="trunkSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/ChangeLog (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/ChangeLog        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebKit/mac/ChangeLog        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -1,3 +1,14 @@
</span><ins>+2017-03-11 Brady Eidson <beidson@apple.com>
+
+ Cleanup "addCookie" and its sole user.
+ https://bugs.webkit.org/show_bug.cgi?id=169486
+
+ Reviewed by Brian Burg.
+
+ * WebCoreSupport/WebPlatformStrategies.h:
+ * WebCoreSupport/WebPlatformStrategies.mm:
+ (WebPlatformStrategies::addCookie): Deleted.
+
</ins><span class="cx"> 2017-03-10 Alex Christensen <achristensen@webkit.org>
</span><span class="cx">
</span><span class="cx"> Fix watch and tv builds after r213294
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebCoreSupportWebPlatformStrategiesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebPlatformStrategies.h (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebCoreSupport/WebPlatformStrategies.h        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebPlatformStrategies.h        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -55,7 +55,6 @@
</span><span class="cx"> String cookieRequestHeaderFieldValue(WebCore::SessionID, const WebCore::URL& firstParty, const WebCore::URL&) override;
</span><span class="cx"> bool getRawCookies(const WebCore::NetworkStorageSession&, const WebCore::URL& firstParty, const WebCore::URL&, Vector<WebCore::Cookie>&) override;
</span><span class="cx"> void deleteCookie(const WebCore::NetworkStorageSession&, const WebCore::URL&, const String&) override;
</span><del>- void addCookie(const WebCore::NetworkStorageSession&, const WebCore::URL&, const WebCore::Cookie&) override;
</del><span class="cx">
</span><span class="cx"> // WebCore::PasteboardStrategy
</span><span class="cx"> #if PLATFORM(IOS)
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebCoreSupportWebPlatformStrategiesmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebPlatformStrategies.mm (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebCoreSupport/WebPlatformStrategies.mm        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebPlatformStrategies.mm        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -110,11 +110,6 @@
</span><span class="cx"> WebCore::deleteCookie(session, url, cookieName);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebPlatformStrategies::addCookie(const NetworkStorageSession& session, const URL& url, const Cookie& cookie)
-{
- WebCore::addCookie(session, url, cookie);
-}
-
</del><span class="cx"> void WebPlatformStrategies::getTypes(Vector<String>& types, const String& pasteboardName)
</span><span class="cx"> {
</span><span class="cx"> PlatformPasteboard(pasteboardName).getTypes(types);
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebKit2/ChangeLog        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -1,3 +1,38 @@
</span><ins>+2017-03-11 Brady Eidson <beidson@apple.com>
+
+ Cleanup "addCookie" and its sole user.
+ https://bugs.webkit.org/show_bug.cgi?id=169486
+
+ Reviewed by Brian Burg.
+
+ * NetworkProcess/NetworkConnectionToWebProcess.cpp:
+ (WebKit::NetworkConnectionToWebProcess::addCookie): Deleted.
+ * NetworkProcess/NetworkConnectionToWebProcess.h:
+ * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
+
+ * Shared/WebCoreArgumentCoders.cpp:
+ (IPC::ArgumentCoder<Cookie>::encode): Deleted.
+ (IPC::ArgumentCoder<Cookie>::decode): Deleted.
+ * Shared/WebCoreArgumentCoders.h:
+
+ * UIProcess/Automation/WebAutomationSession.cpp:
+ (WebKit::WebAutomationSession::addSingleCookie):
+
+ * UIProcess/WebCookieManagerProxy.cpp:
+ (WebKit::WebCookieManagerProxy::setCookies):
+ (WebKit::WebCookieManagerProxy::addCookie): Deleted.
+ * UIProcess/WebCookieManagerProxy.h:
+
+ * WebProcess/Cookies/WebCookieManager.cpp:
+ (WebKit::WebCookieManager::setCookies):
+ (WebKit::WebCookieManager::addCookie): Deleted.
+ * WebProcess/Cookies/WebCookieManager.h:
+ * WebProcess/Cookies/WebCookieManager.messages.in:
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::addCookie): Deleted.
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+
</ins><span class="cx"> 2017-03-10 Alex Christensen <achristensen@webkit.org>
</span><span class="cx">
</span><span class="cx"> Fix watch and tv builds after r213294
</span></span></pre></div>
<a id="trunkSourceWebKit2NetworkProcessNetworkConnectionToWebProcesscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -279,11 +279,6 @@
</span><span class="cx"> WebCore::deleteCookie(storageSession(sessionID), url, cookieName);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void NetworkConnectionToWebProcess::addCookie(SessionID sessionID, const URL& url, const Cookie& cookie)
-{
- WebCore::addCookie(storageSession(sessionID), url, cookie);
-}
-
</del><span class="cx"> void NetworkConnectionToWebProcess::registerFileBlobURL(const URL& url, const String& path, const SandboxExtension::Handle& extensionHandle, const String& contentType)
</span><span class="cx"> {
</span><span class="cx"> RefPtr<SandboxExtension> extension = SandboxExtension::create(extensionHandle);
</span></span></pre></div>
<a id="trunkSourceWebKit2NetworkProcessNetworkConnectionToWebProcessh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.h (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.h        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.h        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -91,7 +91,6 @@
</span><span class="cx"> void cookieRequestHeaderFieldValue(WebCore::SessionID, const WebCore::URL& firstParty, const WebCore::URL&, String& result);
</span><span class="cx"> void getRawCookies(WebCore::SessionID, const WebCore::URL& firstParty, const WebCore::URL&, Vector<WebCore::Cookie>&);
</span><span class="cx"> void deleteCookie(WebCore::SessionID, const WebCore::URL&, const String& cookieName);
</span><del>- void addCookie(WebCore::SessionID, const WebCore::URL&, const WebCore::Cookie&);
</del><span class="cx">
</span><span class="cx"> void registerFileBlobURL(const WebCore::URL&, const String& path, const SandboxExtension::Handle&, const String& contentType);
</span><span class="cx"> void registerBlobURL(const WebCore::URL&, Vector<WebCore::BlobPart>&&, const String& contentType);
</span></span></pre></div>
<a id="trunkSourceWebKit2NetworkProcessNetworkConnectionToWebProcessmessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.messages.in (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.messages.in        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.messages.in        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -38,7 +38,6 @@
</span><span class="cx"> CookieRequestHeaderFieldValue(WebCore::SessionID sessionID, WebCore::URL firstParty, WebCore::URL url) -> (String result)
</span><span class="cx"> GetRawCookies(WebCore::SessionID sessionID, WebCore::URL firstParty, WebCore::URL url) -> (Vector<WebCore::Cookie> cookies)
</span><span class="cx"> DeleteCookie(WebCore::SessionID sessionID, WebCore::URL url, String cookieName)
</span><del>- AddCookie(WebCore::SessionID sessionID, WebCore::URL url, struct WebCore::Cookie cookie)
</del><span class="cx">
</span><span class="cx"> RegisterFileBlobURL(WebCore::URL url, String path, WebKit::SandboxExtension::Handle extensionHandle, String contentType)
</span><span class="cx"> RegisterBlobURL(WebCore::URL url, Vector<WebCore::BlobPart> blobParts, String contentType)
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedWebCoreArgumentCoderscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -31,7 +31,6 @@
</span><span class="cx"> #include <WebCore/AuthenticationChallenge.h>
</span><span class="cx"> #include <WebCore/BlobPart.h>
</span><span class="cx"> #include <WebCore/CertificateInfo.h>
</span><del>-#include <WebCore/Cookie.h>
</del><span class="cx"> #include <WebCore/Credential.h>
</span><span class="cx"> #include <WebCore/Cursor.h>
</span><span class="cx"> #include <WebCore/DatabaseDetails.h>
</span><span class="lines">@@ -1284,41 +1283,6 @@
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-
-void ArgumentCoder<Cookie>::encode(Encoder& encoder, const Cookie& cookie)
-{
- encoder << cookie.name;
- encoder << cookie.value;
- encoder << cookie.domain;
- encoder << cookie.path;
- encoder << cookie.expires;
- encoder << cookie.httpOnly;
- encoder << cookie.secure;
- encoder << cookie.session;
-}
-
-bool ArgumentCoder<Cookie>::decode(Decoder& decoder, Cookie& cookie)
-{
- if (!decoder.decode(cookie.name))
- return false;
- if (!decoder.decode(cookie.value))
- return false;
- if (!decoder.decode(cookie.domain))
- return false;
- if (!decoder.decode(cookie.path))
- return false;
- if (!decoder.decode(cookie.expires))
- return false;
- if (!decoder.decode(cookie.httpOnly))
- return false;
- if (!decoder.decode(cookie.secure))
- return false;
- if (!decoder.decode(cookie.session))
- return false;
-
- return true;
-}
-
</del><span class="cx"> void ArgumentCoder<DatabaseDetails>::encode(Encoder& encoder, const DatabaseDetails& details)
</span><span class="cx"> {
</span><span class="cx"> encoder << details.name();
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedWebCoreArgumentCodersh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.h (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.h        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.h        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -83,7 +83,6 @@
</span><span class="cx"> class UserScript;
</span><span class="cx"> class URL;
</span><span class="cx"> struct CompositionUnderline;
</span><del>-struct Cookie;
</del><span class="cx"> struct DictationAlternative;
</span><span class="cx"> struct DictionaryPopupInfo;
</span><span class="cx"> struct EventTrackingRegions;
</span><span class="lines">@@ -405,11 +404,6 @@
</span><span class="cx"> static bool decode(Decoder&, WebCore::CompositionUnderline&);
</span><span class="cx"> };
</span><span class="cx">
</span><del>-template<> struct ArgumentCoder<WebCore::Cookie> {
- static void encode(Encoder&, const WebCore::Cookie&);
- static bool decode(Decoder&, WebCore::Cookie&);
-};
-
</del><span class="cx"> template<> struct ArgumentCoder<WebCore::DatabaseDetails> {
</span><span class="cx"> static void encode(Encoder&, const WebCore::DatabaseDetails&);
</span><span class="cx"> static bool decode(Decoder&, WebCore::DatabaseDetails&);
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAutomationWebAutomationSessioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Automation/WebAutomationSession.cpp (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Automation/WebAutomationSession.cpp        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebKit2/UIProcess/Automation/WebAutomationSession.cpp        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -727,8 +727,11 @@
</span><span class="cx"> FAIL_WITH_PREDEFINED_ERROR_AND_DETAILS(MissingParameter, "The parameter 'httpOnly' was not found.");
</span><span class="cx">
</span><span class="cx"> WebCookieManagerProxy* cookieManager = m_processPool->supplement<WebCookieManagerProxy>();
</span><del>- cookieManager->addCookie(WebCore::SessionID::defaultSessionID(), cookie, activeURL.host());
</del><span class="cx">
</span><ins>+ // FIXME: Using activeURL here twice is basically saying "this is always in the context of the main document"
+ // which probably isn't accurate.
+ cookieManager->setCookies(WebCore::SessionID::defaultSessionID(), { cookie }, activeURL, activeURL);
+
</ins><span class="cx"> callback->sendSuccess();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebCookieManagerProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -129,9 +129,9 @@
</span><span class="cx"> processPool()->sendToNetworkingProcessRelaunchingIfNecessary(Messages::WebCookieManager::DeleteAllCookiesModifiedSince(sessionID, time));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebCookieManagerProxy::addCookie(WebCore::SessionID sessionID, const WebCore::Cookie& cookie, const String& hostname)
</del><ins>+void WebCookieManagerProxy::setCookies(WebCore::SessionID sessionID, const Vector<WebCore::Cookie>& cookies, const WebCore::URL& url, const WebCore::URL& mainDocumentURL)
</ins><span class="cx"> {
</span><del>- processPool()->sendToNetworkingProcessRelaunchingIfNecessary(Messages::WebCookieManager::AddCookie(sessionID, cookie, hostname));
</del><ins>+ processPool()->sendToNetworkingProcessRelaunchingIfNecessary(Messages::WebCookieManager::SetCookies(sessionID, cookies, url, mainDocumentURL));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebCookieManagerProxy::startObservingCookieChanges(WebCore::SessionID sessionID)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebCookieManagerProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebCookieManagerProxy.h (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebCookieManagerProxy.h        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebKit2/UIProcess/WebCookieManagerProxy.h        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -69,8 +69,9 @@
</span><span class="cx"> void deleteCookiesForHostname(WebCore::SessionID, const String& hostname);
</span><span class="cx"> void deleteAllCookies(WebCore::SessionID);
</span><span class="cx"> void deleteAllCookiesModifiedSince(WebCore::SessionID, std::chrono::system_clock::time_point);
</span><del>- void addCookie(WebCore::SessionID, const WebCore::Cookie&, const String& hostname);
</del><span class="cx">
</span><ins>+ void setCookies(WebCore::SessionID, const Vector<WebCore::Cookie>&, const WebCore::URL&, const WebCore::URL& mainDocumentURL);
+
</ins><span class="cx"> void setHTTPCookieAcceptPolicy(HTTPCookieAcceptPolicy);
</span><span class="cx"> void getHTTPCookieAcceptPolicy(std::function<void (HTTPCookieAcceptPolicy, CallbackBase::Error)>);
</span><span class="cx"> void setCookieStoragePartitioningEnabled(bool);
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessCookiesWebCookieManagercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.cpp (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.cpp        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.cpp        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx"> #include "WebCookieManagerMessages.h"
</span><span class="cx"> #include "WebCookieManagerProxyMessages.h"
</span><span class="cx"> #include "WebCoreArgumentCoders.h"
</span><ins>+#include <WebCore/Cookie.h>
</ins><span class="cx"> #include <WebCore/CookieStorage.h>
</span><span class="cx"> #include <WebCore/NetworkStorageSession.h>
</span><span class="cx"> #include <WebCore/PlatformCookieJar.h>
</span><span class="lines">@@ -83,10 +84,10 @@
</span><span class="cx"> WebCore::deleteAllCookiesModifiedSince(*storageSession, time);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebCookieManager::addCookie(SessionID sessionID, const Cookie& cookie, const String& hostname)
</del><ins>+void WebCookieManager::setCookies(WebCore::SessionID sessionID, const Vector<Cookie>& cookies, const URL& url, const URL& mainDocumentURL)
</ins><span class="cx"> {
</span><span class="cx"> if (auto* storageSession = NetworkStorageSession::storageSession(sessionID))
</span><del>- WebCore::addCookie(*storageSession, URL(URL(), hostname), cookie);
</del><ins>+ storageSession->setCookies(cookies, url, mainDocumentURL);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebCookieManager::notifyCookiesDidChange(SessionID sessionID)
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessCookiesWebCookieManagerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.h (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.h        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.h        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -34,6 +34,7 @@
</span><span class="cx"> #include <stdint.h>
</span><span class="cx"> #include <wtf/Forward.h>
</span><span class="cx"> #include <wtf/Noncopyable.h>
</span><ins>+#include <wtf/Vector.h>
</ins><span class="cx">
</span><span class="cx"> #if USE(SOUP)
</span><span class="cx"> #include "SoupCookiePersistentStorageType.h"
</span><span class="lines">@@ -40,6 +41,7 @@
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><ins>+class URL;
</ins><span class="cx"> struct Cookie;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -69,8 +71,9 @@
</span><span class="cx"> void deleteCookiesForHostname(WebCore::SessionID, const String&);
</span><span class="cx"> void deleteAllCookies(WebCore::SessionID);
</span><span class="cx"> void deleteAllCookiesModifiedSince(WebCore::SessionID, std::chrono::system_clock::time_point);
</span><del>- void addCookie(WebCore::SessionID, const WebCore::Cookie&, const String& hostname);
</del><span class="cx">
</span><ins>+ void setCookies(WebCore::SessionID, const Vector<WebCore::Cookie>&, const WebCore::URL&, const WebCore::URL& mainDocumentURL);
+
</ins><span class="cx"> void platformSetHTTPCookieAcceptPolicy(HTTPCookieAcceptPolicy);
</span><span class="cx"> void getHTTPCookieAcceptPolicy(uint64_t callbackID);
</span><span class="cx"> HTTPCookieAcceptPolicy platformGetHTTPCookieAcceptPolicy();
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessCookiesWebCookieManagermessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.messages.in (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.messages.in        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.messages.in        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -28,8 +28,9 @@
</span><span class="cx"> void DeleteCookiesForHostname(WebCore::SessionID sessionID, String hostname)
</span><span class="cx"> void DeleteAllCookies(WebCore::SessionID sessionID)
</span><span class="cx"> void DeleteAllCookiesModifiedSince(WebCore::SessionID sessionID, std::chrono::system_clock::time_point time)
</span><del>- void AddCookie(WebCore::SessionID sessionID, struct WebCore::Cookie cookie, String hostname)
</del><span class="cx">
</span><ins>+ void SetCookies(WebCore::SessionID sessionID, Vector<WebCore::Cookie> cookies, WebCore::URL url, WebCore::URL mainDocumentURL);
+
</ins><span class="cx"> void SetHTTPCookieAcceptPolicy(uint32_t policy)
</span><span class="cx"> void GetHTTPCookieAcceptPolicy(uint64_t callbackID)
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportWebPlatformStrategiescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -155,11 +155,6 @@
</span><span class="cx"> WebProcess::singleton().networkConnection().connection().send(Messages::NetworkConnectionToWebProcess::DeleteCookie(session.sessionID(), url, cookieName), 0);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebPlatformStrategies::addCookie(const NetworkStorageSession& session, const URL& url, const Cookie& cookie)
-{
- WebProcess::singleton().networkConnection().connection().send(Messages::NetworkConnectionToWebProcess::AddCookie(session.sessionID(), url, cookie), 0);
-}
-
</del><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx"> // PasteboardStrategy
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportWebPlatformStrategiesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.h (213758 => 213759)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.h        2017-03-11 13:57:13 UTC (rev 213758)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.h        2017-03-11 16:44:00 UTC (rev 213759)
</span><span class="lines">@@ -56,7 +56,6 @@
</span><span class="cx"> String cookieRequestHeaderFieldValue(WebCore::SessionID, const WebCore::URL& firstParty, const WebCore::URL&) override;
</span><span class="cx"> bool getRawCookies(const WebCore::NetworkStorageSession&, const WebCore::URL& firstParty, const WebCore::URL&, Vector<WebCore::Cookie>&) override;
</span><span class="cx"> void deleteCookie(const WebCore::NetworkStorageSession&, const WebCore::URL&, const String&) override;
</span><del>- void addCookie(const WebCore::NetworkStorageSession&, const WebCore::URL&, const WebCore::Cookie&) override;
</del><span class="cx">
</span><span class="cx"> // WebCore::PasteboardStrategy
</span><span class="cx"> #if PLATFORM(IOS)
</span></span></pre>
</div>
</div>
</body>
</html>