Skip to content
  • weinig@apple.com's avatar
    Make certificate data available to the WKFrameRef after it is committed · c368c886
    weinig@apple.com authored
    Part of <rdar://problem/8350189>
    https://bugs.webkit.org/show_bug.cgi?id=45998
    
    Reviewed by Anders Carlsson.
    
    * Shared/APIObject.h:
    Add new type.
    
    * Shared/WebCertificateInfo.h: Added.
    (WebKit::WebCertificateInfo::create):
    (WebKit::WebCertificateInfo::platformCertificateInfo):
    (WebKit::WebCertificateInfo::WebCertificateInfo):
    (WebKit::WebCertificateInfo::type):
    Add API type for vending.
    
    * Shared/mac/PlatformCertificateInfo.h: Added.
    (WebKit::PlatformCertificateInfo::peerCertificates):
    * Shared/mac/PlatformCertificateInfo.mm: Added.
    (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
    (WebKit::PlatformCertificateInfo::encode):
    (WebKit::PlatformCertificateInfo::decode):
    (WebKit::PlatformCertificateInfo::dump):
    * Shared/qt/PlatformCertificateInfo.h: Added.
    (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
    (WebKit::PlatformCertificateInfo::encode):
    (WebKit::PlatformCertificateInfo::decode):
    * Shared/win/PlatformCertificateInfo.h: Added.
    (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
    (WebKit::PlatformCertificateInfo::encode):
    (WebKit::PlatformCertificateInfo::decode):
    Add platform specific holder for certificate data and encode/decode functions
    to send it over the wire. Right now, this only implemented for the mac.
    
    * UIProcess/API/C/WKAPICast.h:
    * UIProcess/API/C/WKBase.h:
    * UIProcess/API/C/WKCertificateInfo.cpp: Added.
    (WKCertificateInfoGetTypeID):
    * UIProcess/API/C/WKCertificateInfo.h: Added.
    Add wrapper for WebCertificateInfo.
    
    * UIProcess/API/C/WKFrame.cpp:
    (WKFrameGetCertificateInfo):
    * UIProcess/API/C/WKFrame.h:
    Add getter for a WKCertificateInfo.
    
    * UIProcess/API/C/mac/WKCertificateInfoMac.h: Added.
    * UIProcess/API/C/mac/WKCertificateInfoMac.mm: Added.
    (WKCertificateInfoGetPeerCertificates):
    Add mac specific getters for the platform specific certificate
    data.
    
    * UIProcess/WebFrameProxy.cpp:
    (WebKit::WebFrameProxy::setCertificateInfo):
    * UIProcess/WebFrameProxy.h:
    (WebKit::WebFrameProxy::certificateInfo):
    * UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::didReceiveMessage):
    (WebKit::WebPageProxy::didCommitLoadForFrame):
    * UIProcess/WebPageProxy.h:
    * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
    (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
    * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
    Pipe the certificate info through to the WebFrameProxy on
    commit.
    
    * WebKit2.pro:
    * WebKit2.xcodeproj/project.pbxproj:
    * win/WebKit2.vcproj:
    * win/WebKit2Generated.make:
    Add new files.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67760 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    c368c886