| Index: chrome/browser/ui/crypto_module_delegate_nss.h | 
| diff --git a/chrome/browser/ui/crypto_module_delegate_nss.h b/chrome/browser/ui/crypto_module_delegate_nss.h | 
| index 45029f8b7c057f7f4cadc05652c01867c4565f3f..f5f9282618a59bc64e1c959459e992e609a4b12b 100644 | 
| --- a/chrome/browser/ui/crypto_module_delegate_nss.h | 
| +++ b/chrome/browser/ui/crypto_module_delegate_nss.h | 
| @@ -31,8 +31,6 @@ class ChromeNSSCryptoModuleDelegate | 
| const net::HostPortPair& server, | 
| crypto::ScopedPK11Slot slot); | 
|  | 
| -  ~ChromeNSSCryptoModuleDelegate() override; | 
| - | 
| // Must be called on IO thread. Creates a delegate and returns it | 
| // synchronously or asynchronously to |callback|. If the delegate could not be | 
| // created, |callback| is called with NULL. | 
| @@ -40,8 +38,8 @@ class ChromeNSSCryptoModuleDelegate | 
| chrome::CryptoModulePasswordReason reason, | 
| const net::HostPortPair& server, | 
| content::ResourceContext* context, | 
| -      const base::Callback< | 
| -          void(std::unique_ptr<ChromeNSSCryptoModuleDelegate>)>& callback); | 
| +      const base::Callback<void(scoped_refptr<ChromeNSSCryptoModuleDelegate>)>& | 
| +          callback); | 
|  | 
| // crypto::NSSCryptoModuleDelegate implementation. | 
| crypto::ScopedPK11Slot RequestSlot() override; | 
| @@ -52,6 +50,10 @@ class ChromeNSSCryptoModuleDelegate | 
| bool* cancelled) override; | 
|  | 
| private: | 
| +  friend class base::RefCountedThreadSafe<ChromeNSSCryptoModuleDelegate>; | 
| + | 
| +  ~ChromeNSSCryptoModuleDelegate() override; | 
| + | 
| void ShowDialog(const std::string& slot_name, bool retry); | 
|  | 
| void GotPassword(const std::string& password); | 
|  |