summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/WebCookieManagerProxy.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/UIProcess/WebCookieManagerProxy.h')
-rw-r--r--Source/WebKit2/UIProcess/WebCookieManagerProxy.h50
1 files changed, 30 insertions, 20 deletions
diff --git a/Source/WebKit2/UIProcess/WebCookieManagerProxy.h b/Source/WebKit2/UIProcess/WebCookieManagerProxy.h
index cc15f7f17..44005bc36 100644
--- a/Source/WebKit2/UIProcess/WebCookieManagerProxy.h
+++ b/Source/WebKit2/UIProcess/WebCookieManagerProxy.h
@@ -31,6 +31,7 @@
#include "MessageReceiver.h"
#include "WebContextSupplement.h"
#include "WebCookieManagerProxyClient.h"
+#include <WebCore/SessionID.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
#include <wtf/Vector.h>
@@ -43,32 +44,40 @@ namespace API {
class Array;
}
+namespace WebCore {
+struct Cookie;
+}
+
namespace WebKit {
-class WebContext;
+class WebProcessPool;
class WebProcessProxy;
-typedef GenericCallback<WKArrayRef> ArrayCallback;
-typedef GenericCallback<WKHTTPCookieAcceptPolicy, HTTPCookieAcceptPolicy> HTTPCookieAcceptPolicyCallback;
+typedef GenericCallback<API::Array*> ArrayCallback;
+typedef GenericCallback<HTTPCookieAcceptPolicy> HTTPCookieAcceptPolicyCallback;
class WebCookieManagerProxy : public API::ObjectImpl<API::Object::Type::CookieManager>, public WebContextSupplement, private IPC::MessageReceiver {
public:
static const char* supplementName();
- static PassRefPtr<WebCookieManagerProxy> create(WebContext*);
+ static PassRefPtr<WebCookieManagerProxy> create(WebProcessPool*);
virtual ~WebCookieManagerProxy();
void initializeClient(const WKCookieManagerClientBase*);
- void getHostnamesWithCookies(PassRefPtr<ArrayCallback>);
- void deleteCookiesForHostname(const String& hostname);
- void deleteAllCookies();
+ void getHostnamesWithCookies(WebCore::SessionID, std::function<void (API::Array*, CallbackBase::Error)>);
+ void deleteCookiesForHostname(WebCore::SessionID, const String& hostname);
+ void deleteAllCookies(WebCore::SessionID);
+ void deleteAllCookiesModifiedSince(WebCore::SessionID, std::chrono::system_clock::time_point);
+ void addCookie(WebCore::SessionID, const WebCore::Cookie&, const String& hostname);
void setHTTPCookieAcceptPolicy(HTTPCookieAcceptPolicy);
- void getHTTPCookieAcceptPolicy(PassRefPtr<HTTPCookieAcceptPolicyCallback>);
+ void getHTTPCookieAcceptPolicy(std::function<void (HTTPCookieAcceptPolicy, CallbackBase::Error)>);
- void startObservingCookieChanges();
- void stopObservingCookieChanges();
+ void startObservingCookieChanges(WebCore::SessionID);
+ void stopObservingCookieChanges(WebCore::SessionID);
+
+ void setCookieObserverCallback(WebCore::SessionID, std::function<void ()>&&);
#if USE(SOUP)
void setCookiePersistentStorage(const String& storagePath, uint32_t storageType);
@@ -79,31 +88,32 @@ public:
using API::Object::deref;
private:
- WebCookieManagerProxy(WebContext*);
+ WebCookieManagerProxy(WebProcessPool*);
void didGetHostnamesWithCookies(const Vector<String>&, uint64_t callbackID);
void didGetHTTPCookieAcceptPolicy(uint32_t policy, uint64_t callbackID);
- void cookiesDidChange();
+ void cookiesDidChange(WebCore::SessionID);
// WebContextSupplement
- virtual void contextDestroyed() override;
- virtual void processDidClose(WebProcessProxy*) override;
- virtual void processDidClose(NetworkProcessProxy*) override;
- virtual bool shouldTerminate(WebProcessProxy*) const override;
- virtual void refWebContextSupplement() override;
- virtual void derefWebContextSupplement() override;
+ void processPoolDestroyed() override;
+ void processDidClose(WebProcessProxy*) override;
+ void processDidClose(NetworkProcessProxy*) override;
+ void refWebContextSupplement() override;
+ void derefWebContextSupplement() override;
// IPC::MessageReceiver
- virtual void didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&) override;
+ void didReceiveMessage(IPC::Connection&, IPC::Decoder&) override;
-#if PLATFORM(MAC)
+#if PLATFORM(COCOA)
void persistHTTPCookieAcceptPolicy(HTTPCookieAcceptPolicy);
#endif
HashMap<uint64_t, RefPtr<ArrayCallback>> m_arrayCallbacks;
HashMap<uint64_t, RefPtr<HTTPCookieAcceptPolicyCallback>> m_httpCookieAcceptPolicyCallbacks;
+ HashMap<WebCore::SessionID, std::function<void ()>> m_cookieObservers;
+
WebCookieManagerProxyClient m_client;
#if USE(SOUP)