Add CefHandler::HandleAuthenticationRequest for handling authentication requests (issue #150).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@158 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
Marshall Greenblatt
2011-01-07 01:24:17 +00:00
parent c7959e2106
commit 874c73b1e1
8 changed files with 110 additions and 1 deletions

View File

@@ -54,6 +54,7 @@
#include "base/timer.h"
#include "base/thread.h"
#include "base/waitable_event.h"
#include "net/base/auth.h"
#include "net/base/cookie_store.h"
#include "net/base/file_stream.h"
#include "net/base/io_buffer.h"
@@ -552,6 +553,26 @@ class RequestProxy : public net::URLRequest::Delegate,
}
}
virtual void OnAuthRequired(net::URLRequest* request,
net::AuthChallengeInfo* auth_info) {
if (browser_.get()) {
CefRefPtr<CefHandler> handler = browser_->GetHandler();
if(handler.get()) {
CefString username, password;
CefHandler::RetVal rv = handler->HandleAuthenticationRequest(
browser_, auth_info->is_proxy,
auth_info->host_and_port, auth_info->realm,
auth_info->scheme, username, password);
if (rv == RV_HANDLED) {
request->SetAuth(username, password);
return;
}
}
}
request->CancelAuth();
}
virtual void OnSSLCertificateError(net::URLRequest* request,
int cert_error,
net::X509Certificate* cert) {