Credential core(CFURLCredentialRef cfCredential) { if (!cfCredential) return Credential(); CredentialPersistence persistence = CredentialPersistenceNone; switch (CFURLCredentialGetPersistence(cfCredential)) { case kCFURLCredentialPersistenceNone: break; case kCFURLCredentialPersistenceForSession: persistence = CredentialPersistenceForSession; break; case kCFURLCredentialPersistencePermanent: persistence = CredentialPersistencePermanent; break; default: ASSERT_NOT_REACHED(); } #if CERTIFICATE_CREDENTIALS_SUPPORTED SecIdentityRef identity = CFURLCredentialGetCertificateIdentity(cfCredential); if (identity) return Credential(identity, CFURLCredentialGetCertificateArray(cfCredential), persistence); #endif RetainPtr<CFStringRef> password(AdoptCF, CFURLCredentialCopyPassword(cfCredential)); return Credential(CFURLCredentialGetUsername(cfCredential), password.get(), persistence); }
Credential core(CFURLCredentialRef cfCredential) { if (!cfCredential) return Credential(); CredentialPersistence persistence = CredentialPersistenceNone; switch (CFURLCredentialGetPersistence(cfCredential)) { case kCFURLCredentialPersistenceNone: break; case kCFURLCredentialPersistenceForSession: persistence = CredentialPersistenceForSession; break; case kCFURLCredentialPersistencePermanent: persistence = CredentialPersistencePermanent; break; default: ASSERT_NOT_REACHED(); } return Credential(CFURLCredentialGetUsername(cfCredential), CFURLCredentialCopyPassword(cfCredential), persistence); }