Changeset 173423 in webkit


Ignore:
Timestamp:
Sep 9, 2014 1:19:16 AM (10 years ago)
Author:
Antti Koivisto
Message:

Pass certificate info as part of ResourceResponse
https://bugs.webkit.org/show_bug.cgi?id=136611

Reviewed by Darin Adler.

Source/WebCore:

The current way of passing certificate info separately from ResourceResponse and then jamming it back
is complex and confusing. This patch makes it a true part of the ResourceResponse.

With this patch we also only create and pass the certificate info object for the main resource. It is
a big and complex object and we never look into it for any other resource type.

  • WebCore.exp.in:
  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::ResourceResponseBase):

Mark initialized for synthetic responses, unitialized for those backed by a platform request.

(WebCore::ResourceResponseBase::initializeCertificateInfo):

Calling this pulls the certificate info out from the platform type.
It shoud only be used for resources that need it.

(WebCore::ResourceResponseBase::certificateInfo):

  • platform/network/ResourceResponseBase.h:

(WebCore::ResourceResponseBase::platformCertificateInfo):
(WebCore::ResourceResponseBase::platformSuggestedFileName):
(WebCore::ResourceResponseBase::encode):
(WebCore::ResourceResponseBase::decode):

Encode and decode certificate info if it is present.

  • platform/network/cf/ResourceResponse.h:
  • platform/network/mac/CertificateInfo.h:
  • platform/network/mac/CertificateInfoMac.mm:

(WebCore::CertificateInfo::CertificateInfo):

  • platform/network/mac/ResourceResponseMac.mm:

(WebCore::ResourceResponse::platformCertificateInfo):
(WebCore::ResourceResponse::setCertificateChain): Deleted.
(WebCore::ResourceResponse::certificateChain): Deleted.

  • platform/network/soup/ResourceResponse.h:
  • platform/network/soup/ResourceResponseSoup.cpp:

(WebCore::ResourceResponse::platformCertificateInfo):

Source/WebKit2:

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didReceiveResponseAsync):

Initialize the certificate info only if requested.

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::didReceiveResponse):
(WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo): Deleted.

Rename didReceiveResponseWithCertificateInfo -> didReceiveResponse as it is now part of the response.

  • WebProcess/Network/WebResourceLoader.h:
  • WebProcess/Network/WebResourceLoader.messages.in:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

Request certificate info for the main resource only.

(WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::certificateInfo):

