#include "chrome/browser/ui/views/ssl_client_certificate_selector.h"
#include <memory>
#include <utility>
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/functional/callback_helpers.h"
#include "base/no_destructor.h"
#include "base/strings/utf_string_conversions.h"
#include "build/build_config.h"
#include "chrome/browser/ssl/ssl_client_auth_observer.h"
#include "chrome/browser/ui/browser_dialogs.h"
#include "chrome/grit/generated_resources.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/client_certificate_delegate.h"
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_contents_observer.h"
#include "net/cert/x509_certificate.h"
#include "net/ssl/ssl_cert_request_info.h"
#include "net/ssl/ssl_private_key.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/views/controls/label.h"
#include "ui/views/widget/widget.h"
namespace {
chrome::ShowSSLClientCertificateSelectorTestingHook&
GetShowSSLClientCertificateSelectorTestingHook() { … }
}
class SSLClientCertificateSelector::SSLClientAuthObserverImpl
: public SSLClientAuthObserver,
public content::WebContentsObserver { … };
SSLClientCertificateSelector::SSLClientCertificateSelector(
content::WebContents* web_contents,
const scoped_refptr<net::SSLCertRequestInfo>& cert_request_info,
net::ClientCertIdentityList client_certs,
std::unique_ptr<content::ClientCertificateDelegate> delegate)
: … { … }
SSLClientCertificateSelector::~SSLClientCertificateSelector() { … }
void SSLClientCertificateSelector::Init() { … }
void SSLClientCertificateSelector::CloseDialog() { … }
void SSLClientCertificateSelector::AcceptCertificate(
std::unique_ptr<net::ClientCertIdentity> identity) { … }
void SSLClientCertificateSelector::OnCancel() { … }
base::OnceClosure SSLClientCertificateSelector::GetCancellationCallback() { … }
namespace chrome {
base::OnceClosure ShowSSLClientCertificateSelector(
content::WebContents* contents,
net::SSLCertRequestInfo* cert_request_info,
net::ClientCertIdentityList client_certs,
std::unique_ptr<content::ClientCertificateDelegate> delegate) { … }
void SetShowSSLClientCertificateSelectorHookForTest(
ShowSSLClientCertificateSelectorTestingHook hook) { … }
}