diff options
Diffstat (limited to 'Source/WebKit2/WebProcess/InjectedBundle/win/InjectedBundleWin.cpp')
-rw-r--r-- | Source/WebKit2/WebProcess/InjectedBundle/win/InjectedBundleWin.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/Source/WebKit2/WebProcess/InjectedBundle/win/InjectedBundleWin.cpp b/Source/WebKit2/WebProcess/InjectedBundle/win/InjectedBundleWin.cpp index 1e593fc..4b415a4 100644 --- a/Source/WebKit2/WebProcess/InjectedBundle/win/InjectedBundleWin.cpp +++ b/Source/WebKit2/WebProcess/InjectedBundle/win/InjectedBundleWin.cpp @@ -28,6 +28,8 @@ #include "WKBundleAPICast.h" #include "WKBundleInitialize.h" +#include "WebCertificateInfo.h" +#include <WebCore/ResourceHandle.h> #include <WebCore/SimpleFontData.h> #include <windows.h> @@ -35,6 +37,10 @@ #include <shlobj.h> #include <shlwapi.h> +#if USE(CFNETWORK) +#include <WebCore/CertificateCFWin.h> +#endif + using namespace WebCore; namespace WebKit { @@ -86,4 +92,27 @@ void InjectedBundle::activateMacFontAscentHack() SimpleFontData::setShouldApplyMacAscentHack(true); } +void InjectedBundle::setHostAllowsAnyHTTPSCertificate(const String& host) +{ +#if USE(CFNETWORK) + ResourceHandle::setHostAllowsAnyHTTPSCertificate(host); +#endif +} + +void InjectedBundle::setClientCertificate(const String& host, const WebCertificateInfo* certificateInfo) +{ +#if USE(CFNETWORK) + ASSERT(certificateInfo); + if (!certificateInfo) + return; + + const Vector<PCCERT_CONTEXT> certificateChain = certificateInfo->platformCertificateInfo().certificateChain(); + ASSERT(certificateChain.size() == 1); + if (certificateChain.size() != 1) + return; + + ResourceHandle::setClientCertificate(host, WebCore::copyCertificateToData(certificateChain.first()).get()); +#endif +} + } // namespace WebKit |