diff options
Diffstat (limited to 'Source/WebKit2/UIProcess/WebCookieManagerProxy.h')
-rw-r--r-- | Source/WebKit2/UIProcess/WebCookieManagerProxy.h | 50 |
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) |