Diff
Modified: trunk/Source/WebCore/ChangeLog (184210 => 184211)
--- trunk/Source/WebCore/ChangeLog 2015-05-12 19:29:42 UTC (rev 184210)
+++ trunk/Source/WebCore/ChangeLog 2015-05-12 19:37:31 UTC (rev 184211)
@@ -1,3 +1,15 @@
+2015-05-08 Alexey Proskuryakov <[email protected]>
+
+ [Mac] Share cookie storage between UI process and secondary processes
+ https://bugs.webkit.org/show_bug.cgi?id=144820
+ rdar://problem/20572830
+
+ Reviewed by Darin Adler.
+
+ * platform/network/mac/CookieJarMac.mm:
+ * platform/spi/cf/CFNetworkSPI.h:
+ Moved SPIs into an SPI header, so that WebKit2 could use them too without duplication.
+
2015-05-12 Chris Dumez <[email protected]>
[WK2] Log using diagnostic logging how far back in history we navigate
Modified: trunk/Source/WebCore/platform/network/mac/CookieJarMac.mm (184210 => 184211)
--- trunk/Source/WebCore/platform/network/mac/CookieJarMac.mm 2015-05-12 19:29:42 UTC (rev 184210)
+++ trunk/Source/WebCore/platform/network/mac/CookieJarMac.mm 2015-05-12 19:37:31 UTC (rev 184211)
@@ -26,14 +26,9 @@
#import "config.h"
#import "PlatformCookieJar.h"
+#import "CFNetworkSPI.h"
#import "NetworkStorageSession.h"
-@interface NSHTTPCookieStorage (Details)
-- (void)removeCookiesSinceDate:(NSDate *)date;
-- (id)_initWithCFHTTPCookieStorage:(CFHTTPCookieStorageRef)cfStorage;
-- (CFHTTPCookieStorageRef)_cookieStorage;
-@end
-
#if !USE(CFNETWORK)
#import "BlockExceptions.h"
@@ -43,11 +38,6 @@
#import "WebCoreSystemInterface.h"
#import <wtf/text/StringBuilder.h>
-enum {
- NSHTTPCookieAcceptPolicyExclusivelyFromMainDocumentDomain = 3
-};
-
-
namespace WebCore {
static RetainPtr<NSArray> filterCookies(NSArray *unfilteredCookies)
Modified: trunk/Source/WebCore/platform/spi/cf/CFNetworkSPI.h (184210 => 184211)
--- trunk/Source/WebCore/platform/spi/cf/CFNetworkSPI.h 2015-05-12 19:29:42 UTC (rev 184210)
+++ trunk/Source/WebCore/platform/spi/cf/CFNetworkSPI.h 2015-05-12 19:37:31 UTC (rev 184211)
@@ -120,4 +120,20 @@
EXTERN_C void _CFNetworkResetHSTSHostsSinceDate(CFURLStorageSessionRef, CFDateRef);
#endif
+#if (TARGET_OS_IPHONE && __IPHONE_OS_VERSION_MIN_REQUIRED >= 90000) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100)
+EXTERN_C CFDataRef CFHTTPCookieStorageCreateIdentifyingData(CFAllocatorRef inAllocator, CFHTTPCookieStorageRef inStorage);
+EXTERN_C CFHTTPCookieStorageRef CFHTTPCookieStorageCreateFromIdentifyingData(CFAllocatorRef inAllocator, CFDataRef inData);
+#endif
+
+#if defined(__OBJC__) && !USE(APPLE_INTERNAL_SDK)
+@interface NSHTTPCookieStorage (Details)
+#if (TARGET_OS_IPHONE && __IPHONE_OS_VERSION_MIN_REQUIRED >= 90000) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100)
++ (void)_setSharedHTTPCookieStorage:(NSHTTPCookieStorage *)storage;
+#endif
+- (void)removeCookiesSinceDate:(NSDate *)date;
+- (id)_initWithCFHTTPCookieStorage:(CFHTTPCookieStorageRef)cfStorage;
+- (CFHTTPCookieStorageRef)_cookieStorage;
+@end
+#endif
+
#endif // CFNetworkSPI_h
Modified: trunk/Source/WebKit2/ChangeLog (184210 => 184211)
--- trunk/Source/WebKit2/ChangeLog 2015-05-12 19:29:42 UTC (rev 184210)
+++ trunk/Source/WebKit2/ChangeLog 2015-05-12 19:37:31 UTC (rev 184211)
@@ -1,3 +1,44 @@
+2015-05-08 Alexey Proskuryakov <[email protected]>
+
+ [Mac] Share cookie storage between UI process and secondary processes
+ https://bugs.webkit.org/show_bug.cgi?id=144820
+ rdar://problem/20572830
+
+ Reviewed by Darin Adler.
+
+ Pass a cookie storage descriptor that includes file path as well as other data that
+ CFNetwork needs to use the same cookies storage as in another process (session cookies
+ are still separate).
+
+ While at it, started to clean up code that passes cookie storage path. It was mostly
+ dead and unimplemented, only used in child processes when USE(SECCOMP_FILTERS) was enabled.
+
+ * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
+ (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
+ * Shared/Network/NetworkProcessCreationParameters.cpp:
+ (WebKit::NetworkProcessCreationParameters::encode):
+ (WebKit::NetworkProcessCreationParameters::decode):
+ * Shared/Network/NetworkProcessCreationParameters.h:
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+ * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
+ (WebKit::WebProcessPool::platformInitializeWebProcess):
+ (WebKit::WebProcessPool::platformInitializeNetworkProcess):
+ (WebKit::WebProcessPool::platformDefaultCookieStorageDirectory): Deleted.
+ * UIProcess/WebProcessPool.cpp:
+ (WebKit::WebProcessPool::ensureNetworkProcess):
+ (WebKit::WebProcessPool::createNewWebProcess):
+ (WebKit::WebProcessPool::cookieStorageDirectory):
+ * UIProcess/WebProcessPool.h:
+ * UIProcess/efl/WebProcessPoolEfl.cpp:
+ (WebKit::WebProcessPool::platformDefaultCookieStorageDirectory): Deleted.
+ * UIProcess/gtk/WebProcessPoolGtk.cpp:
+ (WebKit::WebProcessPool::platformDefaultCookieStorageDirectory): Deleted.
+ * WebProcess/cocoa/WebProcessCocoa.mm:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+
2015-05-12 Chris Dumez <[email protected]>
[WK2] Log using diagnostic logging how far back in history we navigate
Modified: trunk/Source/WebKit2/NetworkProcess/cocoa/NetworkProcessCocoa.mm (184210 => 184211)
--- trunk/Source/WebKit2/NetworkProcess/cocoa/NetworkProcessCocoa.mm 2015-05-12 19:29:42 UTC (rev 184210)
+++ trunk/Source/WebKit2/NetworkProcess/cocoa/NetworkProcessCocoa.mm 2015-05-12 19:37:31 UTC (rev 184211)
@@ -77,6 +77,10 @@
initializeNetworkSettings();
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100
+ setSharedHTTPCookieStorage(parameters.uiProcessCookieStorageIdentifier);
+#endif
+
// FIXME: Most of what this function does for cache size gets immediately overridden by setCacheModel().
// - memory cache size passed from UI process is always ignored;
// - disk cache size passed from UI process is effectively a minimum size.
Modified: trunk/Source/WebKit2/Shared/ChildProcess.h (184210 => 184211)
--- trunk/Source/WebKit2/Shared/ChildProcess.h 2015-05-12 19:29:42 UTC (rev 184210)
+++ trunk/Source/WebKit2/Shared/ChildProcess.h 2015-05-12 19:37:31 UTC (rev 184211)
@@ -84,6 +84,10 @@
virtual void initializeSandbox(const ChildProcessInitializationParameters&, SandboxInitializationParameters&);
virtual void initializeConnection(IPC::Connection*);
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100
+ static void setSharedHTTPCookieStorage(const Vector<uint8_t>& identifier);
+#endif
+
virtual bool shouldTerminate() = 0;
virtual void terminate();
Modified: trunk/Source/WebKit2/Shared/Network/NetworkProcessCreationParameters.cpp (184210 => 184211)
--- trunk/Source/WebKit2/Shared/Network/NetworkProcessCreationParameters.cpp 2015-05-12 19:29:42 UTC (rev 184210)
+++ trunk/Source/WebKit2/Shared/Network/NetworkProcessCreationParameters.cpp 2015-05-12 19:37:31 UTC (rev 184211)
@@ -52,7 +52,12 @@
encoder << shouldEnableNetworkCache;
encoder << shouldEnableNetworkCacheEfficacyLogging;
#endif
+#if ENABLE(SECCOMP_FILTERS)
encoder << cookieStorageDirectory;
+#endif
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100
+ encoder << uiProcessCookieStorageIdentifier;
+#endif
#if PLATFORM(IOS)
encoder << cookieStorageDirectoryExtensionHandle;
encoder << containerCachesDirectoryExtensionHandle;
@@ -100,8 +105,14 @@
if (!decoder.decode(result.shouldEnableNetworkCacheEfficacyLogging))
return false;
#endif
+#if ENABLE(SECCOMP_FILTERS)
if (!decoder.decode(result.cookieStorageDirectory))
return false;
+#endif
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100
+ if (!decoder.decode(result.uiProcessCookieStorageIdentifier))
+ return false;
+#endif
#if PLATFORM(IOS)
if (!decoder.decode(result.cookieStorageDirectoryExtensionHandle))
return false;
Modified: trunk/Source/WebKit2/Shared/Network/NetworkProcessCreationParameters.h (184210 => 184211)
--- trunk/Source/WebKit2/Shared/Network/NetworkProcessCreationParameters.h 2015-05-12 19:29:42 UTC (rev 184210)
+++ trunk/Source/WebKit2/Shared/Network/NetworkProcessCreationParameters.h 2015-05-12 19:37:31 UTC (rev 184211)
@@ -61,14 +61,15 @@
bool shouldEnableNetworkCache;
bool shouldEnableNetworkCacheEfficacyLogging;
#endif
-
+#if ENABLE(SECCOMP_FILTERS)
String cookieStorageDirectory;
-
+#endif
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100
+ Vector<uint8_t> uiProcessCookieStorageIdentifier;
+#endif
#if PLATFORM(IOS)
SandboxExtension::Handle cookieStorageDirectoryExtensionHandle;
-
SandboxExtension::Handle containerCachesDirectoryExtensionHandle;
-
SandboxExtension::Handle parentBundleDirectoryExtensionHandle;
#endif
bool shouldUseTestingNetworkSession;
Modified: trunk/Source/WebKit2/Shared/WebProcessCreationParameters.cpp (184210 => 184211)
--- trunk/Source/WebKit2/Shared/WebProcessCreationParameters.cpp 2015-05-12 19:29:42 UTC (rev 184210)
+++ trunk/Source/WebKit2/Shared/WebProcessCreationParameters.cpp 2015-05-12 19:37:31 UTC (rev 184211)
@@ -73,7 +73,12 @@
encoder << webSQLDatabaseDirectoryExtensionHandle;
encoder << diskCacheDirectory;
encoder << diskCacheDirectoryExtensionHandle;
+#if ENABLE(SECCOMP_FILTERS)
encoder << cookieStorageDirectory;
+#endif
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100
+ encoder << uiProcessCookieStorageIdentifier;
+#endif
#if PLATFORM(IOS)
encoder << cookieStorageDirectoryExtensionHandle;
encoder << containerCachesDirectoryExtensionHandle;
@@ -177,8 +182,14 @@
return false;
if (!decoder.decode(parameters.diskCacheDirectoryExtensionHandle))
return false;
+#if ENABLE(SECCOMP_FILTERS)
if (!decoder.decode(parameters.cookieStorageDirectory))
return false;
+#endif
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100
+ if (!decoder.decode(parameters.uiProcessCookieStorageIdentifier))
+ return false;
+#endif
#if PLATFORM(IOS)
if (!decoder.decode(parameters.cookieStorageDirectoryExtensionHandle))
return false;
Modified: trunk/Source/WebKit2/Shared/WebProcessCreationParameters.h (184210 => 184211)
--- trunk/Source/WebKit2/Shared/WebProcessCreationParameters.h 2015-05-12 19:29:42 UTC (rev 184210)
+++ trunk/Source/WebKit2/Shared/WebProcessCreationParameters.h 2015-05-12 19:37:31 UTC (rev 184211)
@@ -74,7 +74,12 @@
SandboxExtension::Handle webSQLDatabaseDirectoryExtensionHandle;
String diskCacheDirectory;
SandboxExtension::Handle diskCacheDirectoryExtensionHandle;
+#if ENABLE(SECCOMP_FILTERS)
String cookieStorageDirectory;
+#endif
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100
+ Vector<uint8_t> uiProcessCookieStorageIdentifier;
+#endif
#if PLATFORM(IOS)
SandboxExtension::Handle cookieStorageDirectoryExtensionHandle;
SandboxExtension::Handle containerCachesDirectoryExtensionHandle;
Modified: trunk/Source/WebKit2/Shared/mac/ChildProcessMac.mm (184210 => 184211)
--- trunk/Source/WebKit2/Shared/mac/ChildProcessMac.mm 2015-05-12 19:29:42 UTC (rev 184210)
+++ trunk/Source/WebKit2/Shared/mac/ChildProcessMac.mm 2015-05-12 19:37:31 UTC (rev 184211)
@@ -30,6 +30,7 @@
#import "SandboxInitializationParameters.h"
#import "WebKitSystemInterface.h"
+#import <WebCore/CFNetworkSPI.h>
#import <WebCore/FileSystem.h>
#import <WebCore/SystemVersion.h>
#import <mach/mach.h>
@@ -175,6 +176,20 @@
}
}
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100
+void ChildProcess::setSharedHTTPCookieStorage(const Vector<uint8_t>& identifier)
+{
+ // FIXME: Remove the runtime check when it's not needed (soon).
+ if (![NSHTTPCookieStorage respondsToSelector:@selector(_setSharedHTTPCookieStorage:)])
+ return;
+
+ RetainPtr<CFDataRef> cookieStorageData = adoptCF(CFDataCreate(kCFAllocatorDefault, identifier.data(), identifier.size()));
+ RetainPtr<CFHTTPCookieStorageRef> uiProcessCookieStorage = adoptCF(CFHTTPCookieStorageCreateFromIdentifyingData(kCFAllocatorDefault, cookieStorageData.get()));
+ [NSHTTPCookieStorage _setSharedHTTPCookieStorage:adoptNS([[NSHTTPCookieStorage alloc] _initWithCFHTTPCookieStorage:uiProcessCookieStorage.get()]).get()];
+}
+#endif
+
+
#if USE(APPKIT)
void ChildProcess::stopNSAppRunLoop()
{
Modified: trunk/Source/WebKit2/UIProcess/Cocoa/WebProcessPoolCocoa.mm (184210 => 184211)
--- trunk/Source/WebKit2/UIProcess/Cocoa/WebProcessPoolCocoa.mm 2015-05-12 19:29:42 UTC (rev 184210)
+++ trunk/Source/WebKit2/UIProcess/Cocoa/WebProcessPoolCocoa.mm 2015-05-12 19:37:31 UTC (rev 184211)
@@ -240,6 +240,12 @@
#if (TARGET_OS_IPHONE && __IPHONE_OS_VERSION_MIN_REQUIRED >= 90000) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100)
parameters.networkATSContext = adoptCF(_CFNetworkCopyATSContext());
#endif
+
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100
+ RetainPtr<CFDataRef> cookieStorageData = adoptCF(CFHTTPCookieStorageCreateIdentifyingData(kCFAllocatorDefault, [[NSHTTPCookieStorage sharedHTTPCookieStorage] _cookieStorage]));
+ ASSERT(parameters.uiProcessCookieStorageIdentifier.isEmpty());
+ parameters.uiProcessCookieStorageIdentifier.append(CFDataGetBytePtr(cookieStorageData.get()), CFDataGetLength(cookieStorageData.get()));
+#endif
}
#if ENABLE(NETWORK_PROCESS)
@@ -267,6 +273,12 @@
parameters.shouldEnableNetworkCache = [defaults boolForKey:WebKitNetworkCacheEnabledDefaultsKey] && ![defaults boolForKey:WebKitNetworkCacheTemporarilyDisabledForTestingKey];
parameters.shouldEnableNetworkCacheEfficacyLogging = [defaults boolForKey:WebKitNetworkCacheEfficacyLoggingEnabledDefaultsKey];
#endif
+
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100
+ RetainPtr<CFDataRef> cookieStorageData = adoptCF(CFHTTPCookieStorageCreateIdentifyingData(kCFAllocatorDefault, [[NSHTTPCookieStorage sharedHTTPCookieStorage] _cookieStorage]));
+ ASSERT(parameters.uiProcessCookieStorageIdentifier.isEmpty());
+ parameters.uiProcessCookieStorageIdentifier.append(CFDataGetBytePtr(cookieStorageData.get()), CFDataGetLength(cookieStorageData.get()));
+#endif
}
#endif
@@ -283,23 +295,7 @@
return stringByResolvingSymlinksInPath([cachePath stringByStandardizingPath]);
}
-String WebProcessPool::platformDefaultCookieStorageDirectory() const
-{
#if PLATFORM(IOS)
- String path = pathForProcessContainer();
- if (path.isEmpty())
- path = NSHomeDirectory();
-
- path = path + "/Library/Cookies";
- path = stringByResolvingSymlinksInPath(path);
- return path;
-#else
- notImplemented();
- return [@"" stringByStandardizingPath];
-#endif
-}
-
-#if PLATFORM(IOS)
String WebProcessPool::parentBundleDirectory() const
{
return [[[NSBundle mainBundle] bundlePath] stringByStandardizingPath];
Modified: trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp (184210 => 184211)
--- trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp 2015-05-12 19:29:42 UTC (rev 184210)
+++ trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp 2015-05-12 19:37:31 UTC (rev 184211)
@@ -411,11 +411,14 @@
if (!parameters.diskCacheDirectory.isEmpty())
SandboxExtension::createHandleForReadWriteDirectory(parameters.diskCacheDirectory, parameters.diskCacheDirectoryExtensionHandle);
- parameters.cookieStorageDirectory = cookieStorageDirectory();
+#if ENABLE(SECCOMP_FILTERS)
+ parameters.cookieStorageDirectory = this->cookieStorageDirectory();
+#endif
#if PLATFORM(IOS)
- if (!parameters.cookieStorageDirectory.isEmpty())
- SandboxExtension::createHandleForReadWriteDirectory(parameters.cookieStorageDirectory, parameters.cookieStorageDirectoryExtensionHandle);
+ String cookieStorageDirectory = this->cookieStorageDirectory();
+ if (!cookieStorageDirectory.isEmpty())
+ SandboxExtension::createHandleForReadWriteDirectory(cookieStorageDirectory, parameters.cookieStorageDirectoryExtensionHandle);
String containerCachesDirectory = this->networkingCachesDirectory();
if (!containerCachesDirectory.isEmpty())
@@ -610,11 +613,14 @@
if (!parameters.diskCacheDirectory.isEmpty())
SandboxExtension::createHandleForReadWriteDirectory(parameters.diskCacheDirectory, parameters.diskCacheDirectoryExtensionHandle);
- parameters.cookieStorageDirectory = cookieStorageDirectory();
+#if ENABLE(SECCOMP_FILTERS)
+ parameters.cookieStorageDirectory = this->cookieStorageDirectory();
+#endif
#if PLATFORM(IOS)
- if (!parameters.cookieStorageDirectory.isEmpty())
- SandboxExtension::createHandleForReadWriteDirectory(parameters.cookieStorageDirectory, parameters.cookieStorageDirectoryExtensionHandle);
+ String cookieStorageDirectory = this->cookieStorageDirectory();
+ if (!cookieStorageDirectory.isEmpty())
+ SandboxExtension::createHandleForReadWriteDirectory(cookieStorageDirectory, parameters.cookieStorageDirectoryExtensionHandle);
String containerCachesDirectory = this->webContentCachesDirectory();
if (!containerCachesDirectory.isEmpty())
@@ -1187,13 +1193,16 @@
return platformDefaultDiskCacheDirectory();
}
+#if ENABLE(SECCOMP_FILTERS)
String WebProcessPool::cookieStorageDirectory() const
{
if (!m_overrideCookieStorageDirectory.isEmpty())
return m_overrideCookieStorageDirectory;
- return platformDefaultCookieStorageDirectory();
+ // FIXME: This doesn't make much sense. Is this function used at all? We used to call platform code, but no existing platforms implemented that function.
+ return emptyString();
}
+#endif
void WebProcessPool::useTestingNetworkSession()
{
Modified: trunk/Source/WebKit2/UIProcess/WebProcessPool.h (184210 => 184211)
--- trunk/Source/WebKit2/UIProcess/WebProcessPool.h 2015-05-12 19:29:42 UTC (rev 184210)
+++ trunk/Source/WebKit2/UIProcess/WebProcessPool.h 2015-05-12 19:37:31 UTC (rev 184211)
@@ -401,8 +401,9 @@
String diskCacheDirectory() const;
String platformDefaultDiskCacheDirectory() const;
+#if ENABLE(SECCOMP_FILTERS)
String cookieStorageDirectory() const;
- String platformDefaultCookieStorageDirectory() const;
+#endif
#if PLATFORM(IOS)
String parentBundleDirectory() const;
Modified: trunk/Source/WebKit2/UIProcess/efl/WebProcessPoolEfl.cpp (184210 => 184211)
--- trunk/Source/WebKit2/UIProcess/efl/WebProcessPoolEfl.cpp 2015-05-12 19:29:42 UTC (rev 184210)
+++ trunk/Source/WebKit2/UIProcess/efl/WebProcessPoolEfl.cpp 2015-05-12 19:37:31 UTC (rev 184211)
@@ -131,12 +131,6 @@
return String::fromUTF8(efreet_cache_home_get()) + "/WebKitEfl";
}
-String WebProcessPool::platformDefaultCookieStorageDirectory() const
-{
- notImplemented();
- return String();
-}
-
void WebProcessPool::setIgnoreTLSErrors(bool ignoreTLSErrors)
{
m_ignoreTLSErrors = ignoreTLSErrors;
Modified: trunk/Source/WebKit2/UIProcess/gtk/WebProcessPoolGtk.cpp (184210 => 184211)
--- trunk/Source/WebKit2/UIProcess/gtk/WebProcessPoolGtk.cpp 2015-05-12 19:29:42 UTC (rev 184210)
+++ trunk/Source/WebKit2/UIProcess/gtk/WebProcessPoolGtk.cpp 2015-05-12 19:37:31 UTC (rev 184211)
@@ -148,12 +148,6 @@
return WebCore::filenameToString(diskCacheDirectory.get());
}
-String WebProcessPool::platformDefaultCookieStorageDirectory() const
-{
- notImplemented();
- return String();
-}
-
void WebProcessPool::setIgnoreTLSErrors(bool ignoreTLSErrors)
{
m_ignoreTLSErrors = ignoreTLSErrors;
Modified: trunk/Source/WebKit2/WebProcess/cocoa/WebProcessCocoa.mm (184210 => 184211)
--- trunk/Source/WebKit2/WebProcess/cocoa/WebProcessCocoa.mm 2015-05-12 19:29:42 UTC (rev 184210)
+++ trunk/Source/WebKit2/WebProcess/cocoa/WebProcessCocoa.mm 2015-05-12 19:37:31 UTC (rev 184211)
@@ -149,6 +149,10 @@
#endif
#endif
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100
+ setSharedHTTPCookieStorage(parameters.uiProcessCookieStorageIdentifier);
+#endif
+
// FIXME: Most of what this function does for cache size gets immediately overridden by setCacheModel().
// - memory cache size passed from UI process is always ignored;
// - disk cache size passed from UI process is effectively a minimum size.
Modified: trunk/Tools/ChangeLog (184210 => 184211)
--- trunk/Tools/ChangeLog 2015-05-12 19:29:42 UTC (rev 184210)
+++ trunk/Tools/ChangeLog 2015-05-12 19:37:31 UTC (rev 184211)
@@ -1,3 +1,15 @@
+2015-05-11 Alexey Proskuryakov <[email protected]>
+
+ [Mac] Share cookie storage between UI process and secondary processes
+ https://bugs.webkit.org/show_bug.cgi?id=144820
+ rdar://problem/20572830
+
+ Reviewed by Darin Adler.
+
+ * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize):
+ Don't set cookie storage directory, as it's a no-op, we use an ephemeral session
+ for testing.
+
2015-05-12 Jake Nielsen <[email protected]>
Fix internal build configuration issues
Modified: trunk/Tools/WebKitTestRunner/TestController.cpp (184210 => 184211)
--- trunk/Tools/WebKitTestRunner/TestController.cpp 2015-05-12 19:29:42 UTC (rev 184210)
+++ trunk/Tools/WebKitTestRunner/TestController.cpp 2015-05-12 19:37:31 UTC (rev 184211)
@@ -380,7 +380,6 @@
// FIXME: These should be migrated to WKContextConfigurationRef.
WKContextSetApplicationCacheDirectory(m_context.get(), toWK(temporaryFolder + separator + "ApplicationCache").get());
WKContextSetDiskCacheDirectory(m_context.get(), toWK(temporaryFolder + separator + "Cache").get());
- WKContextSetCookieStorageDirectory(m_context.get(), toWK(temporaryFolder + separator + "Cookies").get());
// Disable icon database to avoid fetching <http://127.0.0.1:8000/favicon.ico> and making tests flaky.
// Invividual tests can enable it using testRunner.setIconDatabaseEnabled, although it's not currently supported in WebKitTestRunner.
WKContextSetIconDatabasePath(m_context.get(), toWK(emptyString()).get());