Index: chrome/browser/chromeos/platform_keys/platform_keys_service.cc |
diff --git a/chrome/browser/chromeos/platform_keys/platform_keys_service.cc b/chrome/browser/chromeos/platform_keys/platform_keys_service.cc |
index 01abc1ae0661865d7d969651ad9cd91812623cc2..34228d3b0f2c168299a831d5fe79e4d181a1215f 100644 |
--- a/chrome/browser/chromeos/platform_keys/platform_keys_service.cc |
+++ b/chrome/browser/chromeos/platform_keys/platform_keys_service.cc |
@@ -427,11 +427,13 @@ class PlatformKeysService::SelectTask : public Task { |
bool interactive, |
const std::string& extension_id, |
const SelectCertificatesCallback& callback, |
+ content::WebContents* web_contents, |
PlatformKeysService* service) |
: request_(request), |
interactive_(interactive), |
extension_id_(extension_id), |
callback_(callback), |
+ web_contents_(web_contents), |
service_(service), |
weak_factory_(this) {} |
~SelectTask() override {} |
@@ -512,12 +514,13 @@ class PlatformKeysService::SelectTask : public Task { |
} |
service_->select_delegate_->Select( |
extension_id_, matches_, |
- base::Bind(&SelectTask::GotSelection, base::Unretained(this))); |
+ base::Bind(&SelectTask::GotSelection, base::Unretained(this)), |
+ web_contents_, service_->browser_context_); |
} |
// Will be called by |SelectCerts()| with the selected cert or null if no cert |
// was selected. |
- void GotSelection(scoped_refptr<net::X509Certificate> selected_cert) { |
+ void GotSelection(const scoped_refptr<net::X509Certificate>& selected_cert) { |
selected_cert_ = selected_cert; |
DoStep(); |
} |
@@ -601,6 +604,7 @@ class PlatformKeysService::SelectTask : public Task { |
const bool interactive_; |
const std::string extension_id_; |
const SelectCertificatesCallback callback_; |
+ content::WebContents* const web_contents_; |
PlatformKeysService* const service_; |
base::WeakPtrFactory<SelectTask> weak_factory_; |
@@ -684,10 +688,11 @@ void PlatformKeysService::SelectClientCertificates( |
const platform_keys::ClientCertificateRequest& request, |
bool interactive, |
const std::string& extension_id, |
- const SelectCertificatesCallback& callback) { |
+ const SelectCertificatesCallback& callback, |
+ content::WebContents* web_contents) { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- StartOrQueueTask(make_scoped_ptr( |
- new SelectTask(request, interactive, extension_id, callback, this))); |
+ StartOrQueueTask(make_scoped_ptr(new SelectTask( |
+ request, interactive, extension_id, callback, web_contents, this))); |
} |
void PlatformKeysService::StartOrQueueTask(scoped_ptr<Task> task) { |