[Curl] Use SQLite database in cookie jar implementation for Curl port
[WebKit-https.git] / Source / WebCore / platform / network / curl / CookieJarCurl.cpp
1 /*
2  * Copyright (C) 2011 Apple Inc. All rights reserved.
3  * Copyright (C) 2018 Sony Interactive Entertainment Inc.
4  *
5  *  This library is free software; you can redistribute it and/or
6  *  modify it under the terms of the GNU Lesser General Public
7  *  License as published by the Free Software Foundation; either
8  *  version 2 of the License, or (at your option) any later version.
9  *
10  *  This library is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  *  Lesser General Public License for more details.
14  *
15  *  You should have received a copy of the GNU Lesser General Public
16  *  License along with this library; if not, write to the Free Software
17  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
18  */
19
20 #include "config.h"
21 #include "CookieJarCurl.h"
22
23 #if USE(CURL)
24 #include "Cookie.h"
25 #include "NetworkStorageSession.h"
26 #include "URL.h"
27
28 #include <wtf/text/WTFString.h>
29
30 namespace WebCore {
31
32 std::pair<String, bool> cookiesForDOM(const NetworkStorageSession& session, const URL& firstParty, const URL& url, std::optional<uint64_t> frameID, std::optional<uint64_t> pageID, IncludeSecureCookies includeSecureCookies)
33 {
34     return session.cookieStorage().cookiesForDOM(session, firstParty, url, frameID, pageID, includeSecureCookies);
35 }
36
37 void setCookiesFromDOM(const NetworkStorageSession& session, const URL& firstParty, const URL& url, std::optional<uint64_t> frameID, std::optional<uint64_t> pageID, const String& value)
38 {
39     session.cookieStorage().setCookiesFromDOM(session, firstParty, url, frameID, pageID, value);
40 }
41
42 std::pair<String, bool> cookieRequestHeaderFieldValue(const NetworkStorageSession& session, const URL& firstParty, const URL& url, std::optional<uint64_t> frameID, std::optional<uint64_t> pageID, IncludeSecureCookies includeSecureCookies)
43 {
44     return session.cookieStorage().cookieRequestHeaderFieldValue(session, firstParty, url, frameID, pageID, includeSecureCookies);
45 }
46
47 bool cookiesEnabled(const NetworkStorageSession& session)
48 {
49     return session.cookieStorage().cookiesEnabled(session);
50 }
51
52 bool getRawCookies(const NetworkStorageSession& session, const URL& firstParty, const URL& url, std::optional<uint64_t> frameID, std::optional<uint64_t> pageID, Vector<Cookie>& rawCookies)
53 {
54     return session.cookieStorage().getRawCookies(session, firstParty, url, frameID, pageID, rawCookies);
55 }
56
57 void deleteCookie(const NetworkStorageSession& session, const URL& url, const String& cookie)
58 {
59     session.cookieStorage().deleteCookie(session, url, cookie);
60 }
61
62 void getHostnamesWithCookies(const NetworkStorageSession& session, HashSet<String>& hostnames)
63 {
64     session.cookieStorage().getHostnamesWithCookies(session, hostnames);
65 }
66
67 void deleteCookiesForHostnames(const NetworkStorageSession& session, const Vector<String>& cookieHostNames)
68 {
69     session.cookieStorage().deleteCookiesForHostnames(session, cookieHostNames);
70 }
71
72 void deleteAllCookies(const NetworkStorageSession& session)
73 {
74     session.cookieStorage().deleteAllCookies(session);
75 }
76
77 void deleteAllCookiesModifiedSince(const NetworkStorageSession& session, WallTime since)
78 {
79     session.cookieStorage().deleteAllCookiesModifiedSince(session, since);
80 }
81
82 }
83
84 #endif