diff --git a/libcef/browser_request_context.cc b/libcef/browser_request_context.cc index 6496b409e..e24a2b294 100644 --- a/libcef/browser_request_context.cc +++ b/libcef/browser_request_context.cc @@ -103,8 +103,22 @@ void BrowserRequestContext::Init( cert_verifier_ = new net::CertVerifier; ssl_config_service_ = net::SSLConfigService::CreateSystemSSLConfigService(); + // Add support for single sign-on. + url_security_manager_.reset(net::URLSecurityManager::Create(NULL, NULL)); + + std::vector supported_schemes; + supported_schemes.push_back("basic"); + supported_schemes.push_back("digest"); + supported_schemes.push_back("ntlm"); + supported_schemes.push_back("negotiate"); + http_auth_handler_factory_ = - net::HttpAuthHandlerFactory::CreateDefault(host_resolver_); + net::HttpAuthHandlerRegistryFactory::Create(supported_schemes, + url_security_manager_.get(), + host_resolver_, + std::string(), + false, + false); net::HttpCache::DefaultBackend* backend = new net::HttpCache::DefaultBackend( cache_path.empty() ? net::MEMORY_CACHE : net::DISK_CACHE, diff --git a/libcef/browser_request_context.h b/libcef/browser_request_context.h index 1c968eb61..5807e48de 100644 --- a/libcef/browser_request_context.h +++ b/libcef/browser_request_context.h @@ -7,6 +7,7 @@ #define _BROWSER_REQUEST_CONTEXT_H #include "net/http/http_cache.h" +#include "net/http/url_security_manager.h" #include "net/url_request/url_request_context.h" class FilePath; @@ -40,6 +41,7 @@ class BrowserRequestContext : public URLRequestContext { bool no_proxy); scoped_ptr blob_storage_controller_; + scoped_ptr url_security_manager_; }; #endif // _BROWSER_REQUEST_CONTEXT_H