Title: [189101] trunk/Source/WebCore
Revision
189101
Author
beid...@apple.com
Date
2015-08-28 10:14:11 -0700 (Fri, 28 Aug 2015)

Log Message

Use new CFNetwork cookie jar SPI only on El Capitan.
https://bugs.webkit.org/show_bug.cgi?id=148574 and rdar://problem/22460752

Reviewed by David Kilzer.

* platform/network/mac/CookieJarMac.mm:
(WebCore::setCookiesFromDOM): Use OS X version to decide which API/SPI to use.
* platform/spi/cf/CFNetworkSPI.h: Forward declare the SPI

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (189100 => 189101)


--- trunk/Source/WebCore/ChangeLog	2015-08-28 16:45:04 UTC (rev 189100)
+++ trunk/Source/WebCore/ChangeLog	2015-08-28 17:14:11 UTC (rev 189101)
@@ -1,3 +1,14 @@
+2015-08-28  Brady Eidson  <beid...@apple.com>
+
+        Use new CFNetwork cookie jar SPI only on El Capitan.
+        https://bugs.webkit.org/show_bug.cgi?id=148574 and rdar://problem/22460752
+
+        Reviewed by David Kilzer.
+
+        * platform/network/mac/CookieJarMac.mm:
+        (WebCore::setCookiesFromDOM): Use OS X version to decide which API/SPI to use.
+        * platform/spi/cf/CFNetworkSPI.h: Forward declare the SPI
+
 2015-08-27  Myles C. Maxfield  <mmaxfi...@apple.com>
 
         [Cocoa] Draw fonts at their native sizes instead of scaling a 1pt font

Modified: trunk/Source/WebCore/platform/network/mac/CookieJarMac.mm (189100 => 189101)


--- trunk/Source/WebCore/platform/network/mac/CookieJarMac.mm	2015-08-28 16:45:04 UTC (rev 189100)
+++ trunk/Source/WebCore/platform/network/mac/CookieJarMac.mm	2015-08-28 17:14:11 UTC (rev 189101)
@@ -120,14 +120,11 @@
     NSURL *cookieURL = url;
     NSDictionary *headerFields = [NSDictionary dictionaryWithObject:cookieString forKey:@"Set-Cookie"];
 
-    NSArray *unfilteredCookies;
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wundeclared-selector"
-    if ([[NSHTTPCookie class] respondsToSelector:@selector(_parsedCookiesWithResponseHeaderFields:forURL:)])
-        unfilteredCookies = [NSHTTPCookie performSelector:@selector(_parsedCookiesWithResponseHeaderFields:forURL:) withObject:headerFields withObject:cookieURL];
-#pragma clang diagnostic pop
-    else
-        unfilteredCookies = [NSHTTPCookie cookiesWithResponseHeaderFields:headerFields forURL:cookieURL];
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100
+    NSArray *unfilteredCookies = [NSHTTPCookie _parsedCookiesWithResponseHeaderFields:headerFields forURL:cookieURL];
+#else
+    NSArray *unfilteredCookies = [NSHTTPCookie cookiesWithResponseHeaderFields:headerFields forURL:cookieURL];
+#endif
 
     RetainPtr<NSArray> filteredCookies = filterCookies(unfilteredCookies);
     ASSERT([filteredCookies.get() count] <= 1);

Modified: trunk/Source/WebCore/platform/spi/cf/CFNetworkSPI.h (189100 => 189101)


--- trunk/Source/WebCore/platform/spi/cf/CFNetworkSPI.h	2015-08-28 16:45:04 UTC (rev 189100)
+++ trunk/Source/WebCore/platform/spi/cf/CFNetworkSPI.h	2015-08-28 17:14:11 UTC (rev 189101)
@@ -129,6 +129,12 @@
 
 #if defined(__OBJC__)
 
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100
+@interface NSHTTPCookie ()
++ (NSArray *)_parsedCookiesWithResponseHeaderFields:(NSDictionary *)headerFields forURL:(NSURL *)aURL;
+@end
+#endif
+
 #if !USE(APPLE_INTERNAL_SDK) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED == 1090)
 @interface NSHTTPCookieStorage ()
 - (void)removeCookiesSinceDate:(NSDate *)date;
@@ -144,6 +150,6 @@
 + (void)_setSharedHTTPCookieStorage:(NSHTTPCookieStorage *)storage;
 @end
 #endif
-#endif
+#endif // defined(__OBJC__)
 
 #endif // CFNetworkSPI_h
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to