Diff
Modified: trunk/Source/WTF/ChangeLog (231915 => 231916)
--- trunk/Source/WTF/ChangeLog 2018-05-17 19:20:28 UTC (rev 231915)
+++ trunk/Source/WTF/ChangeLog 2018-05-17 19:26:52 UTC (rev 231916)
@@ -1,3 +1,15 @@
+2018-05-17 Jiewen Tan <[email protected]>
+
+ Convert CertificateInfo into Credential in UI Process instead of Networking Process
+ https://bugs.webkit.org/show_bug.cgi?id=185662
+ <rdar://problem/40275561>
+
+ Reviewed by Alex Christensen.
+
+ Remove marco HAVE_SEC_IDENTITY since it is no longer useful.
+
+ * wtf/Platform.h:
+
2018-05-17 Zalan Bujtas <[email protected]>
Add ASSERT_NOT_IMPLEMENTED_YET() macro
Modified: trunk/Source/WTF/wtf/Platform.h (231915 => 231916)
--- trunk/Source/WTF/wtf/Platform.h 2018-05-17 19:20:28 UTC (rev 231915)
+++ trunk/Source/WTF/wtf/Platform.h 2018-05-17 19:26:52 UTC (rev 231916)
@@ -572,7 +572,6 @@
#define USE_APPKIT 1
#define HAVE_RUNLOOP_TIMER 1
-#define HAVE_SEC_IDENTITY 1
#define HAVE_SEC_KEYCHAIN 1
#if CPU(X86_64)
Modified: trunk/Source/WebKit/ChangeLog (231915 => 231916)
--- trunk/Source/WebKit/ChangeLog 2018-05-17 19:20:28 UTC (rev 231915)
+++ trunk/Source/WebKit/ChangeLog 2018-05-17 19:26:52 UTC (rev 231916)
@@ -1,3 +1,41 @@
+2018-05-17 Jiewen Tan <[email protected]>
+
+ Convert CertificateInfo into Credential in UI Process instead of Networking Process
+ https://bugs.webkit.org/show_bug.cgi?id=185662
+ <rdar://problem/40275561>
+
+ Reviewed by Alex Christensen.
+
+ Right now we convert CertificateInfo into Credential in the very last stage of client certificate authentication process
+ when it reaches Networking Process. This patch moves that conversion earlier in UI Process such that we don't have to
+ pass both Credential and CertificateInfo to Networking Process.
+
+ CertificateInfo is only used in macOS for C API specifically. WK2 includes macOS/iOS relies on NSURLCredential/WebCore::Credential
+ solely. WK2 has already exercised the ability of using WebCore::Credential to do client certficate authentication. This patch therefore
+ takes advantage of that. It converts CertficateInfo objects into Credential objects right after WebCredential is initialized, and then merge
+ any code paths that utilizes CertficateInfo into ones that uses WebCore::Credential.
+
+ Covered by existing tests.
+
+ * Shared/Authentication/AuthenticationManager.cpp:
+ (WebKit::AuthenticationManager::useCredentialForChallenge):
+ (WebKit::AuthenticationManager::useCredentialForSingleChallenge):
+ (WebKit::AuthenticationManager::tryUseCertificateInfoForChallenge): Deleted.
+ * Shared/Authentication/AuthenticationManager.h:
+ * Shared/Authentication/AuthenticationManager.messages.in:
+ * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
+ (WebKit::AuthenticationChallengeProxy::useCredential):
+ * UIProcess/Authentication/WebCredential.cpp:
+ (WebKit::WebCredential::WebCredential):
+ (WebKit::WebCredential::certificateInfo): Deleted.
+ * UIProcess/Authentication/WebCredential.h:
+ (WebKit::WebCredential::create):
+ * UIProcess/Authentication/mac/WebCredentialMac.mm: Renamed from Source/WebKit/Shared/Authentication/mac/AuthenticationManager.mac.mm.
+ (WebKit::leafCertificate):
+ (WebKit::chain):
+ (WebKit::WebCredential::WebCredential):
+ * WebKit.xcodeproj/project.pbxproj:
+
2018-05-17 Jeremy Jones <[email protected]>
Ensure valid rects for fullsceen animation.
Modified: trunk/Source/WebKit/Shared/Authentication/AuthenticationManager.cpp (231915 => 231916)
--- trunk/Source/WebKit/Shared/Authentication/AuthenticationManager.cpp 2018-05-17 19:20:28 UTC (rev 231915)
+++ trunk/Source/WebKit/Shared/Authentication/AuthenticationManager.cpp 2018-05-17 19:26:52 UTC (rev 231916)
@@ -135,31 +135,20 @@
download.send(Messages::DownloadProxy::DidReceiveAuthenticationChallenge(authenticationChallenge, challengeID));
}
-// Currently, only Mac knows how to respond to authentication challenges with certificate info.
-#if !HAVE(SEC_IDENTITY)
-bool AuthenticationManager::tryUseCertificateInfoForChallenge(const WebCore::AuthenticationChallenge&, const CertificateInfo&, ChallengeCompletionHandler&)
+void AuthenticationManager::useCredentialForChallenge(uint64_t challengeID, const Credential& credential)
{
- return false;
-}
-#endif
-
-void AuthenticationManager::useCredentialForChallenge(uint64_t challengeID, const Credential& credential, const CertificateInfo& certificateInfo)
-{
ASSERT(RunLoop::isMain());
for (auto& coalescedChallengeID : coalesceChallengesMatching(challengeID))
- useCredentialForSingleChallenge(coalescedChallengeID, credential, certificateInfo);
+ useCredentialForSingleChallenge(coalescedChallengeID, credential);
}
-void AuthenticationManager::useCredentialForSingleChallenge(uint64_t challengeID, const Credential& credential, const CertificateInfo& certificateInfo)
+void AuthenticationManager::useCredentialForSingleChallenge(uint64_t challengeID, const Credential& credential)
{
auto challenge = m_challenges.take(challengeID);
ASSERT(!challenge.challenge.isNull());
auto completionHandler = WTFMove(challenge.completionHandler);
-
- if (tryUseCertificateInfoForChallenge(challenge.challenge, certificateInfo, completionHandler))
- return;
if (completionHandler)
completionHandler(AuthenticationChallengeDisposition::UseCredential, credential);
Modified: trunk/Source/WebKit/Shared/Authentication/AuthenticationManager.h (231915 => 231916)
--- trunk/Source/WebKit/Shared/Authentication/AuthenticationManager.h 2018-05-17 19:20:28 UTC (rev 231915)
+++ trunk/Source/WebKit/Shared/Authentication/AuthenticationManager.h 2018-05-17 19:26:52 UTC (rev 231916)
@@ -40,7 +40,6 @@
namespace WebCore {
class AuthenticationChallenge;
-class CertificateInfo;
class Credential;
}
@@ -72,7 +71,7 @@
void continueCanAuthenticateAgainstProtectionSpace(DownloadID, bool canAuthenticate);
#endif
- void useCredentialForChallenge(uint64_t challengeID, const WebCore::Credential&, const WebCore::CertificateInfo&);
+ void useCredentialForChallenge(uint64_t challengeID, const WebCore::Credential&);
void continueWithoutCredentialForChallenge(uint64_t challengeID);
void cancelChallenge(uint64_t challengeID);
void performDefaultHandling(uint64_t challengeID);
@@ -96,12 +95,10 @@
// IPC::MessageReceiver
void didReceiveMessage(IPC::Connection&, IPC::Decoder&) override;
- bool tryUseCertificateInfoForChallenge(const WebCore::AuthenticationChallenge&, const WebCore::CertificateInfo&, ChallengeCompletionHandler&);
-
uint64_t addChallengeToChallengeMap(Challenge&&);
bool shouldCoalesceChallenge(uint64_t pageID, uint64_t challengeID, const WebCore::AuthenticationChallenge&) const;
- void useCredentialForSingleChallenge(uint64_t challengeID, const WebCore::Credential&, const WebCore::CertificateInfo&);
+ void useCredentialForSingleChallenge(uint64_t challengeID, const WebCore::Credential&);
void continueWithoutCredentialForSingleChallenge(uint64_t challengeID);
void cancelSingleChallenge(uint64_t challengeID);
void performDefaultHandlingForSingleChallenge(uint64_t challengeID);
Modified: trunk/Source/WebKit/Shared/Authentication/AuthenticationManager.messages.in (231915 => 231916)
--- trunk/Source/WebKit/Shared/Authentication/AuthenticationManager.messages.in 2018-05-17 19:20:28 UTC (rev 231915)
+++ trunk/Source/WebKit/Shared/Authentication/AuthenticationManager.messages.in 2018-05-17 19:26:52 UTC (rev 231916)
@@ -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, WebCore::CertificateInfo certificate);
+ void UseCredentialForChallenge(uint64_t challengeID, WebCore::Credential credential);
void ContinueWithoutCredentialForChallenge(uint64_t challengeID);
void CancelChallenge(uint64_t challengeID);
void PerformDefaultHandling(uint64_t challengeID);
Modified: trunk/Source/WebKit/UIProcess/Authentication/AuthenticationChallengeProxy.cpp (231915 => 231916)
--- trunk/Source/WebKit/UIProcess/Authentication/AuthenticationChallengeProxy.cpp 2018-05-17 19:20:28 UTC (rev 231915)
+++ trunk/Source/WebKit/UIProcess/Authentication/AuthenticationChallengeProxy.cpp 2018-05-17 19:26:52 UTC (rev 231916)
@@ -70,11 +70,7 @@
return;
}
- WebCore::CertificateInfo certificateInfo;
- if (credential->certificateInfo())
- certificateInfo = credential->certificateInfo()->certificateInfo();
-
- m_connection->send(Messages::AuthenticationManager::UseCredentialForChallenge(challengeID, credential->credential(), certificateInfo), 0);
+ m_connection->send(Messages::AuthenticationManager::UseCredentialForChallenge(challengeID, credential->credential()), 0);
}
void AuthenticationChallengeProxy::cancel()
Modified: trunk/Source/WebKit/UIProcess/Authentication/WebCredential.cpp (231915 => 231916)
--- trunk/Source/WebKit/UIProcess/Authentication/WebCredential.cpp 2018-05-17 19:20:28 UTC (rev 231915)
+++ trunk/Source/WebKit/UIProcess/Authentication/WebCredential.cpp 2018-05-17 19:26:52 UTC (rev 231916)
@@ -26,8 +26,6 @@
#include "config.h"
#include "WebCredential.h"
-#include "WebCertificateInfo.h"
-
namespace WebKit {
WebCredential::WebCredential(const WebCore::Credential& credential)
@@ -35,20 +33,16 @@
{
}
+#if !PLATFORM(MAC)
WebCredential::WebCredential(WebCertificateInfo* certificateInfo)
- : m_certificateInfo(certificateInfo)
{
}
+#endif
WebCredential::~WebCredential()
{
}
-WebCertificateInfo* WebCredential::certificateInfo()
-{
- return m_certificateInfo.get();
-}
-
const WebCore::Credential& WebCredential::credential()
{
return m_coreCredential;
Modified: trunk/Source/WebKit/UIProcess/Authentication/WebCredential.h (231915 => 231916)
--- trunk/Source/WebKit/UIProcess/Authentication/WebCredential.h 2018-05-17 19:20:28 UTC (rev 231915)
+++ trunk/Source/WebKit/UIProcess/Authentication/WebCredential.h 2018-05-17 19:26:52 UTC (rev 231916)
@@ -47,8 +47,6 @@
{
return adoptRef(*new WebCredential(certificateInfo));
}
-
- WebCertificateInfo* certificateInfo();
const WebCore::Credential& credential();
@@ -57,7 +55,6 @@
explicit WebCredential(WebCertificateInfo*);
WebCore::Credential m_coreCredential;
- RefPtr<WebCertificateInfo> m_certificateInfo;
};
} // namespace WebKit
Copied: trunk/Source/WebKit/UIProcess/Authentication/mac/WebCredentialMac.mm (from rev 231915, trunk/Source/WebKit/Shared/Authentication/mac/AuthenticationManager.mac.mm) (0 => 231916)
--- trunk/Source/WebKit/UIProcess/Authentication/mac/WebCredentialMac.mm (rev 0)
+++ trunk/Source/WebKit/UIProcess/Authentication/mac/WebCredentialMac.mm 2018-05-17 19:26:52 UTC (rev 231916)
@@ -0,0 +1,91 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+#include "config.h"
+#include "WebCredential.h"
+
+#if PLATFORM(MAC)
+
+#include "WebCertificateInfo.h"
+#include <Security/SecIdentity.h>
+#include <WebCore/CertificateInfo.h>
+#include <wtf/cf/TypeCastsCF.h>
+
+WTF_DECLARE_CF_TYPE_TRAIT(SecCertificate);
+
+using namespace WebCore;
+
+namespace WebKit {
+
+static SecCertificateRef leafCertificate(const CertificateInfo& certificateInfo)
+{
+#if HAVE(SEC_TRUST_SERIALIZATION)
+ if (certificateInfo.type() == CertificateInfo::Type::Trust)
+ return SecTrustGetCertificateAtIndex(certificateInfo.trust(), 0);
+#endif
+ ASSERT(certificateInfo.type() == CertificateInfo::Type::CertificateChain);
+ ASSERT(CFArrayGetCount(certificateInfo.certificateChain()));
+ return checked_cf_cast<SecCertificateRef>(CFArrayGetValueAtIndex(certificateInfo.certificateChain(), 0));
+}
+
+static NSArray *chain(const CertificateInfo& certificateInfo)
+{
+#if HAVE(SEC_TRUST_SERIALIZATION)
+ if (certificateInfo.type() == CertificateInfo::Type::Trust) {
+ CFIndex count = SecTrustGetCertificateCount(certificateInfo.trust());
+ if (count < 2)
+ return nil;
+
+ NSMutableArray *array = [NSMutableArray array];
+ for (CFIndex i = 1; i < count; ++i)
+ [array addObject:(id)SecTrustGetCertificateAtIndex(certificateInfo.trust(), i)];
+
+ return array;
+ }
+#endif
+ ASSERT(certificateInfo.type() == CertificateInfo::Type::CertificateChain);
+ CFIndex chainCount = CFArrayGetCount(certificateInfo.certificateChain());
+ return chainCount > 1 ? [(NSArray *)certificateInfo.certificateChain() subarrayWithRange:NSMakeRange(1, chainCount - 1)] : nil;
+}
+
+WebCredential::WebCredential(WebCertificateInfo* certificateInfo)
+{
+ if (!certificateInfo || certificateInfo->certificateInfo().isEmpty())
+ return;
+
+ // The passed-in certificate chain includes the identity certificate at index 0, and additional certificates starting at index 1.
+ SecIdentityRef identity;
+ OSStatus result = SecIdentityCreateWithCertificate(NULL, leafCertificate(certificateInfo->certificateInfo()), &identity);
+ if (result != errSecSuccess) {
+ LOG_ERROR("Unable to create SecIdentityRef with certificate - %i", result);
+ return;
+ }
+
+ m_coreCredential = Credential([NSURLCredential credentialWithIdentity:identity certificates:chain(certificateInfo->certificateInfo()) persistence:NSURLCredentialPersistenceNone]);
+}
+
+} // namespace WebKit
+
+#endif // PLATFORM(MAC)
Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (231915 => 231916)
--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2018-05-17 19:20:28 UTC (rev 231915)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2018-05-17 19:26:52 UTC (rev 231916)
@@ -1106,7 +1106,6 @@
518D2CAE12D5153B003BB93B /* WebBackForwardListItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 518D2CAC12D5153B003BB93B /* WebBackForwardListItem.h */; };
518E8EF816B2091C00E91429 /* AuthenticationManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 518E8EF316B2091C00E91429 /* AuthenticationManager.cpp */; };
518E8EF916B2091C00E91429 /* AuthenticationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 518E8EF416B2091C00E91429 /* AuthenticationManager.h */; };
- 518E8EFB16B2091C00E91429 /* AuthenticationManager.mac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 518E8EF716B2091C00E91429 /* AuthenticationManager.mac.mm */; };
51933DEF1965EB31008AC3EA /* MenuUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 51933DEB1965EB24008AC3EA /* MenuUtilities.h */; };
51933DF01965EB31008AC3EA /* MenuUtilities.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51933DEC1965EB24008AC3EA /* MenuUtilities.mm */; };
51A4D5A916CAC4FF000E615E /* StatisticsRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51A4D5A816CAC4FF000E615E /* StatisticsRequest.cpp */; };
@@ -1219,6 +1218,7 @@
53BA47D01DC2EF5E004DF4AD /* NetworkDataTaskBlob.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 539EB5461DC2EE40009D48CF /* NetworkDataTaskBlob.cpp */; };
53BA47D11DC2EF5E004DF4AD /* NetworkDataTaskBlob.h in Headers */ = {isa = PBXBuildFile; fileRef = 539EB5471DC2EE40009D48CF /* NetworkDataTaskBlob.h */; };
53DEA3661DDE423100E82648 /* json.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 53DEA3651DDE422E00E82648 /* json.hpp */; };
+ 575075A820AB8DE100693EA9 /* WebCredentialMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 575075A720AB763600693EA9 /* WebCredentialMac.mm */; };
5760828E2029895E00116678 /* WebCredentialsMessenger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5760828C2029854200116678 /* WebCredentialsMessenger.cpp */; };
57608298202BD8BA00116678 /* WebCredentialsMessengerProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 57608296202BD8BA00116678 /* WebCredentialsMessengerProxy.cpp */; };
5760829C202D2C3C00116678 /* WebCredentialsMessengerMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5760829020298FBD00116678 /* WebCredentialsMessengerMessageReceiver.cpp */; };
@@ -3519,7 +3519,6 @@
518E8EF316B2091C00E91429 /* AuthenticationManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AuthenticationManager.cpp; path = Authentication/AuthenticationManager.cpp; sourceTree = "<group>"; };
518E8EF416B2091C00E91429 /* AuthenticationManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AuthenticationManager.h; path = Authentication/AuthenticationManager.h; sourceTree = "<group>"; };
518E8EF516B2091C00E91429 /* AuthenticationManager.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = AuthenticationManager.messages.in; path = Authentication/AuthenticationManager.messages.in; sourceTree = "<group>"; };
- 518E8EF716B2091C00E91429 /* AuthenticationManager.mac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AuthenticationManager.mac.mm; sourceTree = "<group>"; };
51933DEB1965EB24008AC3EA /* MenuUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MenuUtilities.h; sourceTree = "<group>"; };
51933DEC1965EB24008AC3EA /* MenuUtilities.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MenuUtilities.mm; sourceTree = "<group>"; };
5194B3861F192FB900FA4708 /* CookieStorageUtilsCF.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CookieStorageUtilsCF.h; sourceTree = "<group>"; };
@@ -3659,6 +3658,7 @@
539EB5471DC2EE40009D48CF /* NetworkDataTaskBlob.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkDataTaskBlob.h; path = NetworkProcess/NetworkDataTaskBlob.h; sourceTree = "<group>"; };
53DEA3651DDE422E00E82648 /* json.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = json.hpp; path = NetworkProcess/capture/json.hpp; sourceTree = "<group>"; };
53F3CAA5206C443E0086490E /* NetworkActivityTracker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkActivityTracker.cpp; path = NetworkProcess/NetworkActivityTracker.cpp; sourceTree = "<group>"; };
+ 575075A720AB763600693EA9 /* WebCredentialMac.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = WebCredentialMac.mm; sourceTree = "<group>"; };
5750F32A2032D4E500389347 /* LocalAuthentication.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = LocalAuthentication.framework; path = System/Library/Frameworks/LocalAuthentication.framework; sourceTree = SDKROOT; };
5760828B2029854200116678 /* WebCredentialsMessenger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebCredentialsMessenger.h; sourceTree = "<group>"; };
5760828C2029854200116678 /* WebCredentialsMessenger.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebCredentialsMessenger.cpp; sourceTree = "<group>"; };
@@ -6527,6 +6527,7 @@
512F588D12A8836F00629530 /* Authentication */ = {
isa = PBXGroup;
children = (
+ 575075A620AB75AB00693EA9 /* mac */,
512F588E12A8838800629530 /* AuthenticationChallengeProxy.cpp */,
512F588F12A8838800629530 /* AuthenticationChallengeProxy.h */,
512F589012A8838800629530 /* AuthenticationDecisionListener.cpp */,
@@ -6626,7 +6627,6 @@
518E8EF116B208F000E91429 /* Authentication */ = {
isa = PBXGroup;
children = (
- 518E8EF616B2091C00E91429 /* mac */,
518E8EF316B2091C00E91429 /* AuthenticationManager.cpp */,
518E8EF416B2091C00E91429 /* AuthenticationManager.h */,
518E8EF516B2091C00E91429 /* AuthenticationManager.messages.in */,
@@ -6634,15 +6634,6 @@
name = Authentication;
sourceTree = "<group>";
};
- 518E8EF616B2091C00E91429 /* mac */ = {
- isa = PBXGroup;
- children = (
- 518E8EF716B2091C00E91429 /* AuthenticationManager.mac.mm */,
- );
- name = mac;
- path = Authentication/mac;
- sourceTree = "<group>";
- };
51B15A7D138439B200321AD8 /* unix */ = {
isa = PBXGroup;
children = (
@@ -6762,6 +6753,14 @@
name = capture;
sourceTree = "<group>";
};
+ 575075A620AB75AB00693EA9 /* mac */ = {
+ isa = PBXGroup;
+ children = (
+ 575075A720AB763600693EA9 /* WebCredentialMac.mm */,
+ );
+ path = mac;
+ sourceTree = "<group>";
+ };
5750F3292032D4E300389347 /* Frameworks */ = {
isa = PBXGroup;
children = (
@@ -10510,7 +10509,6 @@
512F589612A8838800629530 /* AuthenticationChallengeProxy.cpp in Sources */,
512F589812A8838800629530 /* AuthenticationDecisionListener.cpp in Sources */,
518E8EF816B2091C00E91429 /* AuthenticationManager.cpp in Sources */,
- 518E8EFB16B2091C00E91429 /* AuthenticationManager.mac.mm in Sources */,
512F58A212A883AD00629530 /* AuthenticationManagerMessageReceiver.cpp in Sources */,
9955A6F41C7986DC00EB6A93 /* AutomationBackendDispatchers.cpp in Sources */,
99C81D591C20E1E5005C4C82 /* AutomationClient.mm in Sources */,
@@ -10971,6 +10969,7 @@
1AB1F7901D1B34A6007C9BD1 /* WebCoreArgumentCodersCocoa.mm in Sources */,
BCE23263122C6CF300D5C35A /* WebCoreArgumentCodersMac.mm in Sources */,
512F589A12A8838800629530 /* WebCredential.cpp in Sources */,
+ 575075A820AB8DE100693EA9 /* WebCredentialMac.mm in Sources */,
5760828E2029895E00116678 /* WebCredentialsMessenger.cpp in Sources */,
5760829C202D2C3C00116678 /* WebCredentialsMessengerMessageReceiver.cpp in Sources */,
57608298202BD8BA00116678 /* WebCredentialsMessengerProxy.cpp in Sources */,