WebKit2: Use CFNetwork Sessions API.
https://bugs.webkit.org/show_bug.cgi?id=55435.
Reviewed by Sam Weinig.
Source/WebCore:
When Private Browsing is enabled, use cookies from a in-memory cookie storage based on the
Private Browsing Storage Session.
* WebCore.exp.in:
Add the new WKSI functions.
* platform/mac/WebCoreSystemInterface.h:
Ditto.
* platform/mac/WebCoreSystemInterface.mm:
Ditto.
* platform/mac/CookieJar.mm:
(WebCore::cookies):
If USE(CFURLSTORAGESESSIONS) and there is a Private Browsing Cookie Storage, call into WKSI.
Otherwise, behave the same as before.
(WebCore::cookieRequestHeaderFieldValue):
Ditto.
(WebCore::setCookies):
Ditto.
(WebCore::cookiesEnabled):
Ditto
(WebCore::getRawCookies):
Ditto.
(WebCore::deleteCookie):
Ditto.
* platform/network/CookieStorage.h:
* platform/network/cf/CookieStorageCFNet.cpp:
(WebCore::privateBrowsingCookieStorage):
Keep track of the Private Browsing Cookie Storage in a locally defined static inside a
function instead of at the global scope.
(WebCore::currentCookieStorage):
Use privateBrowsingCookieStorage.
(WebCore::setCurrentCookieStorage):
Ditto.
(WebCore::setCookieStoragePrivateBrowsingEnabled):
If USE(CFURLSTORAGESESSIONS), send the Private Browsing Storage Session to
wkCreatePrivateInMemoryHTTPCookieStorage.
* platform/network/mac/CookieStorageMac.mm:
(WebCore::privateBrowsingCookieStorage):
Keep track of the Private Browsing Cookie Storage.
(WebCore::setCookieStoragePrivateBrowsingEnabled):
If USE(CFURLSTORAGESESSIONS), then set or clear privateBrowsingCookieStorage().
Added a FIXME to observe changes to the Private Browsing Cookie Storage when it is defined.
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::shouldRelaxThirdPartyCookiePolicy):
Refactor the logic to determine whether or not to relax the third party cookie policy here.
If USE(CFURLSTORAGESESSIONS), then get the information from the privateBrowsingCookieStorage.
(WebCore::ResourceHandle::createNSURLConnection):
Use shouldRelaxThirdPartyCookiePolicy.
(WebCore::ResourceHandle::loadResourceSynchronously):
Ditto.
Source/WebKit/mac:
When Private Browsing is enabled, use cookies from a in-memory cookie storage based on the
Private Browsing Storage Session.
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
Add support for using the new WKSI functions in WebCore.
Source/WebKit2:
When Private Browsing is enabled, use cookies from a in-memory cookie storage based on the
Private Browsing Storage Session.
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
Add support for using the new WKSI functions in WebCore.
WebKitLibraries:
When Private Browsing is enabled, use cookies from a in-memory Cookie Storage based on the
Private Browsing Storage Session.
Update WebKitSystemInterface headers and libraries with the new functions.
* WebKitSystemInterface.h:
* libWebKitSystemInterfaceLeopard.a:
* libWebKitSystemInterfaceSnowLeopard.a:
* win/include/WebKitSystemInterface/WebKitSystemInterface.h:
* win/lib/WebKitSystemInterface.lib:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@80435
268f45cc-cd09-0410-ab3c-
d52691b4dbfc