| Index: chrome/browser/ui/crypto_module_delegate_nss.cc | 
| diff --git a/chrome/browser/ui/crypto_module_delegate_nss.cc b/chrome/browser/ui/crypto_module_delegate_nss.cc | 
| index 7211e8a157b00fe5c4571f72066effd70b70ebdf..27260ae53e3e93e02b96442fbc2ab4e91834fb89 100644 | 
| --- a/chrome/browser/ui/crypto_module_delegate_nss.cc | 
| +++ b/chrome/browser/ui/crypto_module_delegate_nss.cc | 
| @@ -17,15 +17,15 @@ namespace { | 
| void CreateWithSlot( | 
| chrome::CryptoModulePasswordReason reason, | 
| const net::HostPortPair& server, | 
| -    const base::Callback<void(std::unique_ptr<ChromeNSSCryptoModuleDelegate>)>& | 
| +    const base::Callback<void(scoped_refptr<ChromeNSSCryptoModuleDelegate>)>& | 
| callback, | 
| crypto::ScopedPK11Slot slot) { | 
| if (!slot) { | 
| -    callback.Run(std::unique_ptr<ChromeNSSCryptoModuleDelegate>()); | 
| +    callback.Run(nullptr); | 
| return; | 
| } | 
| -  callback.Run(std::unique_ptr<ChromeNSSCryptoModuleDelegate>( | 
| -      new ChromeNSSCryptoModuleDelegate(reason, server, std::move(slot)))); | 
| +  callback.Run(base::MakeRefCounted<ChromeNSSCryptoModuleDelegate>( | 
| +      reason, server, std::move(slot))); | 
| } | 
|  | 
| }  // namespace | 
| @@ -48,7 +48,7 @@ void ChromeNSSCryptoModuleDelegate::CreateForResourceContext( | 
| chrome::CryptoModulePasswordReason reason, | 
| const net::HostPortPair& server, | 
| content::ResourceContext* context, | 
| -    const base::Callback<void(std::unique_ptr<ChromeNSSCryptoModuleDelegate>)>& | 
| +    const base::Callback<void(scoped_refptr<ChromeNSSCryptoModuleDelegate>)>& | 
| callback) { | 
| DCHECK_CURRENTLY_ON(BrowserThread::IO); | 
| DCHECK(!callback.is_null()); | 
|  |