Index: components/password_manager/content/renderer/credential_manager_client.cc |
diff --git a/components/password_manager/content/renderer/credential_manager_client.cc b/components/password_manager/content/renderer/credential_manager_client.cc |
index c753023d2ef10b43e6fcdbab4294b0460a2c21f1..aa128c51ed66bb9cbaa94518780974e205718519 100644 |
--- a/components/password_manager/content/renderer/credential_manager_client.cc |
+++ b/components/password_manager/content/renderer/credential_manager_client.cc |
@@ -56,6 +56,8 @@ bool CredentialManagerClient::OnMessageReceived(const IPC::Message& message) { |
IPC_MESSAGE_HANDLER(CredentialManagerMsg_AcknowledgeSignedOut, |
OnAcknowledgeSignedOut) |
IPC_MESSAGE_HANDLER(CredentialManagerMsg_SendCredential, OnSendCredential) |
+ IPC_MESSAGE_HANDLER(CredentialManagerMsg_RejectCredentialRequest, |
+ OnRejectCredentialRequest) |
IPC_MESSAGE_UNHANDLED(handled = false) |
IPC_END_MESSAGE_MAP() |
return handled; |
@@ -83,6 +85,15 @@ void CredentialManagerClient::OnSendCredential(int request_id, |
request_callbacks_.Remove(request_id); |
} |
+void CredentialManagerClient::OnRejectCredentialRequest(int request_id) { |
+ RequestCallbacks* callbacks = request_callbacks_.Lookup(request_id); |
+ DCHECK(callbacks); |
+ // We don't expose an internal failure to the page directly; model it as |
+ // though no credentials were available. |
+ callbacks->onSuccess(nullptr); |
+ request_callbacks_.Remove(request_id); |
+} |
+ |
// ----------------------------------------------------------------------------- |
// Dispatch messages from the renderer to the browser. |