Changeset 164272 in webkit


Ignore:
Timestamp:
Feb 17, 2014 9:18:18 PM (10 years ago)
Author:
commit-queue@webkit.org
Message:

Expose a way to clear cookies modified after a given date
https://bugs.webkit.org/show_bug.cgi?id=128845

Patch by Ricky Mondello <Ricky Mondello> on 2014-02-17
Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • 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.

Source/WebKit2:

  • 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.
Location:
trunk/Source
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r164268 r164272  
     12014-02-17  Ricky Mondello  <rmondello@apple.com>
     2
     3        Expose a way to clear cookies modified after a given date
     4        https://bugs.webkit.org/show_bug.cgi?id=128845
     5
     6        Reviewed by Alexey Proskuryakov.
     7
     8        * WebCore.exp.in: Add a symbol.
     9        * platform/network/PlatformCookieJar.h: Declare deleteAllCookiesModifiedAfterDate.
     10        * platform/network/cf/CookieJarCFNet.cpp:
     11        (WebCore::deleteAllCookiesModifiedAfterDate): Add a stub.
     12        * platform/network/curl/CookieJarCurl.cpp:
     13        (WebCore::deleteAllCookiesModifiedAfterDate): Ditto.
     14        * platform/network/soup/CookieJarSoup.cpp:
     15        (WebCore::deleteAllCookiesModifiedAfterDate): Ditto.
     16        * platform/network/mac/CookieJarMac.mm: Add a category NSHTTPCookieStorage category with the method
     17            used for time-based clearing so we can build on all platforms. For now, we'll check for support
     18            at runtime.
     19        (WebCore::deleteAllCookiesModifiedAfterDate): Added. Without foundation API, we'll ignore the passed-in
     20            NetworkStorageSession.
     21
    1222014-02-17  Benjamin Poulain  <bpoulain@apple.com>
    223
  • trunk/Source/WebCore/WebCore.exp.in

    r164262 r164272  
    963963__ZN7WebCore31CrossOriginPreflightResultCache5emptyEv
    964964__ZN7WebCore31CrossOriginPreflightResultCache6sharedEv
     965__ZN7WebCore33deleteAllCookiesModifiedAfterDateERKNS_21NetworkStorageSessionEd
    965966__ZN7WebCore33stripLeadingAndTrailingHTMLSpacesERKN3WTF6StringE
    966967__ZN7WebCore36standardUserAgentWithApplicationNameERKN3WTF6StringES3_
  • trunk/Source/WebCore/platform/network/PlatformCookieJar.h

    r156550 r164272  
    4949void deleteCookiesForHostname(const NetworkStorageSession&, const String& hostname);
    5050void deleteAllCookies(const NetworkStorageSession&);
     51void deleteAllCookiesModifiedAfterDate(const NetworkStorageSession&, double date);
    5152
    5253}
  • trunk/Source/WebCore/platform/network/cf/CookieJarCFNet.cpp

    r162212 r164272  
    240240}
    241241
     242void deleteAllCookiesModifiedAfterDate(const NetworkStorageSession&, double)
     243{
     244}
     245
    242246} // namespace WebCore
    243247
  • trunk/Source/WebCore/platform/network/curl/CookieJarCurl.cpp

    r156550 r164272  
    327327}
    328328
    329 }
     329void deleteAllCookiesModifiedAfterDate(const NetworkStorageSession&, double)
     330{
     331    // FIXME: Not yet implemented
     332}
     333
     334}
  • trunk/Source/WebCore/platform/network/mac/CookieJarMac.mm

    r162166 r164272  
    4040};
    4141
     42@interface NSHTTPCookieStorage (Details)
     43- (void)removeCookiesSinceDate:(NSDate *)date;
     44@end
     45
    4246namespace WebCore {
    4347
     
    193197}
    194198
     199void deleteAllCookiesModifiedAfterDate(const NetworkStorageSession& session, double date)
     200{
     201    UNUSED_PARAM(session);
     202
     203    NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
     204    if ([cookieStorage respondsToSelector:@selector(removeCookiesSinceDate:)])
     205        [cookieStorage removeCookiesSinceDate:[NSDate dateWithTimeIntervalSince1970:date]];
     206}
     207
    195208}
    196209
  • trunk/Source/WebCore/platform/network/soup/CookieJarSoup.cpp

    r162922 r164272  
    225225}
    226226
    227 }
     227void deleteAllCookiesModifiedAfterDate(const NetworkStorageSession&, double)
     228{
     229}
     230
     231}
  • trunk/Source/WebKit2/ChangeLog

    r164271 r164272  
     12014-02-17  Ricky Mondello  <rmondello@apple.com>
     2
     3        Expose a way to clear cookies modified after a given date
     4        https://bugs.webkit.org/show_bug.cgi?id=128845
     5
     6        Reviewed by Alexey Proskuryakov.
     7
     8        * UIProcess/API/C/WKCookieManager.cpp:
     9        (WKCookieManagerDeleteAllCookiesModifiedAfterDate): Added. Call out to the CookieManager.
     10        * UIProcess/API/C/WKCookieManager.h: Declare WKCookieManagerDeleteAllCookiesModifiedAfterDate.
     11        * UIProcess/WebCookieManagerProxy.cpp:
     12        (WebKit::WebCookieManagerProxy::deleteAllCookiesModifiedAfterDate): Added. Dispatch message to the
     13            Network Process.
     14        * UIProcess/WebCookieManagerProxy.h: Declare deleteAllCookiesModifiedAfterDate.
     15        * WebProcess/Cookies/WebCookieManager.cpp:
     16        (WebKit::WebCookieManager::deleteAllCookiesModifiedAfterDate): Added. Call out to WebCore to finish the job.
     17        * WebProcess/Cookies/WebCookieManager.h: Declare deleteAllCookiesModifiedAfterDate.
     18        * WebProcess/Cookies/WebCookieManager.messages.in: Add new message.
     19
    1202014-02-17  Ryuan Choi  <ryuan.choi@samsung.com>
    221
  • trunk/Source/WebKit2/UIProcess/API/C/WKCookieManager.cpp

    r160104 r164272  
    5757}
    5858
     59void WKCookieManagerDeleteAllCookiesModifiedAfterDate(WKCookieManagerRef cookieManagerRef, double date)
     60{
     61    toImpl(cookieManagerRef)->deleteAllCookiesModifiedAfterDate(date);
     62}
     63
    5964void WKCookieManagerSetHTTPCookieAcceptPolicy(WKCookieManagerRef cookieManager, WKHTTPCookieAcceptPolicy policy)
    6065{
  • trunk/Source/WebKit2/UIProcess/API/C/WKCookieManager.h

    r162166 r164272  
    7474WK_EXPORT void WKCookieManagerDeleteCookiesForHostname(WKCookieManagerRef cookieManager, WKStringRef hostname);
    7575WK_EXPORT void WKCookieManagerDeleteAllCookies(WKCookieManagerRef cookieManager);
     76WK_EXPORT void WKCookieManagerDeleteAllCookiesModifiedAfterDate(WKCookieManagerRef cookieManager, double);
    7677
    7778WK_EXPORT void WKCookieManagerSetHTTPCookieAcceptPolicy(WKCookieManagerRef cookieManager, WKHTTPCookieAcceptPolicy policy);
  • trunk/Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp

    r164172 r164272  
    130130}
    131131
     132void WebCookieManagerProxy::deleteAllCookiesModifiedAfterDate(double date)
     133{
     134    context()->sendToNetworkingProcessRelaunchingIfNecessary(Messages::WebCookieManager::DeleteAllCookiesModifiedAfterDate(date));
     135}
     136
    132137void WebCookieManagerProxy::startObservingCookieChanges()
    133138{
  • trunk/Source/WebKit2/UIProcess/WebCookieManagerProxy.h

    r164172 r164272  
    6464    void deleteCookiesForHostname(const String& hostname);
    6565    void deleteAllCookies();
     66    void deleteAllCookiesModifiedAfterDate(double);
    6667
    6768    void setHTTPCookieAcceptPolicy(HTTPCookieAcceptPolicy);
  • trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.cpp

    r164255 r164272  
    7979}
    8080
     81void WebCookieManager::deleteAllCookiesModifiedAfterDate(double date)
     82{
     83    WebCore::deleteAllCookiesModifiedAfterDate(NetworkStorageSession::defaultStorageSession(), date);
     84}
     85
    8186void WebCookieManager::startObservingCookieChanges()
    8287{
  • trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.h

    r162139 r164272  
    6262    void deleteCookiesForHostname(const String&);
    6363    void deleteAllCookies();
     64    void deleteAllCookiesModifiedAfterDate(double date);
    6465
    6566    void platformSetHTTPCookieAcceptPolicy(HTTPCookieAcceptPolicy);
  • trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.messages.in

    r160022 r164272  
    2828    void DeleteCookiesForHostname(String hostname)
    2929    void DeleteAllCookies()
     30    void DeleteAllCookiesModifiedAfterDate(double date)
    3031
    3132    void SetHTTPCookieAcceptPolicy(uint32_t policy)
Note: See TracChangeset for help on using the changeset viewer.