WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch
bug-118520-20131014184927.patch (text/plain), 100.26 KB, created by
Csaba Osztrogonác
on 2013-10-14 09:49:29 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Csaba Osztrogonác
Created:
2013-10-14 09:49:29 PDT
Size:
100.26 KB
patch
obsolete
>Subversion Revision: 157398 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 9295fd6ee9b34ed2dc75a550c45641ec8ef0a20b..d897c2b6c77edc53e4be55c780d7b9ed0021a48a 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,85 @@ >+2013-10-14 Csaba Osztrogonác <ossy@webkit.org> >+ >+ Move PlatformCertificateInfo to WebCore and make the ResourceResponse primitives work in terms of that platform agnostic object >+ https://bugs.webkit.org/show_bug.cgi?id=118520 >+ >+ Reviewed by Anders Carlsson. >+ >+ Added PlatformCertificateInfo getter and setter to ResourceErrorBase >+ and ResourceResponseBase so that getting and setting certificates >+ becomes cross platform. >+ >+ Changed the existing platform specific certificate getters and setters >+ of ResourceError and ResourceResponse to use the >+ PlatformCertificateInfo member. >+ >+ Original patch by Kwang Yul Seo <skyul@company100.net> >+ >+ The following things were fixed by Csaba Osztrogonác: >+ - trivial conflicts resolved in WebCore.exp.in, project.pbxproj, NetworkResourceLoader.cpp, >+ WebPageProxy.h, WebFrameLoaderClient.cpp and PlatformEfl.cmake. >+ - trivial fix in the new AsynchronousNetworkLoaderClient.cpp >+ - style fixed (NULL -> 0 and smaller indentation in WebCoreArgumentCodersSoup.cpp) >+ - obsolete change removed from NetworkResourceLoader.cpp >+ - unneeded typo removed from ResourceHandleSoup.cpp >+ - Fixed the if guard of including RetainPtr.h in PlatformCertificateInfo.h to make Windows build happy. >+ - add PlatformCertificateInfoCFNet.cpp with empty constructor and destructor to make Windows build happy. >+ - resolved conflict in Source/WebCore/WebCore.xcodeproj/project.pbxproj after r156488 >+ - renamed KURL to URL after r156550. >+ - removed obsolete Qt changes >+ - added back initializers for m_soupFlags >+ - included gio/gio.h instead of libsoup/soup.h in PlatformCertificateInfo.h >+ - removed unused class forward declarations and includes >+ >+ * GNUmakefile.list.am: >+ * PlatformEfl.cmake: >+ * Target.pri: >+ * WebCore.exp.in: >+ * WebCore.vcxproj/WebCore.vcxproj: >+ * WebCore.vcxproj/WebCore.vcxproj.filters: >+ * WebCore.xcodeproj/project.pbxproj: >+ * platform/network/PlatformCertificateInfo.h: Renamed from Source/WebKit2/Shared/soup/PlatformCertificateInfo.h. >+ (WebCore::PlatformCertificateInfo::certificate): >+ (WebCore::PlatformCertificateInfo::setCertificate): >+ (WebCore::PlatformCertificateInfo::tlsErrors): >+ (WebCore::PlatformCertificateInfo::setTLSErrors): >+ * platform/network/ResourceErrorBase.h: >+ (WebCore::ResourceErrorBase::platformCertificateInfo): >+ (WebCore::ResourceErrorBase::setPlatformCertificateInfo): >+ * platform/network/ResourceResponseBase.h: >+ (WebCore::ResourceResponseBase::platformCertificateInfo): >+ (WebCore::ResourceResponseBase::setPlatformCertificateInfo): >+ * platform/network/cf/ResourceResponse.h: >+ * platform/network/mac/PlatformCertificateInfoMac.mm: Renamed from Source/WebKit2/Shared/mac/PlatformCertificateInfo.mm. >+ (WebCore::PlatformCertificateInfo::PlatformCertificateInfo): >+ (WebCore::PlatformCertificateInfo::~PlatformCertificateInfo): >+ (WebCore::PlatformCertificateInfo::setCertificateChain): >+ (WebCore::PlatformCertificateInfo::certificateChain): >+ (WebCore::PlatformCertificateInfo::dump): >+ * platform/network/mac/ResourceResponseMac.mm: >+ (WebCore::ResourceResponse::setCertificateChain): >+ (WebCore::ResourceResponse::certificateChain): >+ * platform/network/soup/PlatformCertificateInfoSoup.cpp: >+ (WebCore::PlatformCertificateInfo::PlatformCertificateInfo): >+ (WebCore::PlatformCertificateInfo::~PlatformCertificateInfo): >+ * platform/network/soup/ResourceError.h: >+ (WebCore::ResourceError::ResourceError): >+ (WebCore::ResourceError::tlsErrors): >+ (WebCore::ResourceError::setTLSErrors): >+ (WebCore::ResourceError::certificate): >+ (WebCore::ResourceError::setCertificate): >+ * platform/network/soup/ResourceErrorSoup.cpp: >+ (WebCore::ResourceError::platformCopy): >+ * platform/network/soup/ResourceResponse.h: >+ (WebCore::ResourceResponse::ResourceResponse): >+ (WebCore::ResourceResponse::soupMessageCertificate): >+ (WebCore::ResourceResponse::setSoupMessageCertificate): >+ (WebCore::ResourceResponse::soupMessageTLSErrors): >+ (WebCore::ResourceResponse::setSoupMessageTLSErrors): >+ * platform/network/soup/ResourceResponseSoup.cpp: >+ (WebCore::ResourceResponse::toSoupMessage): >+ (WebCore::ResourceResponse::updateFromSoupMessage): >+ > 2013-10-14 Arvid Nilsson <anilsson@blackberry.com> > > Don't crash after OpenGL robustness reset >diff --git a/Source/WebKit2/ChangeLog b/Source/WebKit2/ChangeLog >index 2729d3918dee677c19cd3b41dabde5b8fa1df2b8..87fe373e21ed889803b4e4e8afb076a83c8d0420 100644 >--- a/Source/WebKit2/ChangeLog >+++ b/Source/WebKit2/ChangeLog >@@ -1,3 +1,85 @@ >+2013-10-14 Csaba Osztrogonác <ossy@webkit.org> >+ >+ Move PlatformCertificateInfo to WebCore and make the ResourceResponse primitives work in terms of that platform agnostic object >+ https://bugs.webkit.org/show_bug.cgi?id=118520 >+ >+ Reviewed by Anders Carlsson. >+ >+ Added PlatformCertificateInfo getter and setter to ResourceErrorBase >+ and ResourceResponseBase so that getting and setting certificates >+ becomes cross platform. >+ >+ Changed the existing platform specific certificate getters and setters >+ of ResourceError and ResourceResponse to use the >+ PlatformCertificateInfo member. >+ >+ Original patch by Kwang Yul Seo <skyul@company100.net> >+ >+ The following things were fixed by Csaba Osztrogonác: >+ - trivial conflicts resolved in WebCore.exp.in, project.pbxproj, NetworkResourceLoader.cpp, >+ WebPageProxy.h, WebFrameLoaderClient.cpp and PlatformEfl.cmake. >+ - trivial fix in the new AsynchronousNetworkLoaderClient.cpp >+ - style fixed (NULL -> 0 and smaller indentation in WebCoreArgumentCodersSoup.cpp) >+ - obsolete change removed from NetworkResourceLoader.cpp >+ - unneeded typo removed from ResourceHandleSoup.cpp >+ - Fixed the if guard of including RetainPtr.h in PlatformCertificateInfo.h to make Windows build happy. >+ - add PlatformCertificateInfoCFNet.cpp with empty constructor and destructor to make Windows build happy. >+ - resolve conflict in Source/WebCore/WebCore.xcodeproj/project.pbxproj after r156488 >+ - rename KURL to URL after r156550. >+ - remove obsolete Qt changes >+ - added back initializers for m_soupFlags >+ - included gio/gio.h instead of libsoup/soup.h in PlatformCertificateInfo.h >+ - removed unused class forward declarations and includes >+ >+ * GNUmakefile.list.am: >+ * NetworkProcess/AsynchronousNetworkLoaderClient.cpp: >+ (WebKit::AsynchronousNetworkLoaderClient::didReceiveResponse): >+ * NetworkProcess/NetworkProcess.h: >+ * NetworkProcess/NetworkProcess.messages.in: >+ * NetworkProcess/NetworkResourceLoader.cpp: >+ * NetworkProcess/mac/NetworkProcessMac.mm: >+ * PlatformEfl.cmake: >+ * PlatformGTK.cmake: >+ * Shared/API/c/mac/WKCertificateInfoMac.mm: >+ (WKCertificateInfoCreateWithCertficateChain): >+ * Shared/Authentication/AuthenticationManager.h: >+ * Shared/Authentication/AuthenticationManager.messages.in: >+ * Shared/Authentication/mac/AuthenticationManager.mac.mm: >+ * Shared/UserMessageCoders.h: >+ (WebKit::UserMessageDecoder::baseDecode): >+ * Shared/WebCertificateInfo.h: >+ (WebKit::WebCertificateInfo::create): >+ (WebKit::WebCertificateInfo::platformCertificateInfo): >+ (WebKit::WebCertificateInfo::WebCertificateInfo): >+ * Shared/WebCoreArgumentCoders.cpp: >+ (CoreIPC::::decode): >+ (CoreIPC::::encode): >+ * Shared/WebCoreArgumentCoders.h: >+ * Shared/mac/WebCoreArgumentCodersMac.mm: >+ (CoreIPC::::encodePlatformData): >+ (CoreIPC::::decodePlatformData): >+ * Shared/soup/PlatformCertificateInfo.cpp: Removed. >+ * Shared/soup/WebCoreArgumentCodersSoup.cpp: >+ (CoreIPC::::encodePlatformData): >+ (CoreIPC::::decodePlatformData): >+ * Target.pri: >+ * UIProcess/API/gtk/WebKitWebView.cpp: >+ (webkit_web_view_get_tls_info): >+ * UIProcess/Authentication/AuthenticationChallengeProxy.cpp: >+ (WebKit::AuthenticationChallengeProxy::useCredential): >+ * UIProcess/WebFrameProxy.cpp: >+ (WebKit::WebFrameProxy::didCommitLoad): >+ * UIProcess/WebFrameProxy.h: >+ * UIProcess/WebPageProxy.h: >+ * UIProcess/WebPageProxy.messages.in: >+ * WebKit2.xcodeproj/project.pbxproj: >+ * WebProcess/Network/WebResourceLoader.cpp: >+ (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo): >+ * WebProcess/Network/WebResourceLoader.h: >+ * WebProcess/Network/WebResourceLoader.messages.in: >+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: >+ (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): >+ > 2013-10-13 Darin Adler <darin@apple.com> > > Deprecate or remove deleteAllValues functions; there are only a few call sites left >diff --git a/Source/WebCore/GNUmakefile.list.am b/Source/WebCore/GNUmakefile.list.am >index 7c931997caa89851f37a509c157bb462695f94fc..ce816298fabb87cc15d77ec7f2435b435b38d291 100644 >--- a/Source/WebCore/GNUmakefile.list.am >+++ b/Source/WebCore/GNUmakefile.list.am >@@ -5409,6 +5409,7 @@ webcore_platform_sources += \ > Source/WebCore/platform/network/BlobResourceHandle.cpp \ > Source/WebCore/platform/network/BlobResourceHandle.h \ > Source/WebCore/platform/network/BlobStorageData.h \ >+ Source/WebCore/platform/network/CertificateInfo.h \ > Source/WebCore/platform/network/CookieStorage.h \ > Source/WebCore/platform/network/FormDataBuilder.cpp \ > Source/WebCore/platform/network/FormDataBuilder.h \ >@@ -5443,6 +5444,7 @@ webcore_platform_sources += \ > Source/WebCore/platform/network/SocketStreamHandleClient.h \ > Source/WebCore/platform/network/soup/AuthenticationChallenge.h \ > Source/WebCore/platform/network/soup/AuthenticationChallengeSoup.cpp \ >+ Source/WebCore/platform/network/soup/CertificateInfoSoup.cpp \ > Source/WebCore/platform/network/soup/CookieJarSoup.cpp \ > Source/WebCore/platform/network/soup/CookieJarSoup.h \ > Source/WebCore/platform/network/soup/CookieStorageSoup.cpp \ >diff --git a/Source/WebCore/PlatformEfl.cmake b/Source/WebCore/PlatformEfl.cmake >index c98b7a3b249d37cbcfcc03322c958dccc98febd3..ecaa77857a226ce0a9151dd0052393b99283003b 100644 >--- a/Source/WebCore/PlatformEfl.cmake >+++ b/Source/WebCore/PlatformEfl.cmake >@@ -148,6 +148,7 @@ list(APPEND WebCore_SOURCES > platform/network/efl/NetworkStateNotifierEfl.cpp > > platform/network/soup/AuthenticationChallengeSoup.cpp >+ platform/network/soup/CertificateInfoSoup.cpp > platform/network/soup/CookieJarSoup.cpp > platform/network/soup/CookieStorageSoup.cpp > platform/network/soup/CredentialStorageSoup.cpp >diff --git a/Source/WebCore/WebCore.exp.in b/Source/WebCore/WebCore.exp.in >index a6adc9b0ab265ef8e39344b0f0088c5621eddfed..1466bdd0341297d2dce47ea6342e81049f2c97fd 100644 >--- a/Source/WebCore/WebCore.exp.in >+++ b/Source/WebCore/WebCore.exp.in >@@ -762,6 +762,11 @@ __ZN7WebCore23AuthenticationChallenge23setAuthenticationClientEPNS_20Authenticat > __ZN7WebCore23AuthenticationChallengeC1ERKNS_15ProtectionSpaceERKNS_10CredentialEjRKNS_16ResourceResponseERKNS_13ResourceErrorE > __ZN7WebCore23MutableStylePropertySet25ensureCSSStyleDeclarationEv > __ZN7WebCore23MutableStylePropertySetD1Ev >+__ZN7WebCore15CertificateInfo19setCertificateChainEPK9__CFArray >+__ZN7WebCore15CertificateInfoC1EPK9__CFArray >+__ZN7WebCore15CertificateInfoC1Ev >+__ZN7WebCore15CertificateInfoD1Ev >+__ZNK7WebCore15CertificateInfo16certificateChainEv > __ZN7WebCore23SynchronousLoaderClient24platformBadResponseErrorEv > __ZN7WebCore23dataForURLComponentTypeEP5NSURLl > __ZN7WebCore23decodeHostNameWithRangeEP8NSString8_NSRange >diff --git a/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj b/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj >index bc3d41064d961febe89bae4aa649e48bc04c72e2..a9ab745f61564dd139ffbba926d02ad2d393fec8 100644 >--- a/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj >+++ b/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj >@@ -7973,6 +7973,12 @@ > <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild> > <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild> > </ClCompile> >+ <ClCompile Include="..\platform\network\cf\CertificateInfoCFNet.cpp"> >+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild> >+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild> >+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild> >+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild> >+ </ClCompile> > <ClCompile Include="..\platform\network\cf\CookieJarCFNet.cpp"> > <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild> > <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild> >@@ -19043,6 +19049,7 @@ > <ClInclude Include="..\platform\network\BlobRegistryImpl.h" /> > <ClInclude Include="..\platform\network\BlobResourceHandle.h" /> > <ClInclude Include="..\platform\network\BlobStorageData.h" /> >+ <ClInclude Include="..\platform\network\CertificateInfo.h" /> > <ClInclude Include="..\platform\network\CookieStorage.h" /> > <ClInclude Include="..\platform\network\Credential.h" /> > <ClInclude Include="..\platform\network\CredentialStorage.h" /> >diff --git a/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters b/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters >index fc6a6a7a8bb4985e6e7423459dd675373f828ea4..8c9e6a7e2c69a8599ded11f2a168dff2fed37da1 100644 >--- a/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters >+++ b/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters >@@ -8529,6 +8529,9 @@ > <ClInclude Include="..\platform\network\BlobStorageData.h"> > <Filter>platform\network</Filter> > </ClInclude> >+ <ClInclude Include="..\platform\network\CertificateInfo.h"> >+ <Filter>platform\network</Filter> >+ </ClInclude> > <ClInclude Include="..\platform\network\CookieStorage.h"> > <Filter>platform\network</Filter> > </ClInclude> >diff --git a/Source/WebCore/WebCore.xcodeproj/project.pbxproj b/Source/WebCore/WebCore.xcodeproj/project.pbxproj >index 4617e28fe0dd80860c0423bc6e2f7081dad6b0c3..3a85d22f2189a217325325b1c68eb30528016208 100644 >--- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj >+++ b/Source/WebCore/WebCore.xcodeproj/project.pbxproj >@@ -1860,7 +1860,10 @@ > 5DF7F5C20F01F92A00526B4B /* CSSPropertyNames.h in Copy Generated Headers */ = {isa = PBXBuildFile; fileRef = 656580EF09D12B20000E61D7 /* CSSPropertyNames.h */; }; > 5DFE8F560D16477B0076E937 /* ScheduledAction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCA378BA0D15F64200B793D6 /* ScheduledAction.cpp */; }; > 5DFE8F570D16477C0076E937 /* ScheduledAction.h in Headers */ = {isa = PBXBuildFile; fileRef = BCA378BB0D15F64200B793D6 /* ScheduledAction.h */; }; >+ 5F2DBBE9178E3C8100141486 /* CertificateInfoMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5F2DBBE7178E332D00141486 /* CertificateInfoMac.mm */; }; >+ 5FA904CA178E61F5004C8A2D /* CertificateInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F2DBBE8178E336900141486 /* CertificateInfo.h */; settings = {ATTRIBUTES = (Private, ); }; }; > 5FC7DC26CFE2563200B85AE4 /* JSEventTarget.h in Headers */ = {isa = PBXBuildFile; fileRef = 5FC7DC26CFE2563200B85AE5 /* JSEventTarget.h */; }; >+ 5FE1D292178FD1F3001AA3C3 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5FE1D291178FD1F3001AA3C3 /* Security.framework */; }; > 626CDE0E1140424C001E5A68 /* SpatialNavigation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 626CDE0C1140424C001E5A68 /* SpatialNavigation.cpp */; }; > 626CDE0F1140424C001E5A68 /* SpatialNavigation.h in Headers */ = {isa = PBXBuildFile; fileRef = 626CDE0D1140424C001E5A68 /* SpatialNavigation.h */; settings = {ATTRIBUTES = (Private, ); }; }; > 628D214C12131ED10055DCFC /* NetworkingContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 628D214B12131ED10055DCFC /* NetworkingContext.h */; settings = {ATTRIBUTES = (Private, ); }; }; >@@ -8428,7 +8431,10 @@ > 5DA97ECC168E787B000E3676 /* SystemVersionMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SystemVersionMac.mm; sourceTree = "<group>"; }; > 5DB1BC6810715A6400EFAA49 /* TransformSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TransformSource.h; sourceTree = "<group>"; }; > 5DB1BC6910715A6400EFAA49 /* TransformSourceLibxslt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TransformSourceLibxslt.cpp; sourceTree = "<group>"; }; >+ 5F2DBBE7178E332D00141486 /* CertificateInfoMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CertificateInfoMac.mm; sourceTree = "<group>"; }; >+ 5F2DBBE8178E336900141486 /* CertificateInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CertificateInfo.h; sourceTree = "<group>"; }; > 5FC7DC26CFE2563200B85AE5 /* JSEventTarget.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSEventTarget.h; sourceTree = "<group>"; }; >+ 5FE1D291178FD1F3001AA3C3 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = ../../../../../System/Library/Frameworks/Security.framework; sourceTree = "<group>"; }; > 626CDE0C1140424C001E5A68 /* SpatialNavigation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpatialNavigation.cpp; sourceTree = "<group>"; }; > 626CDE0D1140424C001E5A68 /* SpatialNavigation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpatialNavigation.h; sourceTree = "<group>"; }; > 628D214B12131ED10055DCFC /* NetworkingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkingContext.h; sourceTree = "<group>"; }; >@@ -13212,6 +13218,7 @@ > isa = PBXFrameworksBuildPhase; > buildActionMask = 2147483647; > files = ( >+ 5FE1D292178FD1F3001AA3C3 /* Security.framework in Frameworks */, > FD2DBF1212B048A300ED98C6 /* Accelerate.framework in Frameworks */, > 93F19B1308245E59001E9ABC /* ApplicationServices.framework in Frameworks */, > FD2DBF1312B048A300ED98C6 /* AudioToolbox.framework in Frameworks */, >@@ -13547,6 +13554,7 @@ > 0867D691FE84028FC02AAC07 /* WebKit */ = { > isa = PBXGroup; > children = ( >+ 5FE1D291178FD1F3001AA3C3 /* Security.framework */, > 65C97AF208EA908800ACD273 /* config.h */, > EDEC98020AED7E170059137F /* WebCorePrefix.h */, > 9307061309E0CA8200B17FE4 /* DerivedSources.make */, >@@ -15022,6 +15030,7 @@ > 2EB4BCD0121F03E300EC4885 /* BlobResourceHandle.cpp */, > 2EB4BCD1121F03E300EC4885 /* BlobResourceHandle.h */, > 2EDEF1F2121B0EFC00726DB2 /* BlobStorageData.h */, >+ 5F2DBBE8178E336900141486 /* CertificateInfo.h */, > E13F01EA1270E10D00DFBA71 /* CookieStorage.h */, > 514C76580CE923A1007EF3CD /* Credential.cpp */, > 514C76590CE923A1007EF3CD /* Credential.h */, >@@ -15082,6 +15091,7 @@ > children = ( > 514C76420CE9234E007EF3CD /* AuthenticationMac.h */, > 514C76430CE9234E007EF3CD /* AuthenticationMac.mm */, >+ 5F2DBBE7178E332D00141486 /* CertificateInfoMac.mm */, > E1424C8F164B460B00F32D40 /* CookieJarMac.mm */, > E13F01F01270E19000DFBA71 /* CookieStorageMac.mm */, > E1B4CD2410B322E200BFFD7E /* CredentialStorageMac.mm */, >@@ -23527,6 +23537,7 @@ > 0F13163E16ED0CC80035CC04 /* PlatformCAFilters.h in Headers */, > 499B3EC5128CCC4700E726C2 /* PlatformCALayer.h in Headers */, > 493E5E0912D6420500020081 /* PlatformCALayerClient.h in Headers */, >+ 5FA904CA178E61F5004C8A2D /* CertificateInfo.h in Headers */, > 07C59B5417F4AC15000FBCBB /* AudioStreamTrack.h in Headers */, > E1424C8A164B3B4E00F32D40 /* PlatformCookieJar.h in Headers */, > BC5C762B1497FE1400BC4775 /* PlatformEvent.h in Headers */, >@@ -27616,6 +27627,7 @@ > 977E2E0E12F0FC9C00C13379 /* XSSAuditor.cpp in Sources */, > 977E2E0E12F0FC9C00C13380 /* XSSAuditorDelegate.cpp in Sources */, > FD537352137B651800008DCE /* ZeroPole.cpp in Sources */, >+ 5F2DBBE9178E3C8100141486 /* CertificateInfoMac.mm in Sources */, > FD1762DF176686D900D836A8 /* UpSampler.cpp in Sources */, > FD1762E3176686EA00D836A8 /* DownSampler.cpp in Sources */, > 6E84E9E017668BEE00815B68 /* RasterShape.cpp in Sources */, >diff --git a/Source/WebCore/platform/network/CertificateInfo.h b/Source/WebCore/platform/network/CertificateInfo.h >new file mode 100644 >index 0000000000000000000000000000000000000000..ec9930e8761db91b1945803041b7f2250a353622 >--- /dev/null >+++ b/Source/WebCore/platform/network/CertificateInfo.h >@@ -0,0 +1,77 @@ >+/* >+ * Copyright (C) 2010 Apple Inc. All rights reserved. >+ * Portions Copyright (c) 2010 Motorola Mobility, Inc. All rights reserved. >+ * Portions Copyright (c) 2013 Company 100 Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#ifndef CertificateInfo_h >+#define CertificateInfo_h >+ >+#if PLATFORM(MAC) || USE(CFNETWORK) >+#include <wtf/RetainPtr.h> >+#elif USE(SOUP) >+#include <gio/gio.h> >+#include <wtf/gobject/GRefPtr.h> >+#endif >+ >+namespace WebCore { >+ >+class CertificateInfo { >+public: >+ CertificateInfo(); >+ >+#if PLATFORM(MAC) >+ explicit CertificateInfo(CFArrayRef certificateChain); >+#endif >+ >+ ~CertificateInfo(); >+ >+#if PLATFORM(MAC) || USE(CFNETWORK) >+ void setCertificateChain(CFArrayRef); >+ CFArrayRef certificateChain() const; >+#ifndef NDEBUG >+ void dump() const; >+#endif >+ >+#elif USE(SOUP) >+ GTlsCertificate* certificate() const { return m_certificate.get(); } >+ void setCertificate(GTlsCertificate* certificate) { m_certificate = certificate; } >+ >+ GTlsCertificateFlags tlsErrors() const { return m_tlsErrors; } >+ void setTLSErrors(GTlsCertificateFlags tlsErrors) { m_tlsErrors = tlsErrors; } >+#endif >+ >+private: >+#if PLATFORM(MAC) || USE(CFNETWORK) >+ // Certificate chain is normally part of NS/CFURLResponse, but there is no way to re-add it to a deserialized response after IPC. >+ RetainPtr<CFArrayRef> m_certificateChain; >+#elif USE(SOUP) >+ GRefPtr<GTlsCertificate> m_certificate; >+ GTlsCertificateFlags m_tlsErrors; >+#endif >+}; >+ >+} // namespace WebCore >+ >+#endif // CertificateInfo_h >diff --git a/Source/WebCore/platform/network/ResourceErrorBase.h b/Source/WebCore/platform/network/ResourceErrorBase.h >index 5b7909fdb1de01d65331c75994f938c373f2705c..ffdcab605e77eefbbf18618c5f9e70b4468767a3 100644 >--- a/Source/WebCore/platform/network/ResourceErrorBase.h >+++ b/Source/WebCore/platform/network/ResourceErrorBase.h >@@ -26,6 +26,7 @@ > #ifndef ResourceErrorBase_h > #define ResourceErrorBase_h > >+#include "CertificateInfo.h" > #include <wtf/text/WTFString.h> > > namespace WebCore { >@@ -52,6 +53,9 @@ public: > void setIsTimeout(bool isTimeout) { m_isTimeout = isTimeout; } > bool isTimeout() const { return m_isTimeout; } > >+ const CertificateInfo& certificateInfo() const { return m_certificateInfo; } >+ void setCertificateInfo(const CertificateInfo& certificateInfo) { m_certificateInfo = certificateInfo; } >+ > static bool compare(const ResourceError&, const ResourceError&); > > protected: >@@ -89,6 +93,7 @@ protected: > int m_errorCode; > String m_failingURL; > String m_localizedDescription; >+ CertificateInfo m_certificateInfo; > bool m_isNull; > bool m_isCancellation; > bool m_isTimeout; >diff --git a/Source/WebCore/platform/network/ResourceResponseBase.h b/Source/WebCore/platform/network/ResourceResponseBase.h >index 2cfb53a937fb4ab7fa6b86b4796bb86e24eb7eb3..d30c8a423d1fa59403899274b40a72c546770f4b 100644 >--- a/Source/WebCore/platform/network/ResourceResponseBase.h >+++ b/Source/WebCore/platform/network/ResourceResponseBase.h >@@ -27,9 +27,10 @@ > #ifndef ResourceResponseBase_h > #define ResourceResponseBase_h > >+#include "CertificateInfo.h" > #include "HTTPHeaderMap.h" >-#include "URL.h" > #include "ResourceLoadTiming.h" >+#include "URL.h" > > #include <wtf/PassOwnPtr.h> > #include <wtf/RefPtr.h> >@@ -112,6 +113,9 @@ public: > ResourceLoadTiming* resourceLoadTiming() const; > void setResourceLoadTiming(PassRefPtr<ResourceLoadTiming>); > >+ const CertificateInfo& certificateInfo() const { return m_certificateInfo; } >+ void setCertificateInfo(const CertificateInfo& certificateInfo) { m_certificateInfo = certificateInfo; } >+ > // The ResourceResponse subclass may "shadow" this method to provide platform-specific memory usage information > unsigned memoryUsage() const > { >@@ -152,6 +156,7 @@ protected: > unsigned m_connectionID; > bool m_connectionReused : 1; > RefPtr<ResourceLoadTiming> m_resourceLoadTiming; >+ CertificateInfo m_certificateInfo; > > bool m_isNull : 1; > >diff --git a/Source/WebCore/platform/network/cf/CertificateInfoCFNet.cpp b/Source/WebCore/platform/network/cf/CertificateInfoCFNet.cpp >new file mode 100644 >index 0000000000000000000000000000000000000000..9a4619d005715cb238a45b84fa19565deb6862d2 >--- /dev/null >+++ b/Source/WebCore/platform/network/cf/CertificateInfoCFNet.cpp >@@ -0,0 +1,39 @@ >+/* >+ * Copyright (C) 2013 Company 100 Inc. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#include "config.h" >+#include "CertificateInfo.h" >+ >+namespace WebCore { >+ >+CertificateInfo::CertificateInfo() >+{ >+} >+ >+CertificateInfo::~CertificateInfo() >+{ >+} >+ >+} // namespace WebCore >diff --git a/Source/WebCore/platform/network/cf/ResourceResponse.h b/Source/WebCore/platform/network/cf/ResourceResponse.h >index 13a581180ea688dde376e35f07e2ee31638ad35e..5a36a0e94621f1d4c69e23cd2dbd475ea0721b3c 100644 >--- a/Source/WebCore/platform/network/cf/ResourceResponse.h >+++ b/Source/WebCore/platform/network/cf/ResourceResponse.h >@@ -117,10 +117,6 @@ private: > #if PLATFORM(MAC) > mutable RetainPtr<NSURLResponse> m_nsResponse; > #endif >-#if PLATFORM(MAC) || USE(CFNETWORK) >- // Certificate chain is normally part of NS/CFURLResponse, but there is no way to re-add it to a deserialized response after IPC. >- RetainPtr<CFArrayRef> m_externalCertificateChain; >-#endif > InitLevel m_initLevel; > bool m_platformResponseIsUpToDate; > }; >diff --git a/Source/WebCore/platform/network/mac/CertificateInfoMac.mm b/Source/WebCore/platform/network/mac/CertificateInfoMac.mm >new file mode 100644 >index 0000000000000000000000000000000000000000..cdd3ab3eaa3a231024213d7427bf78e9a343f1a6 >--- /dev/null >+++ b/Source/WebCore/platform/network/mac/CertificateInfoMac.mm >@@ -0,0 +1,70 @@ >+/* >+ * Copyright (C) 2010 Apple Inc. All rights reserved. >+ * Copyright (C) 2013 Company 100 Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#import "config.h" >+#import "CertificateInfo.h" >+ >+namespace WebCore { >+ >+CertificateInfo::CertificateInfo() >+{ >+} >+ >+ >+CertificateInfo::CertificateInfo(CFArrayRef certificateChain) >+ : m_certificateChain(certificateChain) >+{ >+} >+ >+CertificateInfo::~CertificateInfo() >+{ >+} >+ >+void CertificateInfo::setCertificateChain(CFArrayRef certificateChain) >+{ >+ m_certificateChain = certificateChain; >+} >+ >+CFArrayRef CertificateInfo::certificateChain() const >+{ >+ return m_certificateChain.get(); >+} >+ >+#ifndef NDEBUG >+void CertificateInfo::dump() const >+{ >+ unsigned entries = m_certificateChain ? CFArrayGetCount(m_certificateChain.get()) : 0; >+ >+ NSLog(@"CertificateInfo\n"); >+ NSLog(@" Entries: %d\n", entries); >+ for (unsigned i = 0; i < entries; ++i) { >+ RetainPtr<CFStringRef> summary = adoptCF(SecCertificateCopySubjectSummary((SecCertificateRef)CFArrayGetValueAtIndex(m_certificateChain.get(), i))); >+ NSLog(@" %@", (NSString *)summary.get()); >+ } >+} >+#endif >+ >+} // namespace WebCore >diff --git a/Source/WebCore/platform/network/mac/ResourceResponseMac.mm b/Source/WebCore/platform/network/mac/ResourceResponseMac.mm >index 5425e1fd4a59a02d1621e83f1818946bbf8d34a7..18ca3081717a7284055752d5c3bbe89a64c004d6 100644 >--- a/Source/WebCore/platform/network/mac/ResourceResponseMac.mm >+++ b/Source/WebCore/platform/network/mac/ResourceResponseMac.mm >@@ -181,13 +181,13 @@ bool ResourceResponse::platformCompare(const ResourceResponse& a, const Resource > void ResourceResponse::setCertificateChain(CFArrayRef certificateChain) > { > ASSERT(!wkCopyNSURLResponseCertificateChain(nsURLResponse())); >- m_externalCertificateChain = certificateChain; >+ m_certificateInfo.setCertificateChain(certificateChain); > } > > RetainPtr<CFArrayRef> ResourceResponse::certificateChain() const > { >- if (m_externalCertificateChain) >- return m_externalCertificateChain; >+ if (m_certificateInfo.certificateChain()) >+ return adoptCF(m_certificateInfo.certificateChain()); > > return adoptCF(wkCopyNSURLResponseCertificateChain(nsURLResponse())); > } >diff --git a/Source/WebCore/platform/network/soup/CertificateInfoSoup.cpp b/Source/WebCore/platform/network/soup/CertificateInfoSoup.cpp >new file mode 100644 >index 0000000000000000000000000000000000000000..162a7781ad1f7c044516e8f8f05b61662cde529d >--- /dev/null >+++ b/Source/WebCore/platform/network/soup/CertificateInfoSoup.cpp >@@ -0,0 +1,41 @@ >+/* >+ * Copyright (C) 2012 Igalia S.L. >+ * Copyright (C) 2013 Company 100 Inc. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >+ * THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#include "config.h" >+#include "CertificateInfo.h" >+ >+namespace WebCore { >+ >+CertificateInfo::CertificateInfo() >+ : m_tlsErrors(static_cast<GTlsCertificateFlags>(0)) >+{ >+} >+ >+CertificateInfo::~CertificateInfo() >+{ >+} >+ >+} // namespace WebCore >diff --git a/Source/WebCore/platform/network/soup/ResourceError.h b/Source/WebCore/platform/network/soup/ResourceError.h >index 1a705f15ed7f38f8d3afed7011a30c04bcc78f18..a86ece4fa56ba50ccc2806d88e27748dce9b5ca2 100644 >--- a/Source/WebCore/platform/network/soup/ResourceError.h >+++ b/Source/WebCore/platform/network/soup/ResourceError.h >@@ -40,12 +40,10 @@ class ResourceError : public ResourceErrorBase > public: > ResourceError(const String& domain, int errorCode, const String& failingURL, const String& localizedDescription) > : ResourceErrorBase(domain, errorCode, failingURL, localizedDescription) >- , m_tlsErrors(0) > { > } > > ResourceError() >- : m_tlsErrors(0) > { > } > >@@ -56,17 +54,9 @@ public: > static ResourceError timeoutError(const String& failingURL); > static ResourceError authenticationError(SoupMessage*); > >- unsigned tlsErrors() const { return m_tlsErrors; } >- void setTLSErrors(unsigned tlsErrors) { m_tlsErrors = tlsErrors; } >- GTlsCertificate* certificate() const { return m_certificate.get(); } >- void setCertificate(GTlsCertificate* certificate) { m_certificate = certificate; } >- > private: > void platformCopy(ResourceError&) const; > static bool platformCompare(const ResourceError& a, const ResourceError& b); >- >- unsigned m_tlsErrors; >- GRefPtr<GTlsCertificate> m_certificate; > }; > > } >diff --git a/Source/WebCore/platform/network/soup/ResourceErrorSoup.cpp b/Source/WebCore/platform/network/soup/ResourceErrorSoup.cpp >index ba8657b5050905257c1da4ca799f7376adcddc52..787c7473ff723b5d759052c124fedef56867cc2e 100644 >--- a/Source/WebCore/platform/network/soup/ResourceErrorSoup.cpp >+++ b/Source/WebCore/platform/network/soup/ResourceErrorSoup.cpp >@@ -1,5 +1,6 @@ > /* > * Copyright (C) 2012 Igalia S.L. >+ * Copyright (C) 2013 Company 100 Inc. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions >@@ -78,8 +79,8 @@ ResourceError ResourceError::tlsError(SoupRequest* request, unsigned tlsErrors, > { > ResourceError resourceError(g_quark_to_string(SOUP_HTTP_ERROR), SOUP_STATUS_SSL_FAILED, > failingURI(request), unacceptableTLSCertificate()); >- resourceError.setTLSErrors(tlsErrors); >- resourceError.setCertificate(certificate); >+ resourceError.m_certificateInfo.setTLSErrors(static_cast<GTlsCertificateFlags>(tlsErrors)); >+ resourceError.m_certificateInfo.setCertificate(certificate); > return resourceError; > } > >@@ -98,13 +99,12 @@ ResourceError ResourceError::timeoutError(const String& failingURL) > > void ResourceError::platformCopy(ResourceError& errorCopy) const > { >- errorCopy.m_certificate = m_certificate; >- errorCopy.m_tlsErrors = m_tlsErrors; >+ errorCopy.setCertificateInfo(m_certificateInfo); > } > > bool ResourceError::platformCompare(const ResourceError& a, const ResourceError& b) > { >- return a.tlsErrors() == b.tlsErrors(); >+ return a.m_certificateInfo.tlsErrors() == b.m_certificateInfo.tlsErrors(); > } > > } // namespace WebCore >diff --git a/Source/WebCore/platform/network/soup/ResourceResponse.h b/Source/WebCore/platform/network/soup/ResourceResponse.h >index 4891f935fcbc7f7723a66157ee2ed933cf53e0f7..39e1d37fee3e346d1f884f87c8a3e03ae6ff310a 100644 >--- a/Source/WebCore/platform/network/soup/ResourceResponse.h >+++ b/Source/WebCore/platform/network/soup/ResourceResponse.h >@@ -38,21 +38,18 @@ public: > ResourceResponse() > : ResourceResponseBase() > , m_soupFlags(static_cast<SoupMessageFlags>(0)) >- , m_tlsErrors(static_cast<GTlsCertificateFlags>(0)) > { > } > > ResourceResponse(const URL& url, const String& mimeType, long long expectedLength, const String& textEncodingName, const String& filename) > : ResourceResponseBase(url, mimeType, expectedLength, textEncodingName, filename) > , m_soupFlags(static_cast<SoupMessageFlags>(0)) >- , m_tlsErrors(static_cast<GTlsCertificateFlags>(0)) > { > } > > ResourceResponse(SoupMessage* soupMessage) > : ResourceResponseBase() > , m_soupFlags(static_cast<SoupMessageFlags>(0)) >- , m_tlsErrors(static_cast<GTlsCertificateFlags>(0)) > { > updateFromSoupMessage(soupMessage); > } >@@ -67,11 +64,11 @@ public: > const String& sniffedContentType() const { return m_sniffedContentType; } > void setSniffedContentType(const String& value) { m_sniffedContentType = value; } > >- GTlsCertificate* soupMessageCertificate() const { return m_certificate.get(); } >- void setSoupMessageCertificate(GTlsCertificate* certificate) { m_certificate = certificate; } >+ GTlsCertificate* soupMessageCertificate() const { return m_certificateInfo.certificate(); } >+ void setSoupMessageCertificate(GTlsCertificate* certificate) { m_certificateInfo.setCertificate(certificate); } > >- GTlsCertificateFlags soupMessageTLSErrors() const { return m_tlsErrors; } >- void setSoupMessageTLSErrors(GTlsCertificateFlags tlsErrors) { m_tlsErrors = tlsErrors; } >+ GTlsCertificateFlags soupMessageTLSErrors() const { return m_certificateInfo.tlsErrors(); } >+ void setSoupMessageTLSErrors(GTlsCertificateFlags tlsErrors) { m_certificateInfo.setTLSErrors(tlsErrors); } > > bool platformResponseIsUpToDate() const { return false; } > >@@ -80,8 +77,6 @@ private: > > SoupMessageFlags m_soupFlags; > String m_sniffedContentType; >- GRefPtr<GTlsCertificate> m_certificate; >- GTlsCertificateFlags m_tlsErrors; > > void doUpdateResourceResponse() { } > >diff --git a/Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp b/Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp >index 9c3b0edbd9fd3cb6708a0f99fe42d7b2455d26f0..98d18cf225b78f6d007a32a0815fe9f7d482f77c 100644 >--- a/Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp >+++ b/Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp >@@ -52,7 +52,7 @@ SoupMessage* ResourceResponse::toSoupMessage() const > > soup_message_set_flags(soupMessage, m_soupFlags); > >- g_object_set(G_OBJECT(soupMessage), "tls-certificate", m_certificate.get(), "tls-errors", m_tlsErrors, NULL); >+ g_object_set(G_OBJECT(soupMessage), "tls-certificate", m_certificateInfo.certificate(), "tls-errors", m_certificateInfo.tlsErrors(), NULL); > > // Body data is not in the message. > return soupMessage; >@@ -68,8 +68,10 @@ void ResourceResponse::updateFromSoupMessage(SoupMessage* soupMessage) > m_soupFlags = soup_message_get_flags(soupMessage); > > GTlsCertificate* certificate = 0; >- soup_message_get_https_status(soupMessage, &certificate, &m_tlsErrors); >- m_certificate = certificate; >+ GTlsCertificateFlags tlsErrors; >+ soup_message_get_https_status(soupMessage, &certificate, &tlsErrors); >+ m_certificateInfo.setTLSErrors(tlsErrors); >+ m_certificateInfo.setCertificate(certificate); > > updateFromSoupMessageHeaders(soupMessage->response_headers); > } >diff --git a/Source/WebKit2/GNUmakefile.list.am b/Source/WebKit2/GNUmakefile.list.am >index 1e320c9e9cc035baab2c0ddcf44d6878d254e8e4..706fe990ea1d4e9576c761c2872a08616c636764 100644 >--- a/Source/WebKit2/GNUmakefile.list.am >+++ b/Source/WebKit2/GNUmakefile.list.am >@@ -481,8 +481,6 @@ webkit2_sources += \ > Source/WebKit2/Shared/SessionState.h \ > Source/WebKit2/Shared/StatisticsData.cpp \ > Source/WebKit2/Shared/StatisticsData.h \ >- Source/WebKit2/Shared/soup/PlatformCertificateInfo.cpp \ >- Source/WebKit2/Shared/soup/PlatformCertificateInfo.h \ > Source/WebKit2/Shared/soup/SoupCookiePersistentStorageType.h \ > Source/WebKit2/Shared/soup/WebCoreArgumentCodersSoup.cpp \ > Source/WebKit2/Shared/TextCheckerState.h \ >@@ -1353,8 +1351,6 @@ webkit2_plugin_process_sources += \ > Source/WebKit2/Shared/gtk/ProcessExecutablePathGtk.cpp \ > Source/WebKit2/Shared/gtk/WebEventFactory.cpp \ > Source/WebKit2/Shared/cairo/ShareableBitmapCairo.cpp \ >- Source/WebKit2/Shared/soup/PlatformCertificateInfo.cpp \ >- Source/WebKit2/Shared/soup/PlatformCertificateInfo.h \ > Source/WebKit2/Shared/soup/WebCoreArgumentCodersSoup.cpp \ > Source/WebKit2/UIProcess/Launcher/ProcessLauncher.cpp \ > Source/WebKit2/UIProcess/Launcher/ProcessLauncher.h \ >diff --git a/Source/WebKit2/NetworkProcess/AsynchronousNetworkLoaderClient.cpp b/Source/WebKit2/NetworkProcess/AsynchronousNetworkLoaderClient.cpp >index 1baf5b19ab2003e548d03bc2e6582b22a43eb7a7..496d075ede128fbfd99b41609187aa640f132d8a 100644 >--- a/Source/WebKit2/NetworkProcess/AsynchronousNetworkLoaderClient.cpp >+++ b/Source/WebKit2/NetworkProcess/AsynchronousNetworkLoaderClient.cpp >@@ -28,10 +28,11 @@ > > #include "DataReference.h" > #include "NetworkResourceLoader.h" >-#include "PlatformCertificateInfo.h" > #include "WebCoreArgumentCoders.h" > #include "WebResourceLoaderMessages.h" >+#include <WebCore/CertificateInfo.h> > #include <WebCore/ResourceError.h> >+#include <WebCore/ResourceResponse.h> > #include <WebCore/SharedBuffer.h> > #include <wtf/CurrentTime.h> > >@@ -63,7 +64,7 @@ void AsynchronousNetworkLoaderClient::canAuthenticateAgainstProtectionSpace(Netw > > void AsynchronousNetworkLoaderClient::didReceiveResponse(NetworkResourceLoader* loader, const ResourceResponse& response) > { >- loader->sendAbortingOnFailure(Messages::WebResourceLoader::DidReceiveResponseWithCertificateInfo(response, PlatformCertificateInfo(response), loader->isLoadingMainResource())); >+ loader->sendAbortingOnFailure(Messages::WebResourceLoader::DidReceiveResponseWithCertificateInfo(response, response.certificateInfo(), loader->isLoadingMainResource())); > } > > void AsynchronousNetworkLoaderClient::didReceiveBuffer(NetworkResourceLoader* loader, SharedBuffer* buffer, int encodedDataLength) >diff --git a/Source/WebKit2/NetworkProcess/NetworkProcess.h b/Source/WebKit2/NetworkProcess/NetworkProcess.h >index 0128174a36811c1dcd272bf03cec10405edd1100..d6f0e0dd0afbc7ffb2e60187cac4e06e81fa87b1 100644 >--- a/Source/WebKit2/NetworkProcess/NetworkProcess.h >+++ b/Source/WebKit2/NetworkProcess/NetworkProcess.h >@@ -36,7 +36,8 @@ > #include <wtf/Forward.h> > > namespace WebCore { >- class RunLoop; >+class CertificateInfo; >+class RunLoop; > } > > namespace WebKit { >@@ -44,7 +45,6 @@ namespace WebKit { > class AuthenticationManager; > class NetworkConnectionToWebProcess; > class NetworkProcessSupplement; >-class PlatformCertificateInfo; > struct NetworkProcessCreationParameters; > > class NetworkProcess : public ChildProcess, private DownloadManager::Client { >@@ -108,7 +108,7 @@ private: > void downloadRequest(uint64_t downloadID, const WebCore::ResourceRequest&); > void cancelDownload(uint64_t downloadID); > void setCacheModel(uint32_t); >- void allowSpecificHTTPSCertificateForHost(const PlatformCertificateInfo&, const String& host); >+ void allowSpecificHTTPSCertificateForHost(const WebCore::CertificateInfo&, const String& host); > void getNetworkProcessStatistics(uint64_t callbackID); > void clearCacheForAllOrigins(uint32_t cachesToClear); > >diff --git a/Source/WebKit2/NetworkProcess/NetworkProcess.messages.in b/Source/WebKit2/NetworkProcess/NetworkProcess.messages.in >index a5fcbc7be9402807c1e5562a3ee69ff606985dd7..32bce05b8cb50e0e6207a9a8ac0dc17024c4456e 100644 >--- a/Source/WebKit2/NetworkProcess/NetworkProcess.messages.in >+++ b/Source/WebKit2/NetworkProcess/NetworkProcess.messages.in >@@ -39,7 +39,7 @@ messages -> NetworkProcess LegacyReceiver { > SetProcessSuppressionEnabled(bool flag) > #endif > >- AllowSpecificHTTPSCertificateForHost(WebKit::PlatformCertificateInfo certificate, WTF::String host) >+ AllowSpecificHTTPSCertificateForHost(WebCore::CertificateInfo certificate, WTF::String host) > > GetNetworkProcessStatistics(uint64_t callbackID) > >diff --git a/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp b/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp >index 1630a2b47a13fcaff8179a7c40b4b095c632638a..2f8a49f883a1983d27300a5a4ca204afb0351131 100644 >--- a/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp >+++ b/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp >@@ -37,7 +37,6 @@ > #include "NetworkProcess.h" > #include "NetworkProcessConnectionMessages.h" > #include "NetworkResourceLoadParameters.h" >-#include "PlatformCertificateInfo.h" > #include "RemoteNetworkingContext.h" > #include "ShareableResource.h" > #include "SharedMemory.h" >diff --git a/Source/WebKit2/NetworkProcess/mac/NetworkProcessMac.mm b/Source/WebKit2/NetworkProcess/mac/NetworkProcessMac.mm >index e197ff396f70a77a9562d35ab53d2c44535cc02e..f64d2fe4742ef43623d50e946813064b1d3e745a 100644 >--- a/Source/WebKit2/NetworkProcess/mac/NetworkProcessMac.mm >+++ b/Source/WebKit2/NetworkProcess/mac/NetworkProcessMac.mm >@@ -30,13 +30,13 @@ > > #import "NetworkProcessCreationParameters.h" > #import "NetworkResourceLoader.h" >-#import "PlatformCertificateInfo.h" > #import "ResourceCachesToClear.h" > #import "SandboxExtension.h" > #import "SandboxInitializationParameters.h" > #import "StringUtilities.h" > #import <WebCore/FileSystem.h> > #import <WebCore/LocalizedStrings.h> >+#import <WebCore/CertificateInfo.h> > #import <WebKitSystemInterface.h> > #import <mach/host_info.h> > #import <mach/mach.h> >@@ -185,7 +185,7 @@ void NetworkProcess::platformSetCacheModel(CacheModel cacheModel) > [nsurlCache setDiskCapacity:std::max<unsigned long>(urlCacheDiskCapacity, [nsurlCache diskCapacity])]; // Don't shrink a big disk cache, since that would cause churn. > } > >-void NetworkProcess::allowSpecificHTTPSCertificateForHost(const PlatformCertificateInfo& certificateInfo, const String& host) >+void NetworkProcess::allowSpecificHTTPSCertificateForHost(const CertificateInfo& certificateInfo, const String& host) > { > [NSURLRequest setAllowsSpecificHTTPSCertificate:(NSArray *)certificateInfo.certificateChain() forHost:(NSString *)host]; > } >diff --git a/Source/WebKit2/PlatformEfl.cmake b/Source/WebKit2/PlatformEfl.cmake >index 6cea2e153dcc0829d3a10b005b20554da4c94199..008a856f51c7e42f9dff35bb9c1832f58a879cfd 100644 >--- a/Source/WebKit2/PlatformEfl.cmake >+++ b/Source/WebKit2/PlatformEfl.cmake >@@ -46,7 +46,6 @@ list(APPEND WebKit2_SOURCES > Shared/linux/SeccompFilters/Syscall.cpp > Shared/linux/SeccompFilters/SyscallPolicy.cpp > >- Shared/soup/PlatformCertificateInfo.cpp > Shared/soup/WebCoreArgumentCodersSoup.cpp > > UIProcess/DefaultUndoController.cpp >diff --git a/Source/WebKit2/PlatformGTK.cmake b/Source/WebKit2/PlatformGTK.cmake >index c0bd0fa44f14997b135887147d4f491de7509135..41e5971f7ef018e0c9693fba34928661306a4abf 100644 >--- a/Source/WebKit2/PlatformGTK.cmake >+++ b/Source/WebKit2/PlatformGTK.cmake >@@ -61,7 +61,6 @@ list(APPEND WebKit2_SOURCES > Shared/linux/SeccompFilters/Syscall.cpp > Shared/linux/SeccompFilters/SyscallPolicy.cpp > >- Shared/soup/PlatformCertificateInfo.cpp > Shared/soup/WebCoreArgumentCodersSoup.cpp > > UIProcess/DefaultUndoController.cpp >diff --git a/Source/WebKit2/Shared/API/c/mac/WKCertificateInfoMac.mm b/Source/WebKit2/Shared/API/c/mac/WKCertificateInfoMac.mm >index 34dd431519a399a3dd83e0e823f43475c2e3bfab..32fa21fe2ebff36b0a21a698a01a0d3fee6d1839 100644 >--- a/Source/WebKit2/Shared/API/c/mac/WKCertificateInfoMac.mm >+++ b/Source/WebKit2/Shared/API/c/mac/WKCertificateInfoMac.mm >@@ -29,15 +29,16 @@ > #import "WKAPICast.h" > #import "WebCertificateInfo.h" > >+using namespace WebCore; > using namespace WebKit; > > WKCertificateInfoRef WKCertificateInfoCreateWithCertficateChain(CFArrayRef certificateChain) > { >- RefPtr<WebCertificateInfo> certificateInfo = WebCertificateInfo::create(PlatformCertificateInfo(certificateChain)); >+ RefPtr<WebCertificateInfo> certificateInfo = WebCertificateInfo::create(CertificateInfo(certificateChain)); > return toAPI(certificateInfo.release().leakRef()); > } > > CFArrayRef WKCertificateInfoGetCertificateChain(WKCertificateInfoRef certificateInfoRef) > { >- return toImpl(certificateInfoRef)->platformCertificateInfo().certificateChain(); >+ return toImpl(certificateInfoRef)->certificateInfo().certificateChain(); > } >diff --git a/Source/WebKit2/Shared/Authentication/AuthenticationManager.cpp b/Source/WebKit2/Shared/Authentication/AuthenticationManager.cpp >index 7f7dca2dd2e42825fa5817b1d2cf0fce91b3fb78..e2f453229cb7dbdfd33c3d6c6b62ba026fb716c2 100644 >--- a/Source/WebKit2/Shared/Authentication/AuthenticationManager.cpp >+++ b/Source/WebKit2/Shared/Authentication/AuthenticationManager.cpp >@@ -98,20 +98,20 @@ void AuthenticationManager::didReceiveAuthenticationChallenge(Download* download > > // Currently, only Mac knows how to respond to authentication challenges with certificate info. > #if !USE(SECURITY_FRAMEWORK) >-bool AuthenticationManager::tryUsePlatformCertificateInfoForChallenge(const WebCore::AuthenticationChallenge&, const PlatformCertificateInfo&) >+bool AuthenticationManager::tryUseCertificateInfoForChallenge(const WebCore::AuthenticationChallenge&, const CertificateInfo&) > { > return false; > } > #endif > >-void AuthenticationManager::useCredentialForChallenge(uint64_t challengeID, const Credential& credential, const PlatformCertificateInfo& certificateInfo) >+void AuthenticationManager::useCredentialForChallenge(uint64_t challengeID, const Credential& credential, const CertificateInfo& certificateInfo) > { > ASSERT(isMainThread()); > > AuthenticationChallenge challenge = m_challenges.take(challengeID); > ASSERT(!challenge.isNull()); > >- if (tryUsePlatformCertificateInfoForChallenge(challenge, certificateInfo)) >+ if (tryUseCertificateInfoForChallenge(challenge, certificateInfo)) > return; > > AuthenticationClient* coreClient = challenge.authenticationClient(); >diff --git a/Source/WebKit2/Shared/Authentication/AuthenticationManager.h b/Source/WebKit2/Shared/Authentication/AuthenticationManager.h >index 4c6f81e95390ff70d38182bdc9b426ba6e01a591..dfe1e61bbd4f3dfbcf9d1300ba58297650474d66 100644 >--- a/Source/WebKit2/Shared/Authentication/AuthenticationManager.h >+++ b/Source/WebKit2/Shared/Authentication/AuthenticationManager.h >@@ -36,13 +36,13 @@ > namespace WebCore { > class AuthenticationChallenge; > class Credential; >+ class CertificateInfo; > } > > namespace WebKit { > > class ChildProcess; > class Download; >-class PlatformCertificateInfo; > class WebFrame; > > class AuthenticationManager : public WebProcessSupplement, public NetworkProcessSupplement, public CoreIPC::MessageReceiver { >@@ -59,7 +59,7 @@ public: > // Called for downloads with or without the NetworkProcess > void didReceiveAuthenticationChallenge(Download*, const WebCore::AuthenticationChallenge&); > >- void useCredentialForChallenge(uint64_t challengeID, const WebCore::Credential&, const PlatformCertificateInfo&); >+ void useCredentialForChallenge(uint64_t challengeID, const WebCore::Credential&, const WebCore::CertificateInfo&); > void continueWithoutCredentialForChallenge(uint64_t challengeID); > void cancelChallenge(uint64_t challengeID); > >@@ -69,7 +69,7 @@ private: > // CoreIPC::MessageReceiver > virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&) OVERRIDE; > >- bool tryUsePlatformCertificateInfoForChallenge(const WebCore::AuthenticationChallenge&, const PlatformCertificateInfo&); >+ bool tryUseCertificateInfoForChallenge(const WebCore::AuthenticationChallenge&, const WebCore::CertificateInfo&); > > uint64_t establishIdentifierForChallenge(const WebCore::AuthenticationChallenge&); > >diff --git a/Source/WebKit2/Shared/Authentication/AuthenticationManager.messages.in b/Source/WebKit2/Shared/Authentication/AuthenticationManager.messages.in >index bb1cc30ca6bc591bdeded41f0f5195ec76c961dd..34db9b208bf1fd173d81a46c76f8f8646df3d5fd 100644 >--- a/Source/WebKit2/Shared/Authentication/AuthenticationManager.messages.in >+++ b/Source/WebKit2/Shared/Authentication/AuthenticationManager.messages.in >@@ -21,7 +21,7 @@ > # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > > messages -> AuthenticationManager { >- void UseCredentialForChallenge(uint64_t challengeID, WebCore::Credential credential, WebKit::PlatformCertificateInfo certificate); >+ void UseCredentialForChallenge(uint64_t challengeID, WebCore::Credential credential, WebCore::CertificateInfo certificate); > void ContinueWithoutCredentialForChallenge(uint64_t challengeID); > void CancelChallenge(uint64_t challengeID); > } >diff --git a/Source/WebKit2/Shared/Authentication/mac/AuthenticationManager.mac.mm b/Source/WebKit2/Shared/Authentication/mac/AuthenticationManager.mac.mm >index c0b92f12b4ef2d48425dd2b7fe341e769c276013..8b6d7134978b0551a0d4102ccde662f740036859 100644 >--- a/Source/WebKit2/Shared/Authentication/mac/AuthenticationManager.mac.mm >+++ b/Source/WebKit2/Shared/Authentication/mac/AuthenticationManager.mac.mm >@@ -28,15 +28,15 @@ > > #if USE(SECURITY_FRAMEWORK) > >-#include "PlatformCertificateInfo.h" > #include <Security/SecIdentity.h> > #include <WebCore/AuthenticationChallenge.h> >+#include <WebCore/CertificateInfo.h> > > using namespace WebCore; > > namespace WebKit { > >-bool AuthenticationManager::tryUsePlatformCertificateInfoForChallenge(const AuthenticationChallenge& challenge, const PlatformCertificateInfo& certificateInfo) >+bool AuthenticationManager::tryUseCertificateInfoForChallenge(const AuthenticationChallenge& challenge, const CertificateInfo& certificateInfo) > { > CFArrayRef chain = certificateInfo.certificateChain(); > if (!chain) >diff --git a/Source/WebKit2/Shared/UserMessageCoders.h b/Source/WebKit2/Shared/UserMessageCoders.h >index 0022f31055e94c68580fbacd44de36b0f7d04e8b..d9b1409d86f812929e915e50da8df0002fa4e2d9 100644 >--- a/Source/WebKit2/Shared/UserMessageCoders.h >+++ b/Source/WebKit2/Shared/UserMessageCoders.h >@@ -215,7 +215,7 @@ public: > } > case APIObject::TypeCertificateInfo: { > WebCertificateInfo* certificateInfo = static_cast<WebCertificateInfo*>(m_root); >- encoder << certificateInfo->platformCertificateInfo(); >+ encoder << certificateInfo->certificateInfo(); > return true; > } > case APIObject::TypeError: { >@@ -504,10 +504,10 @@ public: > break; > } > case APIObject::TypeCertificateInfo: { >- PlatformCertificateInfo platformCertificateInfo; >- if (!decoder.decode(platformCertificateInfo)) >+ WebCore::CertificateInfo certificateInfo; >+ if (!decoder.decode(certificateInfo)) > return false; >- coder.m_root = WebCertificateInfo::create(platformCertificateInfo); >+ coder.m_root = WebCertificateInfo::create(certificateInfo); > break; > } > case APIObject::TypeError: { >diff --git a/Source/WebKit2/Shared/WebCertificateInfo.h b/Source/WebKit2/Shared/WebCertificateInfo.h >index 06182fce2fc6d597e9f5f8c03957719a2aa62af5..c8fbaccd4bf59e46a7757618e151d5465c763951 100644 >--- a/Source/WebKit2/Shared/WebCertificateInfo.h >+++ b/Source/WebKit2/Shared/WebCertificateInfo.h >@@ -27,27 +27,27 @@ > #define WebCertificateInfo_h > > #include "APIObject.h" >-#include "PlatformCertificateInfo.h" >+#include <WebCore/CertificateInfo.h> > #include <wtf/PassRefPtr.h> > > namespace WebKit { > > class WebCertificateInfo : public TypedAPIObject<APIObject::TypeCertificateInfo> { > public: >- static PassRefPtr<WebCertificateInfo> create(const PlatformCertificateInfo& info) >+ static PassRefPtr<WebCertificateInfo> create(const WebCore::CertificateInfo& info) > { > return adoptRef(new WebCertificateInfo(info)); > } > >- const PlatformCertificateInfo& platformCertificateInfo() const { return m_platformCertificateInfo; } >+ const WebCore::CertificateInfo& certificateInfo() const { return m_certificateInfo; } > > private: >- explicit WebCertificateInfo(const PlatformCertificateInfo& info) >- : m_platformCertificateInfo(info) >+ explicit WebCertificateInfo(const WebCore::CertificateInfo& info) >+ : m_certificateInfo(info) > { > } > >- PlatformCertificateInfo m_platformCertificateInfo; >+ WebCore::CertificateInfo m_certificateInfo; > }; > > } // namespace WebKit >diff --git a/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp b/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp >index c987d28fc6f6e55e96cac7e0e0805b09062b7a8e..f79472bea1055206085435f6782086993b94ce21 100644 >--- a/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp >+++ b/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp >@@ -28,6 +28,7 @@ > > #include "ShareableBitmap.h" > #include <WebCore/AuthenticationChallenge.h> >+#include <WebCore/CertificateInfo.h> > #include <WebCore/Cookie.h> > #include <WebCore/Credential.h> > #include <WebCore/Cursor.h> >@@ -39,13 +40,13 @@ > #include <WebCore/GraphicsContext.h> > #include <WebCore/GraphicsLayer.h> > #include <WebCore/Image.h> >-#include <WebCore/URL.h> > #include <WebCore/PluginData.h> > #include <WebCore/ProtectionSpace.h> > #include <WebCore/ResourceError.h> > #include <WebCore/ResourceRequest.h> > #include <WebCore/ResourceResponse.h> > #include <WebCore/TextCheckerClient.h> >+#include <WebCore/URL.h> > #include <WebCore/UserScript.h> > #include <WebCore/UserStyleSheet.h> > #include <WebCore/ViewportArguments.h> >@@ -547,6 +548,22 @@ bool ArgumentCoder<ResourceResponse>::decode(ArgumentDecoder& decoder, ResourceR > return true; > } > >+void ArgumentCoder<CertificateInfo>::encode(ArgumentEncoder& encoder, const CertificateInfo& certificateInfo) >+{ >+ encodePlatformData(encoder, certificateInfo); >+} >+ >+bool ArgumentCoder<CertificateInfo>::decode(ArgumentDecoder& decoder, CertificateInfo& certificateInfo) >+{ >+ CertificateInfo certificate; >+ >+ if (!decodePlatformData(decoder, certificate)) >+ return false; >+ >+ certificateInfo = certificate; >+ return true; >+} >+ > void ArgumentCoder<ResourceError>::encode(ArgumentEncoder& encoder, const ResourceError& resourceError) > { > if (kShouldSerializeWebCoreData) { >diff --git a/Source/WebKit2/Shared/WebCoreArgumentCoders.h b/Source/WebKit2/Shared/WebCoreArgumentCoders.h >index a965de855227b1f14323df8177f2b99959993d80..7733616273b8ec84e18d316a434abdd61a483763 100644 >--- a/Source/WebKit2/Shared/WebCoreArgumentCoders.h >+++ b/Source/WebKit2/Shared/WebCoreArgumentCoders.h >@@ -45,6 +45,7 @@ namespace WebCore { > class KeyframeValueList; > class URL; > class Notification; >+ class CertificateInfo; > class ProtectionSpace; > class ResourceError; > class ResourceRequest; >@@ -170,6 +171,13 @@ template<> struct ArgumentCoder<WebCore::ResourceResponse> { > static bool decodePlatformData(ArgumentDecoder&, WebCore::ResourceResponse&); > }; > >+template<> struct ArgumentCoder<WebCore::CertificateInfo> { >+ static void encode(ArgumentEncoder&, const WebCore::CertificateInfo&); >+ static bool decode(ArgumentDecoder&, WebCore::CertificateInfo&); >+ static void encodePlatformData(ArgumentEncoder&, const WebCore::CertificateInfo&); >+ static bool decodePlatformData(ArgumentDecoder&, WebCore::CertificateInfo&); >+}; >+ > template<> struct ArgumentCoder<WebCore::ResourceError> { > #if PLATFORM(MAC) > static const bool kShouldSerializeWebCoreData = false; >diff --git a/Source/WebKit2/Shared/mac/PlatformCertificateInfo.h b/Source/WebKit2/Shared/mac/PlatformCertificateInfo.h >deleted file mode 100644 >index 9ea1a2f33179f2d1540d491ad0683b95240cccd6..0000000000000000000000000000000000000000 >--- a/Source/WebKit2/Shared/mac/PlatformCertificateInfo.h >+++ /dev/null >@@ -1,60 +0,0 @@ >-/* >- * Copyright (C) 2010 Apple Inc. All rights reserved. >- * >- * Redistribution and use in source and binary forms, with or without >- * modification, are permitted provided that the following conditions >- * are met: >- * 1. Redistributions of source code must retain the above copyright >- * notice, this list of conditions and the following disclaimer. >- * 2. Redistributions in binary form must reproduce the above copyright >- * notice, this list of conditions and the following disclaimer in the >- * documentation and/or other materials provided with the distribution. >- * >- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >- * THE POSSIBILITY OF SUCH DAMAGE. >- */ >- >-#ifndef PlatformCertificateInfo_h >-#define PlatformCertificateInfo_h >- >-#include <WebCore/ResourceResponse.h> >-#include <wtf/RetainPtr.h> >- >-namespace CoreIPC { >- class ArgumentDecoder; >- class ArgumentEncoder; >-} >- >-namespace WebKit { >- >-class PlatformCertificateInfo { >-public: >- PlatformCertificateInfo(); >- explicit PlatformCertificateInfo(const WebCore::ResourceResponse&); >- explicit PlatformCertificateInfo(CFArrayRef certificateChain); >- >- CFArrayRef certificateChain() const { return m_certificateChain.get(); } >- >- void encode(CoreIPC::ArgumentEncoder&) const; >- static bool decode(CoreIPC::ArgumentDecoder&, PlatformCertificateInfo&); >- >-#ifndef NDEBUG >- void dump() const; >-#endif >- >-private: >- RetainPtr<CFArrayRef> m_certificateChain; >-}; >- >-} // namespace WebKit >- >-#endif // PlatformCertificateInfo_h >diff --git a/Source/WebKit2/Shared/mac/PlatformCertificateInfo.mm b/Source/WebKit2/Shared/mac/PlatformCertificateInfo.mm >deleted file mode 100644 >index c4a73545c5bd168f6aa926d9746318e4a6ca8e02..0000000000000000000000000000000000000000 >--- a/Source/WebKit2/Shared/mac/PlatformCertificateInfo.mm >+++ /dev/null >@@ -1,91 +0,0 @@ >-/* >- * Copyright (C) 2010 Apple Inc. All rights reserved. >- * >- * Redistribution and use in source and binary forms, with or without >- * modification, are permitted provided that the following conditions >- * are met: >- * 1. Redistributions of source code must retain the above copyright >- * notice, this list of conditions and the following disclaimer. >- * 2. Redistributions in binary form must reproduce the above copyright >- * notice, this list of conditions and the following disclaimer in the >- * documentation and/or other materials provided with the distribution. >- * >- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >- * THE POSSIBILITY OF SUCH DAMAGE. >- */ >- >-#import "config.h" >-#import "PlatformCertificateInfo.h" >- >-#import "ArgumentCodersCF.h" >-#import "ArgumentDecoder.h" >-#import "ArgumentEncoder.h" >- >-using namespace WebCore; >- >-namespace WebKit { >- >-PlatformCertificateInfo::PlatformCertificateInfo() >-{ >-} >- >-PlatformCertificateInfo::PlatformCertificateInfo(const ResourceResponse& response) >- : m_certificateChain(response.certificateChain()) >-{ >-} >- >-PlatformCertificateInfo::PlatformCertificateInfo(CFArrayRef certificateChain) >- : m_certificateChain(certificateChain) >-{ >-} >- >-void PlatformCertificateInfo::encode(CoreIPC::ArgumentEncoder& encoder) const >-{ >- if (!m_certificateChain) { >- encoder << false; >- return; >- } >- >- encoder << true; >- CoreIPC::encode(encoder, m_certificateChain.get()); >-} >- >-bool PlatformCertificateInfo::decode(CoreIPC::ArgumentDecoder& decoder, PlatformCertificateInfo& c) >-{ >- bool hasCertificateChain; >- if (!decoder.decode(hasCertificateChain)) >- return false; >- >- if (!hasCertificateChain) >- return true; >- >- if (!CoreIPC::decode(decoder, c.m_certificateChain)) >- return false; >- >- return true; >-} >- >-#ifndef NDEBUG >-void PlatformCertificateInfo::dump() const >-{ >- unsigned entries = m_certificateChain ? CFArrayGetCount(m_certificateChain.get()) : 0; >- >- NSLog(@"PlatformCertificateInfo\n"); >- NSLog(@" Entries: %d\n", entries); >- for (unsigned i = 0; i < entries; ++i) { >- RetainPtr<CFStringRef> summary = adoptCF(SecCertificateCopySubjectSummary((SecCertificateRef)CFArrayGetValueAtIndex(m_certificateChain.get(), i))); >- NSLog(@" %@", (NSString *)summary.get()); >- } >-} >-#endif >- >-} // namespace WebKit >diff --git a/Source/WebKit2/Shared/mac/WebCoreArgumentCodersMac.mm b/Source/WebKit2/Shared/mac/WebCoreArgumentCodersMac.mm >index c1260003ea14f565250fe0ec0a283015a38f6e45..9026609ff8ff361939c41311302e3fe4b8c7e1fb 100644 >--- a/Source/WebKit2/Shared/mac/WebCoreArgumentCodersMac.mm >+++ b/Source/WebKit2/Shared/mac/WebCoreArgumentCodersMac.mm >@@ -1,5 +1,6 @@ > /* > * Copyright (C) 2010 Apple Inc. All rights reserved. >+ * Copyright (C) 2013 Company 100 Inc. All rights reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions >@@ -27,14 +28,14 @@ > #import "WebCoreArgumentCoders.h" > > #import "ArgumentCodersCF.h" >-#import "PlatformCertificateInfo.h" > #import "WebKitSystemInterface.h" > #import <WebCore/KeyboardEvent.h> >+#import <WebCore/CertificateInfo.h> > #import <WebCore/ResourceError.h> > #import <WebCore/ResourceRequest.h> >+#import <WebCore/ResourceResponse.h> > > using namespace WebCore; >-using namespace WebKit; > > namespace CoreIPC { > >@@ -132,6 +133,37 @@ bool ArgumentCoder<ResourceResponse>::decodePlatformData(ArgumentDecoder& decode > return true; > } > >+ >+void ArgumentCoder<CertificateInfo>::encodePlatformData(ArgumentEncoder& encoder, const CertificateInfo& certificateInfo) >+{ >+ CFArrayRef certificateChain = certificateInfo.certificateChain(); >+ if (!certificateChain) { >+ encoder << false; >+ return; >+ } >+ >+ encoder << true; >+ CoreIPC::encode(encoder, certificateChain); >+} >+ >+bool ArgumentCoder<CertificateInfo>::decodePlatformData(ArgumentDecoder& decoder, CertificateInfo& certificateInfo) >+{ >+ bool hasCertificateChain; >+ if (!decoder.decode(hasCertificateChain)) >+ return false; >+ >+ if (!hasCertificateChain) >+ return true; >+ >+ RetainPtr<CFArrayRef> certificateChain; >+ if (!CoreIPC::decode(decoder, certificateChain)) >+ return false; >+ >+ certificateInfo.setCertificateChain(certificateChain.get()); >+ >+ return true; >+} >+ > static NSString* nsString(const String& string) > { > return string.impl() ? [NSString stringWithCharacters:reinterpret_cast<const UniChar*>(string.characters()) length:string.length()] : @""; >@@ -168,7 +200,7 @@ void ArgumentCoder<ResourceError>::encodePlatformData(ArgumentEncoder& encoder, > > id peerCertificateChain = [userInfo objectForKey:@"NSErrorPeerCertificateChainKey"]; > ASSERT(!peerCertificateChain || [peerCertificateChain isKindOfClass:[NSArray class]]); >- encoder << PlatformCertificateInfo((CFArrayRef)peerCertificateChain); >+ encoder << CertificateInfo((CFArrayRef)peerCertificateChain); > } > > bool ArgumentCoder<ResourceError>::decodePlatformData(ArgumentDecoder& decoder, ResourceError& resourceError) >@@ -194,7 +226,7 @@ bool ArgumentCoder<ResourceError>::decodePlatformData(ArgumentDecoder& decoder, > if (!decoder.decode(stringUserInfoMap)) > return false; > >- PlatformCertificateInfo certificate; >+ CertificateInfo certificate; > if (!decoder.decode(certificate)) > return false; > >diff --git a/Source/WebKit2/Shared/soup/PlatformCertificateInfo.cpp b/Source/WebKit2/Shared/soup/PlatformCertificateInfo.cpp >deleted file mode 100644 >index c6904b4ae6e5b532b039dd5cfda6e7eeba6714eb..0000000000000000000000000000000000000000 >--- a/Source/WebKit2/Shared/soup/PlatformCertificateInfo.cpp >+++ /dev/null >@@ -1,110 +0,0 @@ >-/* >- * Copyright (C) 2012 Igalia S.L. >- * >- * Redistribution and use in source and binary forms, with or without >- * modification, are permitted provided that the following conditions >- * are met: >- * 1. Redistributions of source code must retain the above copyright >- * notice, this list of conditions and the following disclaimer. >- * 2. Redistributions in binary form must reproduce the above copyright >- * notice, this list of conditions and the following disclaimer in the >- * documentation and/or other materials provided with the distribution. >- * >- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >- * THE POSSIBILITY OF SUCH DAMAGE. >- */ >- >-#include "config.h" >-#include "PlatformCertificateInfo.h" >- >-#include "ArgumentDecoder.h" >-#include "ArgumentEncoder.h" >-#include "DataReference.h" >-#include <WebCore/ResourceError.h> >-#include <WebCore/ResourceResponse.h> >-#include <libsoup/soup.h> >- >-using namespace WebCore; >- >-namespace WebKit { >- >-PlatformCertificateInfo::PlatformCertificateInfo() >- : m_tlsErrors(static_cast<GTlsCertificateFlags>(0)) >-{ >-} >- >-PlatformCertificateInfo::PlatformCertificateInfo(const ResourceResponse& response) >- : m_certificate(response.soupMessageCertificate()) >- , m_tlsErrors(response.soupMessageTLSErrors()) >-{ >-} >- >-PlatformCertificateInfo::PlatformCertificateInfo(const ResourceError& resourceError) >- : m_certificate(resourceError.certificate()) >- , m_tlsErrors(static_cast<GTlsCertificateFlags>(resourceError.tlsErrors())) >-{ >-} >- >-PlatformCertificateInfo::~PlatformCertificateInfo() >-{ >-} >- >-void PlatformCertificateInfo::encode(CoreIPC::ArgumentEncoder& encoder) const >-{ >- if (!m_certificate) { >- encoder << false; >- return; >- } >- >- GByteArray* certificateData = 0; >- g_object_get(G_OBJECT(m_certificate.get()), "certificate", &certificateData, NULL); >- if (!certificateData) { >- encoder << false; >- return; >- } >- >- encoder << true; >- GRefPtr<GByteArray> certificate = adoptGRef(certificateData); >- encoder.encodeVariableLengthByteArray(CoreIPC::DataReference(certificate->data, certificate->len)); >- encoder << static_cast<uint32_t>(m_tlsErrors); >-} >- >-bool PlatformCertificateInfo::decode(CoreIPC::ArgumentDecoder& decoder, PlatformCertificateInfo& certificateInfo) >-{ >- bool hasCertificate; >- if (!decoder.decode(hasCertificate)) >- return false; >- >- if (!hasCertificate) >- return true; >- >- CoreIPC::DataReference certificateDataReference; >- if (!decoder.decodeVariableLengthByteArray(certificateDataReference)) >- return false; >- >- GByteArray* certificateData = g_byte_array_sized_new(certificateDataReference.size()); >- certificateData = g_byte_array_append(certificateData, certificateDataReference.data(), certificateDataReference.size()); >- GRefPtr<GByteArray> certificate = adoptGRef(certificateData); >- >- GTlsBackend* backend = g_tls_backend_get_default(); >- certificateInfo.m_certificate = adoptGRef(G_TLS_CERTIFICATE(g_initable_new(g_tls_backend_get_certificate_type(backend), 0, 0, >- "certificate", certificate.get(), NULL))); >- >- uint32_t tlsErrors; >- if (!decoder.decode(tlsErrors)) >- return false; >- certificateInfo.m_tlsErrors = static_cast<GTlsCertificateFlags>(tlsErrors); >- >- return true; >-} >- >-} // namespace WebKit >diff --git a/Source/WebKit2/Shared/soup/PlatformCertificateInfo.h b/Source/WebKit2/Shared/soup/PlatformCertificateInfo.h >deleted file mode 100644 >index 8c231f36db32f8d8b40267b6db45c147f61c0550..0000000000000000000000000000000000000000 >--- a/Source/WebKit2/Shared/soup/PlatformCertificateInfo.h >+++ /dev/null >@@ -1,65 +0,0 @@ >-/* >- * Copyright (C) 2010 Apple Inc. All rights reserved. >- * Portions Copyright (c) 2010 Motorola Mobility, Inc. All rights reserved. >- * >- * Redistribution and use in source and binary forms, with or without >- * modification, are permitted provided that the following conditions >- * are met: >- * 1. Redistributions of source code must retain the above copyright >- * notice, this list of conditions and the following disclaimer. >- * 2. Redistributions in binary form must reproduce the above copyright >- * notice, this list of conditions and the following disclaimer in the >- * documentation and/or other materials provided with the distribution. >- * >- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' >- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, >- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR >- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS >- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR >- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF >- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS >- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN >- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) >- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF >- * THE POSSIBILITY OF SUCH DAMAGE. >- */ >- >-#ifndef PlatformCertificateInfo_h >-#define PlatformCertificateInfo_h >- >-#include <libsoup/soup.h> >-#include <wtf/gobject/GRefPtr.h> >- >-namespace CoreIPC { >-class ArgumentDecoder; >-class ArgumentEncoder; >-} >- >-namespace WebCore { >-class ResourceError; >-class ResourceResponse; >-} >- >-namespace WebKit { >- >-class PlatformCertificateInfo { >-public: >- PlatformCertificateInfo(); >- explicit PlatformCertificateInfo(const WebCore::ResourceResponse&); >- explicit PlatformCertificateInfo(const WebCore::ResourceError&); >- ~PlatformCertificateInfo(); >- >- GTlsCertificate* certificate() const { return m_certificate.get(); } >- GTlsCertificateFlags tlsErrors() const { return m_tlsErrors; } >- >- void encode(CoreIPC::ArgumentEncoder&) const; >- static bool decode(CoreIPC::ArgumentDecoder&, PlatformCertificateInfo&); >- >-private: >- GRefPtr<GTlsCertificate> m_certificate; >- GTlsCertificateFlags m_tlsErrors; >-}; >- >-} // namespace WebKit >- >-#endif // PlatformCertificateInfo_h >diff --git a/Source/WebKit2/Shared/soup/WebCoreArgumentCodersSoup.cpp b/Source/WebKit2/Shared/soup/WebCoreArgumentCodersSoup.cpp >index dc4e1191757ece175ad485a7aa72252fafae8846..7617b36eb6402978cae30cf41e645b530367bf6a 100644 >--- a/Source/WebKit2/Shared/soup/WebCoreArgumentCodersSoup.cpp >+++ b/Source/WebKit2/Shared/soup/WebCoreArgumentCodersSoup.cpp >@@ -1,6 +1,7 @@ > /* > * Copyright (C) 2010 Apple Inc. All rights reserved. > * Portions Copyright (c) 2010 Motorola Mobility, Inc. All rights reserved. >+ * Portions Copyright (c) 2013 Company 100 Inc. All rights reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions >@@ -25,16 +26,16 @@ > */ > > #include "config.h" >+#include "DataReference.h" > #include "WebCoreArgumentCoders.h" > >-#include "PlatformCertificateInfo.h" >+#include <WebCore/CertificateInfo.h> > #include <WebCore/ResourceError.h> > #include <WebCore/ResourceRequest.h> > #include <WebCore/ResourceResponse.h> > #include <wtf/text/CString.h> > > using namespace WebCore; >-using namespace WebKit; > > namespace CoreIPC { > >@@ -68,19 +69,69 @@ bool ArgumentCoder<ResourceResponse>::decodePlatformData(ArgumentDecoder& decode > } > > >+void ArgumentCoder<CertificateInfo>::encodePlatformData(ArgumentEncoder& encoder, const CertificateInfo& certificateInfo) >+{ >+ if (!certificateInfo.certificate()) { >+ encoder << false; >+ return; >+ } >+ >+ GByteArray* certificateData = 0; >+ g_object_get(G_OBJECT(certificateInfo.certificate()), "certificate", &certificateData, NULL); >+ if (!certificateData) { >+ encoder << false; >+ return; >+ } >+ >+ encoder << true; >+ GRefPtr<GByteArray> certificate = adoptGRef(certificateData); >+ encoder.encodeVariableLengthByteArray(CoreIPC::DataReference(certificate->data, certificate->len)); >+ encoder << static_cast<uint32_t>(certificateInfo.tlsErrors()); >+} >+ >+bool ArgumentCoder<CertificateInfo>::decodePlatformData(ArgumentDecoder& decoder, CertificateInfo& certificateInfo) >+{ >+ bool hasCertificate; >+ if (!decoder.decode(hasCertificate)) >+ return false; >+ >+ if (!hasCertificate) >+ return true; >+ >+ CoreIPC::DataReference certificateDataReference; >+ if (!decoder.decodeVariableLengthByteArray(certificateDataReference)) >+ return false; >+ >+ GByteArray* certificateData = g_byte_array_sized_new(certificateDataReference.size()); >+ certificateData = g_byte_array_append(certificateData, certificateDataReference.data(), certificateDataReference.size()); >+ GRefPtr<GByteArray> certificateBytes = adoptGRef(certificateData); >+ >+ GTlsBackend* backend = g_tls_backend_get_default(); >+ GRefPtr<GTlsCertificate> certificate = adoptGRef(G_TLS_CERTIFICATE(g_initable_new(g_tls_backend_get_certificate_type(backend), 0, 0, >+ "certificate", certificateBytes.get(), 0))); >+ certificateInfo.setCertificate(certificate.get()); >+ >+ uint32_t tlsErrors; >+ if (!decoder.decode(tlsErrors)) >+ return false; >+ certificateInfo.setTLSErrors(static_cast<GTlsCertificateFlags>(tlsErrors)); >+ >+ return true; >+} >+ >+ > void ArgumentCoder<ResourceError>::encodePlatformData(ArgumentEncoder& encoder, const ResourceError& resourceError) > { >- encoder << PlatformCertificateInfo(resourceError); >+ encoder << resourceError.certificateInfo(); > } > > bool ArgumentCoder<ResourceError>::decodePlatformData(ArgumentDecoder& decoder, ResourceError& resourceError) > { >- PlatformCertificateInfo certificateInfo; >+ CertificateInfo certificateInfo; > if (!decoder.decode(certificateInfo)) > return false; > >- resourceError.setCertificate(certificateInfo.certificate()); >- resourceError.setTLSErrors(certificateInfo.tlsErrors()); >+ resourceError.setCertificateInfo(certificateInfo); > return true; > } > >diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp >index 44629ecffda62536d88af1cf5831619567ad9515..902012fd21c1670c0019919ddc02f382ac2225b6 100644 >--- a/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp >+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp >@@ -22,7 +22,6 @@ > #include "WebKitWebView.h" > > #include "ImageOptions.h" >-#include "PlatformCertificateInfo.h" > #include "WebCertificateInfo.h" > #include "WebContextMenuItem.h" > #include "WebContextMenuItemData.h" >@@ -59,6 +58,7 @@ > #include "WebKitWebViewPrivate.h" > #include "WebKitWindowPropertiesPrivate.h" > #include <JavaScriptCore/APICast.h> >+#include <WebCore/CertificateInfo.h> > #include <WebCore/DragIcon.h> > #include <WebCore/GOwnPtrGtk.h> > #include <WebCore/GtkUtilities.h> >@@ -2987,7 +2987,7 @@ gboolean webkit_web_view_get_tls_info(WebKitWebView* webView, GTlsCertificate** > if (!mainFrame) > return FALSE; > >- const PlatformCertificateInfo& certificateInfo = mainFrame->certificateInfo()->platformCertificateInfo(); >+ const WebCore::CertificateInfo& certificateInfo = mainFrame->certificateInfo()->certificateInfo(); > if (certificate) > *certificate = certificateInfo.certificate(); > if (errors) >diff --git a/Source/WebKit2/UIProcess/Authentication/AuthenticationChallengeProxy.cpp b/Source/WebKit2/UIProcess/Authentication/AuthenticationChallengeProxy.cpp >index 9f64885ae88484dc741515729f554b9f526a5dd5..d5573daca832ddeee461cf1b311f217fc32806e7 100644 >--- a/Source/WebKit2/UIProcess/Authentication/AuthenticationChallengeProxy.cpp >+++ b/Source/WebKit2/UIProcess/Authentication/AuthenticationChallengeProxy.cpp >@@ -66,7 +66,7 @@ void AuthenticationChallengeProxy::useCredential(WebCredential* credential) > m_connection->send(Messages::AuthenticationManager::ContinueWithoutCredentialForChallenge(m_challengeID), 0); > else { > WebCertificateInfo* certificateInfo = credential->certificateInfo(); >- PlatformCertificateInfo platformInfo = certificateInfo ? certificateInfo->platformCertificateInfo() : PlatformCertificateInfo(); >+ WebCore::CertificateInfo platformInfo = certificateInfo ? certificateInfo->certificateInfo() : WebCore::CertificateInfo(); > m_connection->send(Messages::AuthenticationManager::UseCredentialForChallenge(m_challengeID, credential->core(), platformInfo), 0); > } > >diff --git a/Source/WebKit2/UIProcess/WebContext.cpp b/Source/WebKit2/UIProcess/WebContext.cpp >index c681b903e425e449618910e2f38a2954c97d428b..95d3bc7e8c2e3c2b2b4ff93aea897fc565d21fa2 100644 >--- a/Source/WebKit2/UIProcess/WebContext.cpp >+++ b/Source/WebKit2/UIProcess/WebContext.cpp >@@ -1067,7 +1067,7 @@ void WebContext::allowSpecificHTTPSCertificateForHost(const WebCertificateInfo* > { > #if ENABLE(NETWORK_PROCESS) > if (m_usesNetworkProcess && m_networkProcess) { >- m_networkProcess->send(Messages::NetworkProcess::AllowSpecificHTTPSCertificateForHost(certificate->platformCertificateInfo(), host), 0); >+ m_networkProcess->send(Messages::NetworkProcess::AllowSpecificHTTPSCertificateForHost(certificate->certificateInfo(), host), 0); > return; > } > #else >diff --git a/Source/WebKit2/UIProcess/WebFrameProxy.cpp b/Source/WebKit2/UIProcess/WebFrameProxy.cpp >index a57087c1fd4c8dac2022307ad45b6a1589ead2f3..c29e035ee379b801f574366f18f6e51ef3741809 100644 >--- a/Source/WebKit2/UIProcess/WebFrameProxy.cpp >+++ b/Source/WebKit2/UIProcess/WebFrameProxy.cpp >@@ -138,7 +138,7 @@ void WebFrameProxy::didFailProvisionalLoad() > m_unreachableURL = m_lastUnreachableURL; > } > >-void WebFrameProxy::didCommitLoad(const String& contentType, const PlatformCertificateInfo& certificateInfo) >+void WebFrameProxy::didCommitLoad(const String& contentType, const WebCore::CertificateInfo& certificateInfo) > { > ASSERT(m_loadState == LoadStateProvisional); > m_loadState = LoadStateCommitted; >diff --git a/Source/WebKit2/UIProcess/WebFrameProxy.h b/Source/WebKit2/UIProcess/WebFrameProxy.h >index 0bee666fffd4af2d11b5fc7dad2748a2696b6ad5..495f34672151ee969bc89cead7f71b514e3d04be 100644 >--- a/Source/WebKit2/UIProcess/WebFrameProxy.h >+++ b/Source/WebKit2/UIProcess/WebFrameProxy.h >@@ -40,10 +40,14 @@ namespace CoreIPC { > class Connection; > } > >+namespace WebCore { >+class CertificateInfo; >+} >+ > namespace WebKit { > > class ImmutableArray; >-class PlatformCertificateInfo; >+ > class WebCertificateInfo; > class WebFormSubmissionListenerProxy; > class WebFramePolicyListenerProxy; >@@ -106,7 +110,7 @@ public: > void didStartProvisionalLoad(const String& url); > void didReceiveServerRedirectForProvisionalLoad(const String& url); > void didFailProvisionalLoad(); >- void didCommitLoad(const String& contentType, const PlatformCertificateInfo&); >+ void didCommitLoad(const String& contentType, const WebCore::CertificateInfo&); > void didFinishLoad(); > void didFailLoad(); > void didSameDocumentNavigation(const String&); // eg. anchor navigation, session state change. >diff --git a/Source/WebKit2/UIProcess/WebPageProxy.cpp b/Source/WebKit2/UIProcess/WebPageProxy.cpp >index a743ec695764b3859ae5de2a5db493749746ff57..2f20cc53f6e5533dbf9b9c786201906aac0db7d4 100644 >--- a/Source/WebKit2/UIProcess/WebPageProxy.cpp >+++ b/Source/WebKit2/UIProcess/WebPageProxy.cpp >@@ -2190,7 +2190,7 @@ void WebPageProxy::clearLoadDependentCallbacks() > } > } > >-void WebPageProxy::didCommitLoadForFrame(uint64_t frameID, const String& mimeType, uint32_t opaqueFrameLoadType, const PlatformCertificateInfo& certificateInfo, CoreIPC::MessageDecoder& decoder) >+void WebPageProxy::didCommitLoadForFrame(uint64_t frameID, const String& mimeType, uint32_t opaqueFrameLoadType, const CertificateInfo& certificateInfo, CoreIPC::MessageDecoder& decoder) > { > RefPtr<APIObject> userData; > WebContextUserMessageDecoder messageDecoder(userData, m_process.get()); >diff --git a/Source/WebKit2/UIProcess/WebPageProxy.h b/Source/WebKit2/UIProcess/WebPageProxy.h >index fc66c1769315c3697017734930e1d1f94638dc6c..e82aa16a0d344729c616fcbbf0a219682e085290 100644 >--- a/Source/WebKit2/UIProcess/WebPageProxy.h >+++ b/Source/WebKit2/UIProcess/WebPageProxy.h >@@ -98,6 +98,7 @@ namespace WebCore { > class FloatRect; > class GraphicsLayer; > class IntSize; >+ class CertificateInfo; > class ProtectionSpace; > class SharedBuffer; > struct FileChooserSettings; >@@ -125,7 +126,6 @@ class NativeWebKeyboardEvent; > class NativeWebMouseEvent; > class NativeWebWheelEvent; > class PageClient; >-class PlatformCertificateInfo; > class StringPairVector; > class WebBackForwardList; > class WebBackForwardListItem; >@@ -784,7 +784,7 @@ private: > void didStartProvisionalLoadForFrame(uint64_t frameID, const String& url, const String& unreachableURL, CoreIPC::MessageDecoder&); > void didReceiveServerRedirectForProvisionalLoadForFrame(uint64_t frameID, const String&, CoreIPC::MessageDecoder&); > void didFailProvisionalLoadForFrame(uint64_t frameID, const WebCore::ResourceError&, CoreIPC::MessageDecoder&); >- void didCommitLoadForFrame(uint64_t frameID, const String& mimeType, uint32_t frameLoadType, const PlatformCertificateInfo&, CoreIPC::MessageDecoder&); >+ void didCommitLoadForFrame(uint64_t frameID, const String& mimeType, uint32_t frameLoadType, const WebCore::CertificateInfo&, CoreIPC::MessageDecoder&); > void didFinishDocumentLoadForFrame(uint64_t frameID, CoreIPC::MessageDecoder&); > void didFinishLoadForFrame(uint64_t frameID, CoreIPC::MessageDecoder&); > void didFailLoadForFrame(uint64_t frameID, const WebCore::ResourceError&, CoreIPC::MessageDecoder&); >diff --git a/Source/WebKit2/UIProcess/WebPageProxy.messages.in b/Source/WebKit2/UIProcess/WebPageProxy.messages.in >index a98538be12439ce722ce49c3d7558426c467b7cd..1afdf012d8a297d1b4085c541f5a0fd0bc03f468 100644 >--- a/Source/WebKit2/UIProcess/WebPageProxy.messages.in >+++ b/Source/WebKit2/UIProcess/WebPageProxy.messages.in >@@ -111,7 +111,7 @@ messages -> WebPageProxy { > DidCreateSubframe(uint64_t frameID) > > # Frame load messages >- DidCommitLoadForFrame(uint64_t frameID, WTF::String mimeType, uint32_t loadType, WebKit::PlatformCertificateInfo certificateInfo, WebKit::InjectedBundleUserMessageEncoder userData) Variadic >+ DidCommitLoadForFrame(uint64_t frameID, WTF::String mimeType, uint32_t loadType, WebCore::CertificateInfo certificateInfo, WebKit::InjectedBundleUserMessageEncoder userData) Variadic > DidFailLoadForFrame(uint64_t frameID, WebCore::ResourceError error, WebKit::InjectedBundleUserMessageEncoder userData) Variadic > DidFailProvisionalLoadForFrame(uint64_t frameID, WebCore::ResourceError error, WebKit::InjectedBundleUserMessageEncoder userData) Variadic > DidFinishDocumentLoadForFrame(uint64_t frameID, WebKit::InjectedBundleUserMessageEncoder userData) Variadic >diff --git a/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj b/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj >index d4d45d86e3728bbf0bc520343d5d169b6947661b..0ded134318e33c091d24b6bce948f9845098b9f9 100644 >--- a/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj >+++ b/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj >@@ -1032,8 +1032,6 @@ > BCF18638167D071E00A1A85A /* CacheModel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCF18637167D071E00A1A85A /* CacheModel.cpp */; }; > BCF4DE23168E4BD500C94AFC /* NetworkProcessSupplement.h in Headers */ = {isa = PBXBuildFile; fileRef = BCF4DE22168E4BD500C94AFC /* NetworkProcessSupplement.h */; }; > BCF4DE25168FA44800C94AFC /* WebContextSupplement.h in Headers */ = {isa = PBXBuildFile; fileRef = BCF4DE24168FA44800C94AFC /* WebContextSupplement.h */; }; >- BCF505E71243047B005955AE /* PlatformCertificateInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = BCF505E51243047B005955AE /* PlatformCertificateInfo.h */; }; >- BCF505E81243047B005955AE /* PlatformCertificateInfo.mm in Sources */ = {isa = PBXBuildFile; fileRef = BCF505E61243047B005955AE /* PlatformCertificateInfo.mm */; }; > BCF50728124329AA005955AE /* WebCertificateInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = BCF50726124329AA005955AE /* WebCertificateInfo.h */; }; > BCF69F861176CD6F00471A52 /* WebHistoryClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCF69F841176CD6F00471A52 /* WebHistoryClient.cpp */; }; > BCF69F871176CD6F00471A52 /* WebHistoryClient.h in Headers */ = {isa = PBXBuildFile; fileRef = BCF69F851176CD6F00471A52 /* WebHistoryClient.h */; }; >@@ -2463,8 +2461,6 @@ > BCF18637167D071E00A1A85A /* CacheModel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CacheModel.cpp; sourceTree = "<group>"; }; > BCF4DE22168E4BD500C94AFC /* NetworkProcessSupplement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkProcessSupplement.h; path = Network/NetworkProcessSupplement.h; sourceTree = "<group>"; }; > BCF4DE24168FA44800C94AFC /* WebContextSupplement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebContextSupplement.h; sourceTree = "<group>"; }; >- BCF505E51243047B005955AE /* PlatformCertificateInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformCertificateInfo.h; sourceTree = "<group>"; }; >- BCF505E61243047B005955AE /* PlatformCertificateInfo.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PlatformCertificateInfo.mm; sourceTree = "<group>"; }; > BCF5068412431861005955AE /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = /System/Library/Frameworks/Security.framework; sourceTree = "<absolute>"; }; > BCF50726124329AA005955AE /* WebCertificateInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebCertificateInfo.h; sourceTree = "<group>"; }; > BCF69F841176CD6F00471A52 /* WebHistoryClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebHistoryClient.cpp; sourceTree = "<group>"; }; >@@ -4159,8 +4155,6 @@ > C574A58012E66681002DFE98 /* PasteboardTypes.mm */, > E19582D2153CBFD700B60875 /* PDFKitImports.h */, > E19582D4153CC05300B60875 /* PDFKitImports.mm */, >- BCF505E51243047B005955AE /* PlatformCertificateInfo.h */, >- BCF505E61243047B005955AE /* PlatformCertificateInfo.mm */, > E1CC1B8F12D7EADF00625838 /* PrintInfoMac.mm */, > 1AF1AC6A1651759E00C17D7F /* RemoteLayerTreeTransaction.h */, > 1AF1AC691651759E00C17D7F /* RemoteLayerTreeTransaction.mm */, >@@ -5119,7 +5113,6 @@ > C574A58112E66681002DFE98 /* PasteboardTypes.h in Headers */, > E19582D3153CBFD700B60875 /* PDFKitImports.h in Headers */, > 51FCB18917BBFE0300394CD8 /* SynchronousNetworkLoaderClient.h in Headers */, >- BCF505E71243047B005955AE /* PlatformCertificateInfo.h in Headers */, > BCC43ABB127B95DC00317F16 /* PlatformPopupMenuData.h in Headers */, > BC8780FC1161C2B800CC2768 /* PlatformProcessIdentifier.h in Headers */, > 1A6FB7D311E651E200DB1371 /* Plugin.h in Headers */, >@@ -6280,7 +6273,6 @@ > 2D2ADF1016364D8200197E47 /* PDFPluginChoiceAnnotation.mm in Sources */, > 2D429BFD1721E2C700EC681F /* PDFPluginPasswordField.mm in Sources */, > 2D2ADF0916362DD500197E47 /* PDFPluginTextAnnotation.mm in Sources */, >- BCF505E81243047B005955AE /* PlatformCertificateInfo.mm in Sources */, > BCC43ABA127B95DC00317F16 /* PlatformPopupMenuData.cpp in Sources */, > 1A6FB7D211E651E200DB1371 /* Plugin.cpp in Sources */, > 31A67E0C165B2A99006CBA66 /* PlugInAutoStartProvider.cpp in Sources */, >diff --git a/Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp b/Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp >index d57517321f26c083570f82dae20e0ee9b9bfe8bf..b16a015e6a1454177f6c4b5b9103ca55913389ac 100644 >--- a/Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp >+++ b/Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp >@@ -32,10 +32,10 @@ > #include "Logging.h" > #include "NetworkProcessConnection.h" > #include "NetworkResourceLoaderMessages.h" >-#include "PlatformCertificateInfo.h" > #include "WebCoreArgumentCoders.h" > #include "WebErrors.h" > #include "WebProcess.h" >+#include <WebCore/CertificateInfo.h> > #include <WebCore/DocumentLoader.h> > #include <WebCore/ResourceBuffer.h> > #include <WebCore/ResourceError.h> >@@ -99,14 +99,14 @@ void WebResourceLoader::didSendData(uint64_t bytesSent, uint64_t totalBytesToBeS > m_coreLoader->didSendData(bytesSent, totalBytesToBeSent); > } > >-void WebResourceLoader::didReceiveResponseWithCertificateInfo(const ResourceResponse& response, const PlatformCertificateInfo& certificateInfo, bool needsContinueDidReceiveResponseMessage) >+void WebResourceLoader::didReceiveResponseWithCertificateInfo(const ResourceResponse& response, const CertificateInfo& certificateInfo, bool needsContinueDidReceiveResponseMessage) > { > LOG(Network, "(WebProcess) WebResourceLoader::didReceiveResponseWithCertificateInfo for '%s'. Status %d.", m_coreLoader->url().string().utf8().data(), response.httpStatusCode()); > > Ref<WebResourceLoader> protect(*this); > > ResourceResponse responseCopy(response); >- responseCopy.setCertificateChain(certificateInfo.certificateChain()); >+ responseCopy.setCertificateInfo(certificateInfo); > m_coreLoader->didReceiveResponse(responseCopy); > > // If m_coreLoader becomes null as a result of the didReceiveResponse callback, we can't use the send function(). >diff --git a/Source/WebKit2/WebProcess/Network/WebResourceLoader.h b/Source/WebKit2/WebProcess/Network/WebResourceLoader.h >index 0812c99af58d8d5a692445a99cdb3fbf0e4bc99c..f7452195c483a33c0c299c637d82159a5f80ffa3 100644 >--- a/Source/WebKit2/WebProcess/Network/WebResourceLoader.h >+++ b/Source/WebKit2/WebProcess/Network/WebResourceLoader.h >@@ -40,6 +40,7 @@ class DataReference; > } > > namespace WebCore { >+class CertificateInfo; > class ProtectionSpace; > class ResourceBuffer; > class ResourceError; >@@ -50,7 +51,6 @@ class ResourceResponse; > > namespace WebKit { > >-class PlatformCertificateInfo; > typedef uint64_t ResourceLoadIdentifier; > > class WebResourceLoader : public RefCounted<WebResourceLoader>, public CoreIPC::MessageSender { >@@ -76,7 +76,7 @@ private: > > void willSendRequest(const WebCore::ResourceRequest&, const WebCore::ResourceResponse& redirectResponse); > void didSendData(uint64_t bytesSent, uint64_t totalBytesToBeSent); >- void didReceiveResponseWithCertificateInfo(const WebCore::ResourceResponse&, const PlatformCertificateInfo&, bool needsContinueDidReceiveResponseMessage); >+ void didReceiveResponseWithCertificateInfo(const WebCore::ResourceResponse&, const WebCore::CertificateInfo&, bool needsContinueDidReceiveResponseMessage); > void didReceiveData(const CoreIPC::DataReference&, int64_t encodedDataLength); > void didFinishResourceLoad(double finishTime); > void didFailResourceLoad(const WebCore::ResourceError&); >diff --git a/Source/WebKit2/WebProcess/Network/WebResourceLoader.messages.in b/Source/WebKit2/WebProcess/Network/WebResourceLoader.messages.in >index 7b4045e669a4f9efdd562de1a298742a8aef26af..4a62042c55d54420e806560f2c0ba33d3ba98433 100644 >--- a/Source/WebKit2/WebProcess/Network/WebResourceLoader.messages.in >+++ b/Source/WebKit2/WebProcess/Network/WebResourceLoader.messages.in >@@ -29,7 +29,7 @@ messages -> WebResourceLoader LegacyReceiver { > // FIXME (NetworkProcess): We'll need much more granularity for response messages. > WillSendRequest(WebCore::ResourceRequest request, WebCore::ResourceResponse redirectResponse) > DidSendData(uint64_t bytesSent, uint64_t totalBytesToBeSent) >- DidReceiveResponseWithCertificateInfo(WebCore::ResourceResponse response, WebKit::PlatformCertificateInfo certificateInfo, bool needsContinueDidReceiveResponseMessage) >+ DidReceiveResponseWithCertificateInfo(WebCore::ResourceResponse response, WebCore::CertificateInfo certificateInfo, bool needsContinueDidReceiveResponseMessage) > DidReceiveData(CoreIPC::DataReference data, int64_t encodedDataLength) > DidFinishResourceLoad(double finishTime) > DidFailResourceLoad(WebCore::ResourceError error) >diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp b/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp >index 3ce3e0798db09d6c0abaa9d8de9c819fdb8d3afd..753d5a18cc40fef337df9ec8c07a2c82f0a9e2c5 100644 >--- a/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp >+++ b/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp >@@ -33,7 +33,6 @@ > #include "InjectedBundleDOMWindowExtension.h" > #include "InjectedBundleNavigationAction.h" > #include "InjectedBundleUserMessageCoders.h" >-#include "PlatformCertificateInfo.h" > #include "PluginView.h" > #include "WebBackForwardListProxy.h" > #include "WebContextMessages.h" >@@ -51,6 +50,7 @@ > #include "WebProcessProxyMessages.h" > #include <JavaScriptCore/APICast.h> > #include <JavaScriptCore/JSObject.h> >+#include <WebCore/CertificateInfo.h> > #include <WebCore/Chrome.h> > #include <WebCore/DOMWrapperWorld.h> > #include <WebCore/DocumentLoader.h> >@@ -441,7 +441,7 @@ void WebFrameLoaderClient::dispatchDidCommitLoad() > > // Notify the UIProcess. > >- webPage->send(Messages::WebPageProxy::DidCommitLoadForFrame(m_frame->frameID(), response.mimeType(), m_frame->coreFrame()->loader().loadType(), PlatformCertificateInfo(response), InjectedBundleUserMessageEncoder(userData.get()))); >+ webPage->send(Messages::WebPageProxy::DidCommitLoadForFrame(m_frame->frameID(), response.mimeType(), m_frame->coreFrame()->loader().loadType(), response.certificateInfo(), InjectedBundleUserMessageEncoder(userData.get()))); > > webPage->didCommitLoad(m_frame); > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 118520
:
206453
|
206454
|
206500
|
206507
|
209637
|
209640
|
209746
|
210347
|
212703
|
212804
|
212957
|
213036
|
213359
|
213595
|
213867
|
213868
|
213870
|
213871
|
213872
|
213874
|
214157
|
214158
|
214160