webKitCookieStorageCopyRequestHeaderFieldsForURL builds an empty Cookie header when there are no cookies
https://bugs.webkit.org/show_bug.cgi?id=128201

Reviewed by Sam Weinig.

* Shared/mac/CookieStorageShim.mm: (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL):
Return null when NetworkProcess provided a null string, don't build a header dictionary
with an empty Cookie value.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163409 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebKit2/ChangeLog b/Source/WebKit2/ChangeLog
index 74befe9..ab6a4a9 100644
--- a/Source/WebKit2/ChangeLog
+++ b/Source/WebKit2/ChangeLog
@@ -1,3 +1,14 @@
+2014-02-04  Alexey Proskuryakov  <ap@apple.com>
+
+        webKitCookieStorageCopyRequestHeaderFieldsForURL builds an empty Cookie header when there are no cookies
+        https://bugs.webkit.org/show_bug.cgi?id=128201
+
+        Reviewed by Sam Weinig.
+
+        * Shared/mac/CookieStorageShim.mm: (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL):
+        Return null when NetworkProcess provided a null string, don't build a header dictionary
+        with an empty Cookie value.
+
 2014-02-04  Anders Carlsson  <andersca@apple.com>
 
         Add a WKNavigationAction object
diff --git a/Source/WebKit2/Shared/mac/CookieStorageShim.mm b/Source/WebKit2/Shared/mac/CookieStorageShim.mm
index c1baabc..c6d705f 100644
--- a/Source/WebKit2/Shared/mac/CookieStorageShim.mm
+++ b/Source/WebKit2/Shared/mac/CookieStorageShim.mm
@@ -61,6 +61,9 @@
     if (!WebProcess::shared().networkConnection()->connection()->sendSync(Messages::NetworkConnectionToWebProcess::CookieRequestHeaderFieldValue(SessionTracker::defaultSessionID, firstPartyForCookiesURL, inRequestURL), Messages::NetworkConnectionToWebProcess::CookiesForDOM::Reply(cookies), 0))
         return 0;
 
+    if (cookies.isNull())
+        return 0;
+
     RetainPtr<CFStringRef> cfCookies = cookies.createCFString();
     static const void* cookieKeys[] = { CFSTR("Cookie") };
     const void* cookieValues[] = { cfCookies.get() };