mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Add CefURLRequestClient::GetAuthCredentials callback (issue #975).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1416 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
@@ -6,8 +6,10 @@
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "include/cef_urlrequest.h"
|
||||
#include "libcef/browser/browser_host_impl.h"
|
||||
#include "libcef/browser/thread_util.h"
|
||||
#include "libcef/browser/url_request_user_data.h"
|
||||
#include "libcef/common/request_impl.h"
|
||||
|
||||
#include "net/base/net_errors.h"
|
||||
@@ -193,6 +195,27 @@ net::NetworkDelegate::AuthRequiredResponse CefNetworkDelegate::OnAuthRequired(
|
||||
}
|
||||
}
|
||||
|
||||
CefURLRequestUserData* user_data =
|
||||
(CefURLRequestUserData*)request->GetUserData(
|
||||
CefURLRequestUserData::kUserDataKey);
|
||||
if (user_data) {
|
||||
CefRefPtr<CefURLRequestClient> client = user_data->GetClient();
|
||||
if (client.get()) {
|
||||
CefRefPtr<CefAuthCallbackImpl> callbackPtr(
|
||||
new CefAuthCallbackImpl(callback, credentials));
|
||||
if (client->GetAuthCredentials(auth_info.is_proxy,
|
||||
auth_info.challenger.host(),
|
||||
auth_info.challenger.port(),
|
||||
auth_info.realm,
|
||||
auth_info.scheme,
|
||||
callbackPtr.get())) {
|
||||
return AUTH_REQUIRED_RESPONSE_IO_PENDING;
|
||||
} else {
|
||||
callbackPtr->Disconnect();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return AUTH_REQUIRED_RESPONSE_NO_ACTION;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user