CFURLProtectionSpaceRef createCF(const ProtectionSpace& coreSpace) { CFURLProtectionSpaceServerType serverType = kCFURLProtectionSpaceServerHTTP; switch (coreSpace.serverType()) { case ProtectionSpaceServerHTTP: serverType = kCFURLProtectionSpaceServerHTTP; break; case ProtectionSpaceServerHTTPS: serverType = kCFURLProtectionSpaceServerHTTPS; break; case ProtectionSpaceServerFTP: serverType = kCFURLProtectionSpaceServerFTP; break; case ProtectionSpaceServerFTPS: serverType = kCFURLProtectionSpaceServerFTPS; break; case ProtectionSpaceProxyHTTP: serverType = kCFURLProtectionSpaceProxyHTTP; break; case ProtectionSpaceProxyHTTPS: serverType = kCFURLProtectionSpaceProxyHTTPS; break; case ProtectionSpaceProxyFTP: serverType = kCFURLProtectionSpaceProxyFTP; break; case ProtectionSpaceProxySOCKS: serverType = kCFURLProtectionSpaceProxySOCKS; break; default: ASSERT_NOT_REACHED(); } CFURLProtectionSpaceAuthenticationScheme scheme = kCFURLProtectionSpaceAuthenticationSchemeDefault; switch (coreSpace.authenticationScheme()) { case ProtectionSpaceAuthenticationSchemeDefault: scheme = kCFURLProtectionSpaceAuthenticationSchemeDefault; break; case ProtectionSpaceAuthenticationSchemeHTTPBasic: scheme = kCFURLProtectionSpaceAuthenticationSchemeHTTPBasic; break; case ProtectionSpaceAuthenticationSchemeHTTPDigest: scheme = kCFURLProtectionSpaceAuthenticationSchemeHTTPDigest; break; case ProtectionSpaceAuthenticationSchemeHTMLForm: scheme = kCFURLProtectionSpaceAuthenticationSchemeHTMLForm; break; case ProtectionSpaceAuthenticationSchemeNTLM: scheme = kCFURLProtectionSpaceAuthenticationSchemeNTLM; break; case ProtectionSpaceAuthenticationSchemeNegotiate: scheme = kCFURLProtectionSpaceAuthenticationSchemeNegotiate; break; default: ASSERT_NOT_REACHED(); } CFStringRef host = coreSpace.host().createCFString(); CFStringRef realm = coreSpace.realm().createCFString(); CFURLProtectionSpaceRef result = CFURLProtectionSpaceCreate(0, host, coreSpace.port(), serverType, realm, scheme); CFRelease(host); CFRelease(realm); return result; }
CFURLProtectionSpaceRef createCF(const ProtectionSpace& coreSpace) { CFURLProtectionSpaceServerType serverType = kCFURLProtectionSpaceServerHTTP; switch (coreSpace.serverType()) { case ProtectionSpaceServerHTTP: serverType = kCFURLProtectionSpaceServerHTTP; break; case ProtectionSpaceServerHTTPS: serverType = kCFURLProtectionSpaceServerHTTPS; break; case ProtectionSpaceServerFTP: serverType = kCFURLProtectionSpaceServerFTP; break; case ProtectionSpaceServerFTPS: serverType = kCFURLProtectionSpaceServerFTPS; break; case ProtectionSpaceProxyHTTP: serverType = kCFURLProtectionSpaceProxyHTTP; break; case ProtectionSpaceProxyHTTPS: serverType = kCFURLProtectionSpaceProxyHTTPS; break; case ProtectionSpaceProxyFTP: serverType = kCFURLProtectionSpaceProxyFTP; break; case ProtectionSpaceProxySOCKS: serverType = kCFURLProtectionSpaceProxySOCKS; break; default: ASSERT_NOT_REACHED(); } CFURLProtectionSpaceAuthenticationScheme scheme = kCFURLProtectionSpaceAuthenticationSchemeDefault; switch (coreSpace.authenticationScheme()) { case ProtectionSpaceAuthenticationSchemeDefault: scheme = kCFURLProtectionSpaceAuthenticationSchemeDefault; break; case ProtectionSpaceAuthenticationSchemeHTTPBasic: scheme = kCFURLProtectionSpaceAuthenticationSchemeHTTPBasic; break; case ProtectionSpaceAuthenticationSchemeHTTPDigest: scheme = kCFURLProtectionSpaceAuthenticationSchemeHTTPDigest; break; case ProtectionSpaceAuthenticationSchemeHTMLForm: scheme = kCFURLProtectionSpaceAuthenticationSchemeHTMLForm; break; case ProtectionSpaceAuthenticationSchemeNTLM: scheme = kCFURLProtectionSpaceAuthenticationSchemeNTLM; break; case ProtectionSpaceAuthenticationSchemeNegotiate: scheme = kCFURLProtectionSpaceAuthenticationSchemeNegotiate; break; #if USE(PROTECTION_SPACE_AUTH_CALLBACK) case ProtectionSpaceAuthenticationSchemeServerTrustEvaluationRequested: scheme = kCFURLProtectionSpaceAuthenticationSchemeServerTrustEvaluationRequested; break; case ProtectionSpaceAuthenticationSchemeClientCertificateRequested: scheme = kCFURLProtectionSpaceAuthenticationSchemeClientCertificateRequested; break; #endif default: ASSERT_NOT_REACHED(); } CFStringRef host = coreSpace.host().createCFString(); CFStringRef realm = coreSpace.realm().createCFString(); CFURLProtectionSpaceRef result = CFURLProtectionSpaceCreate(0, host, coreSpace.port(), serverType, realm, scheme); CFRelease(host); CFRelease(realm); return result; }