Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(443)

Unified Diff: components/password_manager/content/renderer/credential_manager_client.cc

Issue 533493004: Credential Manager: Refactor password_manager::CredentialManagerClient. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Explicit. Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 8dd3f53d103814c2e42a2d86da9109c5e868799f..c753023d2ef10b43e6fcdbab4294b0460a2c21f1 100644
--- a/components/password_manager/content/renderer/credential_manager_client.cc
+++ b/components/password_manager/content/renderer/credential_manager_client.cc
@@ -6,7 +6,6 @@
#include "components/password_manager/content/common/credential_manager_messages.h"
#include "components/password_manager/content/common/credential_manager_types.h"
-#include "content/public/renderer/render_thread.h"
#include "content/public/renderer/render_view.h"
#include "third_party/WebKit/public/platform/WebCredential.h"
#include "third_party/WebKit/public/platform/WebCredentialManagerError.h"
@@ -31,45 +30,19 @@ void ClearCallbacksMapWithErrors(T* callbacks_map) {
} // namespace
-CredentialManagerClient::CredentialManagerClient()
- : routing_id_(MSG_ROUTING_NONE),
- render_thread_(content::RenderThread::Get()) {
- DCHECK(render_thread_);
+CredentialManagerClient::CredentialManagerClient(
+ content::RenderView* render_view)
+ : content::RenderViewObserver(render_view) {
+ render_view->GetWebView()->setCredentialManagerClient(this);
}
CredentialManagerClient::~CredentialManagerClient() {
- DisconnectFromRenderThread();
-
ClearCallbacksMapWithErrors(&failed_sign_in_callbacks_);
ClearCallbacksMapWithErrors(&signed_in_callbacks_);
ClearCallbacksMapWithErrors(&signed_out_callbacks_);
ClearCallbacksMapWithErrors(&request_callbacks_);
}
-void CredentialManagerClient::OnRenderViewCreated(
- content::RenderView* render_view) {
- render_view->GetWebView()->setCredentialManagerClient(this);
-}
-
-void CredentialManagerClient::OnRenderProcessShutdown() {
- DisconnectFromRenderThread();
-}
-
-int CredentialManagerClient::GetRoutingID() {
- if (render_thread_ && routing_id_ == MSG_ROUTING_NONE) {
- routing_id_ = render_thread_->GenerateRoutingID();
- render_thread_->AddRoute(routing_id_, this);
- }
- return routing_id_;
-}
-
-void CredentialManagerClient::DisconnectFromRenderThread() {
- if (render_thread_ && routing_id_ != MSG_ROUTING_NONE)
- render_thread_->RemoveRoute(routing_id_);
- render_thread_ = NULL;
- routing_id_ = MSG_ROUTING_NONE;
-}
-
// -----------------------------------------------------------------------------
// Handle messages from the browser.
@@ -119,10 +92,8 @@ void CredentialManagerClient::dispatchFailedSignIn(
int request_id = failed_sign_in_callbacks_.Add(callbacks);
CredentialInfo info(
credential.id(), credential.name(), credential.avatarURL());
- if (render_thread_) {
- render_thread_->Send(new CredentialManagerHostMsg_NotifyFailedSignIn(
- GetRoutingID(), request_id, info));
- }
+ Send(new CredentialManagerHostMsg_NotifyFailedSignIn(
+ routing_id(), request_id, info));
}
void CredentialManagerClient::dispatchSignedIn(
@@ -131,19 +102,14 @@ void CredentialManagerClient::dispatchSignedIn(
int request_id = signed_in_callbacks_.Add(callbacks);
CredentialInfo info(
credential.id(), credential.name(), credential.avatarURL());
- if (render_thread_) {
- render_thread_->Send(new CredentialManagerHostMsg_NotifySignedIn(
- GetRoutingID(), request_id, info));
- }
+ Send(new CredentialManagerHostMsg_NotifySignedIn(
+ routing_id(), request_id, info));
}
void CredentialManagerClient::dispatchSignedOut(
NotificationCallbacks* callbacks) {
int request_id = signed_out_callbacks_.Add(callbacks);
- if (render_thread_) {
- render_thread_->Send(new CredentialManagerHostMsg_NotifySignedOut(
- GetRoutingID(), request_id));
- }
+ Send(new CredentialManagerHostMsg_NotifySignedOut(routing_id(), request_id));
}
void CredentialManagerClient::dispatchRequest(
@@ -154,10 +120,8 @@ void CredentialManagerClient::dispatchRequest(
std::vector<GURL> federation_vector;
for (size_t i = 0; i < std::min(federations.size(), kMaxFederations); ++i)
federation_vector.push_back(federations[i]);
- if (render_thread_) {
- render_thread_->Send(new CredentialManagerHostMsg_RequestCredential(
- GetRoutingID(), request_id, zeroClickOnly, federation_vector));
- }
+ Send(new CredentialManagerHostMsg_RequestCredential(
+ routing_id(), request_id, zeroClickOnly, federation_vector));
}
void CredentialManagerClient::RespondToNotificationCallback(

Powered by Google App Engine
This is Rietveld 408576698