| Index: content/public/browser/client_certificate_delegate.h | 
| diff --git a/content/public/browser/client_certificate_delegate.h b/content/public/browser/client_certificate_delegate.h | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..9c709d0c6ff4fb8557d8f10ec924558b2a33f492 | 
| --- /dev/null | 
| +++ b/content/public/browser/client_certificate_delegate.h | 
| @@ -0,0 +1,37 @@ | 
| +// Copyright 2015 The Chromium Authors. All rights reserved. | 
| +// Use of this source code is governed by a BSD-style license that can be | 
| +// found in the LICENSE file. | 
| + | 
| +#ifndef CONTENT_PUBLIC_BROWSER_CLIENT_CERTIFICATE_DELEGATE_H_ | 
| +#define CONTENT_PUBLIC_BROWSER_CLIENT_CERTIFICATE_DELEGATE_H_ | 
| + | 
| +#include "base/macros.h" | 
| + | 
| +namespace net { | 
| +class X509Certificate; | 
| +} | 
| + | 
| +namespace content { | 
| + | 
| +// A delegate interface for selecting a client certificate for use with a | 
| +// network request. | 
| +class ClientCertificateDelegate { | 
| + public: | 
| +  ClientCertificateDelegate() {} | 
| + | 
| +  // If the delegate is destroyed without calling ContinueWithCertificate, the | 
| +  // certificate request is aborted. | 
| +  virtual ~ClientCertificateDelegate() {} | 
| + | 
| +  // Continue the request with |cert|. |cert| may be nullptr to continue without | 
| +  // supplying a certificate. This decision will be remembered for future | 
| +  // requests to the domain. | 
| +  virtual void ContinueWithCertificate(net::X509Certificate* cert) = 0; | 
| + | 
| + private: | 
| +  DISALLOW_COPY_AND_ASSIGN(ClientCertificateDelegate); | 
| +}; | 
| + | 
| +}  // namespace content | 
| + | 
| +#endif  // CONTENT_PUBLIC_BROWSER_CLIENT_CERTIFICATE_DELEGATE_H_ | 
|  |