Diff
Modified: trunk/Source/WebCore/ChangeLog (164271 => 164272)
--- trunk/Source/WebCore/ChangeLog 2014-02-18 05:13:18 UTC (rev 164271)
+++ trunk/Source/WebCore/ChangeLog 2014-02-18 05:18:18 UTC (rev 164272)
@@ -1,3 +1,24 @@
+2014-02-17 Ricky Mondello <[email protected]>
+
+ Expose a way to clear cookies modified after a given date
+ https://bugs.webkit.org/show_bug.cgi?id=128845
+
+ Reviewed by Alexey Proskuryakov.
+
+ * WebCore.exp.in: Add a symbol.
+ * platform/network/PlatformCookieJar.h: Declare deleteAllCookiesModifiedAfterDate.
+ * platform/network/cf/CookieJarCFNet.cpp:
+ (WebCore::deleteAllCookiesModifiedAfterDate): Add a stub.
+ * platform/network/curl/CookieJarCurl.cpp:
+ (WebCore::deleteAllCookiesModifiedAfterDate): Ditto.
+ * platform/network/soup/CookieJarSoup.cpp:
+ (WebCore::deleteAllCookiesModifiedAfterDate): Ditto.
+ * platform/network/mac/CookieJarMac.mm: Add a category NSHTTPCookieStorage category with the method
+ used for time-based clearing so we can build on all platforms. For now, we'll check for support
+ at runtime.
+ (WebCore::deleteAllCookiesModifiedAfterDate): Added. Without foundation API, we'll ignore the passed-in
+ NetworkStorageSession.
+
2014-02-17 Benjamin Poulain <[email protected]>
SelectorCompiler incorrectly saves a backtracking register for a child chain without descendant relation on the right
Modified: trunk/Source/WebCore/WebCore.exp.in (164271 => 164272)
--- trunk/Source/WebCore/WebCore.exp.in 2014-02-18 05:13:18 UTC (rev 164271)
+++ trunk/Source/WebCore/WebCore.exp.in 2014-02-18 05:18:18 UTC (rev 164272)
@@ -962,6 +962,7 @@
__ZN7WebCore30overrideUserPreferredLanguagesERKN3WTF6VectorINS0_6StringELm0ENS0_15CrashOnOverflowEEE
__ZN7WebCore31CrossOriginPreflightResultCache5emptyEv
__ZN7WebCore31CrossOriginPreflightResultCache6sharedEv
+__ZN7WebCore33deleteAllCookiesModifiedAfterDateERKNS_21NetworkStorageSessionEd
__ZN7WebCore33stripLeadingAndTrailingHTMLSpacesERKN3WTF6StringE
__ZN7WebCore36standardUserAgentWithApplicationNameERKN3WTF6StringES3_
__ZN7WebCore37WidgetHierarchyUpdatesSuspensionScope11moveWidgetsEv
Modified: trunk/Source/WebCore/platform/network/PlatformCookieJar.h (164271 => 164272)
--- trunk/Source/WebCore/platform/network/PlatformCookieJar.h 2014-02-18 05:13:18 UTC (rev 164271)
+++ trunk/Source/WebCore/platform/network/PlatformCookieJar.h 2014-02-18 05:18:18 UTC (rev 164272)
@@ -48,6 +48,7 @@
void getHostnamesWithCookies(const NetworkStorageSession&, HashSet<String>& hostnames);
void deleteCookiesForHostname(const NetworkStorageSession&, const String& hostname);
void deleteAllCookies(const NetworkStorageSession&);
+void deleteAllCookiesModifiedAfterDate(const NetworkStorageSession&, double date);
}
Modified: trunk/Source/WebCore/platform/network/cf/CookieJarCFNet.cpp (164271 => 164272)
--- trunk/Source/WebCore/platform/network/cf/CookieJarCFNet.cpp 2014-02-18 05:13:18 UTC (rev 164271)
+++ trunk/Source/WebCore/platform/network/cf/CookieJarCFNet.cpp 2014-02-18 05:18:18 UTC (rev 164272)
@@ -239,6 +239,10 @@
CFHTTPCookieStorageDeleteAllCookies(session.cookieStorage().get());
}
+void deleteAllCookiesModifiedAfterDate(const NetworkStorageSession&, double)
+{
+}
+
} // namespace WebCore
#endif // USE(CFNETWORK)
Modified: trunk/Source/WebCore/platform/network/curl/CookieJarCurl.cpp (164271 => 164272)
--- trunk/Source/WebCore/platform/network/curl/CookieJarCurl.cpp 2014-02-18 05:13:18 UTC (rev 164271)
+++ trunk/Source/WebCore/platform/network/curl/CookieJarCurl.cpp 2014-02-18 05:18:18 UTC (rev 164272)
@@ -326,4 +326,9 @@
// FIXME: Not yet implemented
}
+void deleteAllCookiesModifiedAfterDate(const NetworkStorageSession&, double)
+{
+ // FIXME: Not yet implemented
}
+
+}
Modified: trunk/Source/WebCore/platform/network/mac/CookieJarMac.mm (164271 => 164272)
--- trunk/Source/WebCore/platform/network/mac/CookieJarMac.mm 2014-02-18 05:13:18 UTC (rev 164271)
+++ trunk/Source/WebCore/platform/network/mac/CookieJarMac.mm 2014-02-18 05:18:18 UTC (rev 164272)
@@ -39,6 +39,10 @@
NSHTTPCookieAcceptPolicyExclusivelyFromMainDocumentDomain = 3
};
+@interface NSHTTPCookieStorage (Details)
+- (void)removeCookiesSinceDate:(NSDate *)date;
+@end
+
namespace WebCore {
static RetainPtr<NSArray> filterCookies(NSArray *unfilteredCookies)
@@ -192,6 +196,15 @@
wkDeleteAllHTTPCookies(session.cookieStorage().get());
}
+void deleteAllCookiesModifiedAfterDate(const NetworkStorageSession& session, double date)
+{
+ UNUSED_PARAM(session);
+
+ NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
+ if ([cookieStorage respondsToSelector:@selector(removeCookiesSinceDate:)])
+ [cookieStorage removeCookiesSinceDate:[NSDate dateWithTimeIntervalSince1970:date]];
}
+}
+
#endif // !USE(CFNETWORK)
Modified: trunk/Source/WebCore/platform/network/soup/CookieJarSoup.cpp (164271 => 164272)
--- trunk/Source/WebCore/platform/network/soup/CookieJarSoup.cpp 2014-02-18 05:13:18 UTC (rev 164271)
+++ trunk/Source/WebCore/platform/network/soup/CookieJarSoup.cpp 2014-02-18 05:18:18 UTC (rev 164272)
@@ -224,4 +224,8 @@
}
}
+void deleteAllCookiesModifiedAfterDate(const NetworkStorageSession&, double)
+{
}
+
+}
Modified: trunk/Source/WebKit2/ChangeLog (164271 => 164272)
--- trunk/Source/WebKit2/ChangeLog 2014-02-18 05:13:18 UTC (rev 164271)
+++ trunk/Source/WebKit2/ChangeLog 2014-02-18 05:18:18 UTC (rev 164272)
@@ -1,3 +1,22 @@
+2014-02-17 Ricky Mondello <[email protected]>
+
+ Expose a way to clear cookies modified after a given date
+ https://bugs.webkit.org/show_bug.cgi?id=128845
+
+ Reviewed by Alexey Proskuryakov.
+
+ * UIProcess/API/C/WKCookieManager.cpp:
+ (WKCookieManagerDeleteAllCookiesModifiedAfterDate): Added. Call out to the CookieManager.
+ * UIProcess/API/C/WKCookieManager.h: Declare WKCookieManagerDeleteAllCookiesModifiedAfterDate.
+ * UIProcess/WebCookieManagerProxy.cpp:
+ (WebKit::WebCookieManagerProxy::deleteAllCookiesModifiedAfterDate): Added. Dispatch message to the
+ Network Process.
+ * UIProcess/WebCookieManagerProxy.h: Declare deleteAllCookiesModifiedAfterDate.
+ * WebProcess/Cookies/WebCookieManager.cpp:
+ (WebKit::WebCookieManager::deleteAllCookiesModifiedAfterDate): Added. Call out to WebCore to finish the job.
+ * WebProcess/Cookies/WebCookieManager.h: Declare deleteAllCookiesModifiedAfterDate.
+ * WebProcess/Cookies/WebCookieManager.messages.in: Add new message.
+
2014-02-17 Ryuan Choi <[email protected]>
[EFL][WK2] Move and make WKColorPickerResultListener to EFL specific interface
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKCookieManager.cpp (164271 => 164272)
--- trunk/Source/WebKit2/UIProcess/API/C/WKCookieManager.cpp 2014-02-18 05:13:18 UTC (rev 164271)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKCookieManager.cpp 2014-02-18 05:18:18 UTC (rev 164272)
@@ -56,6 +56,11 @@
toImpl(cookieManagerRef)->deleteAllCookies();
}
+void WKCookieManagerDeleteAllCookiesModifiedAfterDate(WKCookieManagerRef cookieManagerRef, double date)
+{
+ toImpl(cookieManagerRef)->deleteAllCookiesModifiedAfterDate(date);
+}
+
void WKCookieManagerSetHTTPCookieAcceptPolicy(WKCookieManagerRef cookieManager, WKHTTPCookieAcceptPolicy policy)
{
toImpl(cookieManager)->setHTTPCookieAcceptPolicy(toHTTPCookieAcceptPolicy(policy));
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKCookieManager.h (164271 => 164272)
--- trunk/Source/WebKit2/UIProcess/API/C/WKCookieManager.h 2014-02-18 05:13:18 UTC (rev 164271)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKCookieManager.h 2014-02-18 05:18:18 UTC (rev 164272)
@@ -73,6 +73,7 @@
WK_EXPORT void WKCookieManagerDeleteCookiesForHostname(WKCookieManagerRef cookieManager, WKStringRef hostname);
WK_EXPORT void WKCookieManagerDeleteAllCookies(WKCookieManagerRef cookieManager);
+WK_EXPORT void WKCookieManagerDeleteAllCookiesModifiedAfterDate(WKCookieManagerRef cookieManager, double);
WK_EXPORT void WKCookieManagerSetHTTPCookieAcceptPolicy(WKCookieManagerRef cookieManager, WKHTTPCookieAcceptPolicy policy);
typedef void (*WKCookieManagerGetHTTPCookieAcceptPolicyFunction)(WKHTTPCookieAcceptPolicy, WKErrorRef, void*);
Modified: trunk/Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp (164271 => 164272)
--- trunk/Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp 2014-02-18 05:13:18 UTC (rev 164271)
+++ trunk/Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp 2014-02-18 05:18:18 UTC (rev 164272)
@@ -129,6 +129,11 @@
context()->sendToNetworkingProcessRelaunchingIfNecessary(Messages::WebCookieManager::DeleteAllCookies());
}
+void WebCookieManagerProxy::deleteAllCookiesModifiedAfterDate(double date)
+{
+ context()->sendToNetworkingProcessRelaunchingIfNecessary(Messages::WebCookieManager::DeleteAllCookiesModifiedAfterDate(date));
+}
+
void WebCookieManagerProxy::startObservingCookieChanges()
{
context()->sendToNetworkingProcessRelaunchingIfNecessary(Messages::WebCookieManager::StartObservingCookieChanges());
Modified: trunk/Source/WebKit2/UIProcess/WebCookieManagerProxy.h (164271 => 164272)
--- trunk/Source/WebKit2/UIProcess/WebCookieManagerProxy.h 2014-02-18 05:13:18 UTC (rev 164271)
+++ trunk/Source/WebKit2/UIProcess/WebCookieManagerProxy.h 2014-02-18 05:18:18 UTC (rev 164272)
@@ -63,6 +63,7 @@
void getHostnamesWithCookies(PassRefPtr<ArrayCallback>);
void deleteCookiesForHostname(const String& hostname);
void deleteAllCookies();
+ void deleteAllCookiesModifiedAfterDate(double);
void setHTTPCookieAcceptPolicy(HTTPCookieAcceptPolicy);
void getHTTPCookieAcceptPolicy(PassRefPtr<HTTPCookieAcceptPolicyCallback>);
Modified: trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.cpp (164271 => 164272)
--- trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.cpp 2014-02-18 05:13:18 UTC (rev 164271)
+++ trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.cpp 2014-02-18 05:18:18 UTC (rev 164272)
@@ -78,6 +78,11 @@
WebCore::deleteAllCookies(NetworkStorageSession::defaultStorageSession());
}
+void WebCookieManager::deleteAllCookiesModifiedAfterDate(double date)
+{
+ WebCore::deleteAllCookiesModifiedAfterDate(NetworkStorageSession::defaultStorageSession(), date);
+}
+
void WebCookieManager::startObservingCookieChanges()
{
WebCore::startObservingCookieChanges(cookiesDidChange);
Modified: trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.h (164271 => 164272)
--- trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.h 2014-02-18 05:13:18 UTC (rev 164271)
+++ trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.h 2014-02-18 05:18:18 UTC (rev 164272)
@@ -61,6 +61,7 @@
void getHostnamesWithCookies(uint64_t callbackID);
void deleteCookiesForHostname(const String&);
void deleteAllCookies();
+ void deleteAllCookiesModifiedAfterDate(double date);
void platformSetHTTPCookieAcceptPolicy(HTTPCookieAcceptPolicy);
void getHTTPCookieAcceptPolicy(uint64_t callbackID);
Modified: trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.messages.in (164271 => 164272)
--- trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.messages.in 2014-02-18 05:13:18 UTC (rev 164271)
+++ trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.messages.in 2014-02-18 05:18:18 UTC (rev 164272)
@@ -27,6 +27,7 @@
void GetHostnamesWithCookies(uint64_t callbackID)
void DeleteCookiesForHostname(String hostname)
void DeleteAllCookies()
+ void DeleteAllCookiesModifiedAfterDate(double date)
void SetHTTPCookieAcceptPolicy(uint32_t policy)
void GetHTTPCookieAcceptPolicy(uint64_t callbackID)