Location:
trunk/Source
Files:
22 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r173422 r173423  
     12014-09-08  Antti Koivisto  <antti@apple.com>
     2
     3        Pass certificate info as part of ResourceResponse
     4        https://bugs.webkit.org/show_bug.cgi?id=136611
     5
     6        Reviewed by Darin Adler.
     7
     8        The current way of passing certificate info separately from ResourceResponse and then jamming it back
     9        is complex and confusing. This patch makes it a true part of the ResourceResponse.
     10
     11        With this patch we also only create and pass the certificate info object for the main resource. It is
     12        a big and complex object and we never look into it for any other resource type.
     13
     14        * WebCore.exp.in:
     15        * platform/network/ResourceResponseBase.cpp:
     16        (WebCore::ResourceResponseBase::ResourceResponseBase):
     17
     18            Mark initialized for synthetic responses, unitialized for those backed by a platform request.
     19
     20        (WebCore::ResourceResponseBase::initializeCertificateInfo):
     21
     22            Calling this pulls the certificate info out from the platform type.
     23            It shoud only be used for resources that need it.
     24
     25        (WebCore::ResourceResponseBase::certificateInfo):
     26        * platform/network/ResourceResponseBase.h:
     27        (WebCore::ResourceResponseBase::platformCertificateInfo):
     28        (WebCore::ResourceResponseBase::platformSuggestedFileName):
     29        (WebCore::ResourceResponseBase::encode):
     30        (WebCore::ResourceResponseBase::decode):
     31
     32            Encode and decode certificate info if it is present.
     33
     34        * platform/network/cf/ResourceResponse.h:
     35        * platform/network/mac/CertificateInfo.h:
     36        * platform/network/mac/CertificateInfoMac.mm:
     37        (WebCore::CertificateInfo::CertificateInfo):
     38        * platform/network/mac/ResourceResponseMac.mm:
     39        (WebCore::ResourceResponse::platformCertificateInfo):
     40        (WebCore::ResourceResponse::setCertificateChain): Deleted.
     41        (WebCore::ResourceResponse::certificateChain): Deleted.
     42        * platform/network/soup/ResourceResponse.h:
     43        * platform/network/soup/ResourceResponseSoup.cpp:
     44        (WebCore::ResourceResponse::platformCertificateInfo):
     45
    1462014-09-09  Mihnea Ovidenie  <mihnea@adobe.com>
    247
  • trunk/Source/WebCore/WebCore.exp.in

    r173356 r173423  
    492492__ZN7WebCore15BackForwardList9goForwardEv
    493493__ZN7WebCore15BackForwardListC1EPNS_4PageE
    494 __ZN7WebCore15CertificateInfoC1EPK9__CFArray
    495 __ZN7WebCore15CertificateInfoC1ERKNS_16ResourceResponseE
    496 __ZN7WebCore15CertificateInfoC1Ev
    497494__ZN7WebCore15DOMWrapperWorld13clearWrappersEv
    498495__ZN7WebCore15DOMWrapperWorldD1Ev
     
    717714__ZN7WebCore16NavigationActionC1ERKNS_15ResourceRequestENS_14NavigationTypeE
    718715__ZN7WebCore16NavigationActionC1Ev
    719 __ZN7WebCore16ResourceResponse19setCertificateChainEPK9__CFArray
    720716__ZN7WebCore16ScriptController10initScriptERNS_15DOMWrapperWorldE
    721717__ZN7WebCore16ScriptController11createWorldEv
     
    17821778__ZNK7WebCore16IconDatabaseBase12databasePathEv
    17831779__ZNK7WebCore16ResourceResponse13nsURLResponseEv
    1784 __ZNK7WebCore16ResourceResponse16certificateChainEv
    17851780__ZNK7WebCore16VisibleSelection17isContentEditableEv
    17861781__ZNK7WebCore16VisibleSelection17isInPasswordFieldEv
     
    18311826__ZNK7WebCore20ResourceResponseBase14httpStatusCodeEv
    18321827__ZNK7WebCore20ResourceResponseBase14httpStatusTextEv
     1828__ZNK7WebCore20ResourceResponseBase15certificateInfoEv
    18331829__ZNK7WebCore20ResourceResponseBase15httpHeaderFieldENS_14HTTPHeaderNameE
    18341830__ZNK7WebCore20ResourceResponseBase16httpHeaderFieldsEv
     
    18361832__ZNK7WebCore20ResourceResponseBase17suggestedFilenameEv
    18371833__ZNK7WebCore20ResourceResponseBase21expectedContentLengthEv
     1834__ZNK7WebCore20ResourceResponseBase22includeCertificateInfoEv
    18381835__ZNK7WebCore20ResourceResponseBase3urlEv
    18391836__ZNK7WebCore20ResourceResponseBase6isHTTPEv
  • trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj

    r173318 r173423  
    1979919799    <CustomBuildStep Include="..\platform\network\cf\AuthenticationCF.h" />
    1980019800    <CustomBuildStep Include="..\platform\network\cf\AuthenticationChallenge.h" />
     19801    <CustomBuildStep Include="..\platform\network\cf\CertificateInfo.h" />
    1980119802    <ClInclude Include="..\platform\network\cf\DownloadBundle.h" />
    1980219803    <CustomBuildStep Include="..\platform\network\cf\FormDataStreamCFNet.h" />
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r173364 r173423  
    1631816318                                514C76430CE9234E007EF3CD /* AuthenticationMac.mm */,
    1631916319                                E164A2EB191AE6350010737D /* BlobDataFileReferenceMac.mm */,
    16320                                 5F2DBBE8178E336900141486 /* CertificateInfo.h */,
    1632116320                                5F2DBBE7178E332D00141486 /* CertificateInfoMac.mm */,
    1632216321                                E1424C8F164B460B00F32D40 /* CookieJarMac.mm */,
     
    2057020569                                7EE6844D12D26E3800E79415 /* AuthenticationCF.h */,
    2057120570                                7EE6844E12D26E3800E79415 /* AuthenticationChallenge.h */,
     20571                                5F2DBBE8178E336900141486 /* CertificateInfo.h */,
    2057220572                                7EE6844F12D26E3800E79415 /* CookieJarCFNet.cpp */,
    2057320573                                7EE6845012D26E3800E79415 /* CookieStorageCFNet.cpp */,
  • trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp

    r173272 r173423  
    4747ResourceResponseBase::ResourceResponseBase() 
    4848    : m_expectedContentLength(0)
     49    , m_includesCertificateInfo(false)
    4950    , m_httpStatusCode(0)
    5051    , m_connectionID(0)
     
    7374    , m_expectedContentLength(expectedLength)
    7475    , m_textEncodingName(textEncodingName)
     76    , m_includesCertificateInfo(true) // Empty but valid for synthetic responses.
    7577    , m_httpStatusCode(0)
    7678    , m_connectionID(0)
     
    206208}
    207209
    208 // FIXME should compute this on the fly
     210void ResourceResponseBase::includeCertificateInfo() const
     211{
     212    if (m_includesCertificateInfo)
     213        return;
     214    m_certificateInfo = static_cast<const ResourceResponse*>(this)->platformCertificateInfo();
     215    m_includesCertificateInfo = true;
     216}
     217
     218CertificateInfo ResourceResponseBase::certificateInfo() const
     219{
     220    ASSERT(m_includesCertificateInfo);
     221    return m_certificateInfo;
     222}
     223
    209224String ResourceResponseBase::suggestedFilename() const
    210225{
  • trunk/Source/WebCore/platform/network/ResourceResponseBase.h

    r173356 r173423  
    2828#define ResourceResponseBase_h
    2929
     30#include "CertificateInfo.h"
    3031#include "HTTPHeaderMap.h"
    3132#include "URL.h"
     
    9293    WEBCORE_EXPORT bool isAttachment() const;
    9394    WEBCORE_EXPORT String suggestedFilename() const;
     95
     96    void includeCertificateInfo() const;
     97    CertificateInfo certificateInfo() const;
    9498   
    9599    // These functions return parsed values of the corresponding response headers.
     
    140144    void lazyInit(InitLevel) const;
    141145
    142     // The ResourceResponse subclass may "shadow" this method to lazily initialize platform specific fields
     146    // The ResourceResponse subclass should shadow these functions to lazily initialize platform specific fields
    143147    void platformLazyInit(InitLevel) { }
    144     String platformSuggestedFileName() { return String(); }
    145 
    146     // The ResourceResponse subclass may "shadow" this method to compare platform specific fields
     148    CertificateInfo platformCertificateInfo() const { return CertificateInfo(); };
     149    String platformSuggestedFileName() const { return String(); }
     150
    147151    static bool platformCompare(const ResourceResponse&, const ResourceResponse&) { return true; }
    148152
     
    154158    HTTPHeaderMap m_httpHeaderFields;
    155159    mutable ResourceLoadTiming m_resourceLoadTiming;
     160
     161    mutable bool m_includesCertificateInfo;
     162    mutable CertificateInfo m_certificateInfo;
    156163
    157164    int m_httpStatusCode;
     
    207214    encoder << m_httpStatusCode;
    208215    encoder << m_connectionID;
     216    encoder << m_includesCertificateInfo;
     217    if (m_includesCertificateInfo)
     218        encoder << m_certificateInfo;
    209219}
    210220
     
    241251    if (!decoder.decode(response.m_connectionID))
    242252        return false;
     253    if (!decoder.decode(response.m_includesCertificateInfo))
     254        return false;
     255    if (response.m_includesCertificateInfo) {
     256        if (!decoder.decode(response.m_certificateInfo))
     257            return false;
     258    }
    243259    response.m_isNull = false;
    244260
  • trunk/Source/WebCore/platform/network/cf/CertificateInfo.h

    r173372 r173423  
    2727#define CertificateInfo_h
    2828
    29 #include <WebCore/ResourceResponse.h>
    3029#include <wtf/RetainPtr.h>
    3130
     
    3433class CertificateInfo {
    3534public:
    36     WEBCORE_EXPORT CertificateInfo();
    37     WEBCORE_EXPORT explicit CertificateInfo(const ResourceResponse&);
    38     WEBCORE_EXPORT explicit CertificateInfo(CFArrayRef certificateChain);
     35    CertificateInfo() { }
     36    CertificateInfo(RetainPtr<CFArrayRef> certificateChain)
     37        : m_certificateChain(certificateChain)
     38    { }
    3939
    4040    void setCertificateChain(CFArrayRef certificateChain) { m_certificateChain = certificateChain; }
     
    4949};
    5050
    51 } // namespace WebKit
     51}
    5252
    53 #endif // CertificateInfo_h
     53#endif
  • trunk/Source/WebCore/platform/network/cf/ResourceResponse.h

    r173272 r173423  
    9393#endif
    9494
    95 #if PLATFORM(COCOA) || USE(CFNETWORK)
    96     WEBCORE_EXPORT void setCertificateChain(CFArrayRef);
    97     WEBCORE_EXPORT RetainPtr<CFArrayRef> certificateChain() const;
    98 #endif
    99 
    10095    bool platformResponseIsUpToDate() const { return m_platformResponseIsUpToDate; }
    10196
     
    105100    void platformLazyInit(InitLevel);
    106101    String platformSuggestedFilename() const;
     102    CertificateInfo platformCertificateInfo() const;
     103
    107104    PassOwnPtr<CrossThreadResourceResponseData> doPlatformCopyData(PassOwnPtr<CrossThreadResourceResponseData> data) const { return data; }
    108105    void doPlatformAdopt(PassOwnPtr<CrossThreadResourceResponseData>) { }
     
    122119    mutable RetainPtr<NSURLResponse> m_nsResponse;
    123120#endif
    124 #if PLATFORM(COCOA) || USE(CFNETWORK)
    125     // Certificate chain is normally part of NS/CFURLResponse, but there is no way to re-add it to a deserialized response after IPC.
    126     RetainPtr<CFArrayRef> m_externalCertificateChain;
    127 #endif
    128121};
    129122
  • trunk/Source/WebCore/platform/network/mac/CertificateInfoMac.mm

    r160487 r173423  
    2929namespace WebCore {
    3030
    31 CertificateInfo::CertificateInfo()
    32 {
    33 }
    34 
    35 CertificateInfo::CertificateInfo(const ResourceResponse& response)
    36     : m_certificateChain(response.certificateChain())
    37 {
    38 }
    39 
    40 CertificateInfo::CertificateInfo(CFArrayRef certificateChain)
    41     : m_certificateChain(certificateChain)
    42 {
    43 }
    44 
    4531#ifndef NDEBUG
    4632void CertificateInfo::dump() const
  • trunk/Source/WebCore/platform/network/mac/ResourceResponseMac.mm

    r173360 r173423  
    173173}
    174174
     175CertificateInfo ResourceResponse::platformCertificateInfo() const
     176{
     177    ASSERT(m_nsResponse);
     178    return CertificateInfo(adoptCF(wkCopyNSURLResponseCertificateChain(m_nsResponse.get())));
     179}
     180
    175181String ResourceResponse::platformSuggestedFilename() const
    176182{
     
    185191#endif // USE(CFNETWORK)
    186192
    187 #if PLATFORM(COCOA) || USE(CFNETWORK)
    188 
    189 void ResourceResponse::setCertificateChain(CFArrayRef certificateChain)
    190 {
    191     ASSERT(!m_nsResponse || !wkCopyNSURLResponseCertificateChain(m_nsResponse.get()));
    192     m_externalCertificateChain = certificateChain;
    193 }
    194 
    195 RetainPtr<CFArrayRef> ResourceResponse::certificateChain() const
    196 {
    197     if (m_externalCertificateChain)
    198         return m_externalCertificateChain;
    199 
    200     return adoptCF(wkCopyNSURLResponseCertificateChain(nsURLResponse()));
    201 }
    202 
    203 #endif // PLATFORM(COCOA) || USE(CFNETWORK)
    204 
    205193} // namespace WebCore
    206194
  • trunk/Source/WebCore/platform/network/soup/ResourceResponse.h

    r173356 r173423  
    9090    void doUpdateResourceResponse() { }
    9191    String platformSuggestedFilename() const;
     92    CertificateInfo platformCertificateInfo() const;
    9293
    9394    PassOwnPtr<CrossThreadResourceResponseData> doPlatformCopyData(PassOwnPtr<CrossThreadResourceResponseData> data) const { return data; }
  • trunk/Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp

    r173331 r173423  
    102102}
    103103
     104CertificateInfo ResourceResponse::platformCertificateInfo() const
     105{
     106    return CertificateInfo(m_certificate.get(), m_tlsErrors);
     107}
     108
    104109String ResourceResponse::platformSuggestedFilename() const
    105110{
  • trunk/Source/WebKit2/ChangeLog

    r173420 r173423  
     12014-09-08  Antti Koivisto  <antti@apple.com>
     2
     3        Pass certificate info as part of ResourceResponse
     4        https://bugs.webkit.org/show_bug.cgi?id=136611
     5
     6        Reviewed by Darin Adler.
     7
     8        * NetworkProcess/NetworkResourceLoader.cpp:
     9        (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
     10
     11            Initialize the certificate info only if requested.
     12
     13        * WebProcess/Network/WebResourceLoader.cpp:
     14        (WebKit::WebResourceLoader::didReceiveResponse):
     15        (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo): Deleted.
     16
     17            Rename didReceiveResponseWithCertificateInfo -> didReceiveResponse as it is now part of the response.
     18
     19        * WebProcess/Network/WebResourceLoader.h:
     20        * WebProcess/Network/WebResourceLoader.messages.in:
     21        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
     22
     23            Request certificate info for the main resource only.
     24
     25        (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
     26        * WebProcess/WebPage/WebFrame.cpp:
     27        (WebKit::WebFrame::certificateInfo):
     28
    1292014-09-08  Shivakumar JM  <shiva.jm@samsung.com>
    230
  • trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp

    r173394 r173423  
    9898    , m_isLoadingMainResource(parameters.isMainResource)
    9999    , m_defersLoading(parameters.defersLoading)
     100    , m_needsCertificateInfo(parameters.needsCertificateInfo)
    100101    , m_maximumBufferingTime(parameters.maximumBufferingTime)
    101102    , m_bufferingTimer(this, &NetworkResourceLoader::bufferingTimerFired)
     
    222223    ASSERT_UNUSED(handle, handle == m_handle);
    223224
     225    if (m_needsCertificateInfo)
     226        response.includeCertificateInfo();
     227
    224228    if (isSynchronous())
    225229        m_synchronousLoadData->m_response = response;
    226230    else
    227         sendAbortingOnFailure(Messages::WebResourceLoader::DidReceiveResponseWithCertificateInfo(response, CertificateInfo(response), isLoadingMainResource()));
     231        sendAbortingOnFailure(Messages::WebResourceLoader::DidReceiveResponse(response, isLoadingMainResource()));
    228232
    229233    // m_handle will be null if the request got aborted above.
  • trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.h

    r173394 r173423  
    194194    bool m_isLoadingMainResource;
    195195    bool m_defersLoading;
     196    bool m_needsCertificateInfo;
    196197    const std::chrono::milliseconds m_maximumBufferingTime;
    197198
  • trunk/Source/WebKit2/Shared/Network/NetworkResourceLoadParameters.cpp

    r173394 r173423  
    4848    , isMainResource(false)
    4949    , defersLoading(false)
     50    , needsCertificateInfo(false)
    5051    , maximumBufferingTime(0_ms)
    5152{
     
    9697    encoder << isMainResource;
    9798    encoder << defersLoading;
     99    encoder << needsCertificateInfo;
    98100    encoder << maximumBufferingTime;
    99101}
     
    147149    if (!decoder.decode(result.defersLoading))
    148150        return false;
     151    if (!decoder.decode(result.needsCertificateInfo))
     152        return false;
    149153    if (!decoder.decode(result.maximumBufferingTime))
    150154        return false;
  • trunk/Source/WebKit2/Shared/Network/NetworkResourceLoadParameters.h

    r173394 r173423  
    6464    bool isMainResource;
    6565    bool defersLoading;
     66    bool needsCertificateInfo;
    6667    std::chrono::milliseconds maximumBufferingTime;
    6768};
  • trunk/Source/WebKit2/WebProcess/Network/WebResourceLoadScheduler.cpp

    r173420 r173423  
    174174    loadParameters.isMainResource = resource && resource->type() == CachedResource::MainResource;
    175175    loadParameters.defersLoading = resourceLoader->defersLoading();
     176    loadParameters.needsCertificateInfo = loadParameters.isMainResource;
    176177    loadParameters.maximumBufferingTime = maximumBufferingTime(resource);
    177178
  • trunk/Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp

    r172191 r173423  
    103103}
    104104
    105 void WebResourceLoader::didReceiveResponseWithCertificateInfo(const ResourceResponse& response, const CertificateInfo& certificateInfo, bool needsContinueDidReceiveResponseMessage)
     105void WebResourceLoader::didReceiveResponse(const ResourceResponse& response, bool needsContinueDidReceiveResponseMessage)
    106106{
    107107    LOG(Network, "(WebProcess) WebResourceLoader::didReceiveResponseWithCertificateInfo for '%s'. Status %d.", m_coreLoader->url().string().utf8().data(), response.httpStatusCode());
     
    109109    Ref<WebResourceLoader> protect(*this);
    110110
    111     ResourceResponse responseCopy(response);
    112 
    113     // FIXME: This should use CertificateInfo to avoid the platform ifdefs. See https://bugs.webkit.org/show_bug.cgi?id=124724.
    114 #if PLATFORM(COCOA)
    115     responseCopy.setCertificateChain(certificateInfo.certificateChain());
    116 #elif USE(SOUP)
    117     responseCopy.setSoupMessageCertificate(certificateInfo.certificate());
    118     responseCopy.setSoupMessageTLSErrors(certificateInfo.tlsErrors());
    119 #endif
    120 
    121     if (m_coreLoader->documentLoader()->applicationCacheHost()->maybeLoadFallbackForResponse(m_coreLoader.get(), responseCopy))
     111    if (m_coreLoader->documentLoader()->applicationCacheHost()->maybeLoadFallbackForResponse(m_coreLoader.get(), response))
    122112        return;
    123113
     
    126116    // converted resource isn't yet known. WebResourceLoaderQuickLookDelegate will later call didReceiveResponse upon
    127117    // receiving the converted data.
    128     m_coreLoader->documentLoader()->setQuickLookHandle(QuickLookHandle::create(resourceLoader(), responseCopy.nsURLResponse()));
     118    m_coreLoader->documentLoader()->setQuickLookHandle(QuickLookHandle::create(resourceLoader(), response.nsURLResponse()));
    129119    if (!m_coreLoader->documentLoader()->quickLookHandle())
    130120#endif
    131         m_coreLoader->didReceiveResponse(responseCopy);
     121        m_coreLoader->didReceiveResponse(response);
    132122
    133123    // If m_coreLoader becomes null as a result of the didReceiveResponse callback, we can't use the send function().
  • trunk/Source/WebKit2/WebProcess/Network/WebResourceLoader.h

    r172191 r173423  
    8181    void willSendRequest(const WebCore::ResourceRequest&, const WebCore::ResourceResponse& redirectResponse);
    8282    void didSendData(uint64_t bytesSent, uint64_t totalBytesToBeSent);
    83     void didReceiveResponseWithCertificateInfo(const WebCore::ResourceResponse&, const WebCore::CertificateInfo&, bool needsContinueDidReceiveResponseMessage);
     83    void didReceiveResponse(const WebCore::ResourceResponse&, bool needsContinueDidReceiveResponseMessage);
    8484    void didReceiveData(const IPC::DataReference&, int64_t encodedDataLength);
    8585    void didFinishResourceLoad(double finishTime);
  • trunk/Source/WebKit2/WebProcess/Network/WebResourceLoader.messages.in

    r167894 r173423  
    2727    CancelResourceLoader()
    2828
    29     // FIXME (NetworkProcess): We'll need much more granularity for response messages.
    3029    WillSendRequest(WebCore::ResourceRequest request, WebCore::ResourceResponse redirectResponse)
    3130    DidSendData(uint64_t bytesSent, uint64_t totalBytesToBeSent)
    32     DidReceiveResponseWithCertificateInfo(WebCore::ResourceResponse response, WebCore::CertificateInfo certificateInfo, bool needsContinueDidReceiveResponseMessage)
     31    DidReceiveResponse(WebCore::ResourceResponse response, bool needsContinueDidReceiveResponseMessage)
    3332    DidReceiveData(IPC::DataReference data, int64_t encodedDataLength)
    3433    DidFinishResourceLoad(double finishTime)
  • trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp

    r171826 r173423  
    456456    // Notify the UIProcess.
    457457
    458     webPage->send(Messages::WebPageProxy::DidCommitLoadForFrame(m_frame->frameID(), documentLoader.navigationID(), documentLoader.response().mimeType(), m_frameHasCustomContentProvider, static_cast<uint32_t>(m_frame->coreFrame()->loader().loadType()), CertificateInfo(documentLoader.response()), InjectedBundleUserMessageEncoder(userData.get())));
     458    webPage->send(Messages::WebPageProxy::DidCommitLoadForFrame(m_frame->frameID(), documentLoader.navigationID(), documentLoader.response().mimeType(), m_frameHasCustomContentProvider, static_cast<uint32_t>(m_frame->coreFrame()->loader().loadType()), documentLoader.response().certificateInfo(), InjectedBundleUserMessageEncoder(userData.get())));
    459459    webPage->didCommitLoad(m_frame);
    460460}
  • trunk/Source/WebKit2/WebProcess/WebPage/WebFrame.cpp

    r170774 r173423  
    418418        return CertificateInfo();
    419419
    420     return CertificateInfo(documentLoader->response());
     420    return documentLoader->response().certificateInfo();
    421421}
    422422
Note: See TracChangeset for help on using the changeset viewer.