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

Unified Diff: components/password_manager/core/browser/password_manager.h

Issue 1415533013: Fix password manager internals renderer reporting (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 5 years, 1 month 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/core/browser/password_manager.h
diff --git a/components/password_manager/core/browser/password_manager.h b/components/password_manager/core/browser/password_manager.h
index 410bf3368c4879b2cbd1243fe6e114e2f9d2ee72..e995edb1490ea4ae975b040c43170bccd4cb5f30 100644
--- a/components/password_manager/core/browser/password_manager.h
+++ b/components/password_manager/core/browser/password_manager.h
@@ -15,6 +15,7 @@
#include "base/stl_util.h"
#include "components/autofill/core/common/password_form.h"
#include "components/autofill/core/common/password_form_fill_data.h"
+#include "components/password_manager/core/browser/log_manager.h"
#include "components/password_manager/core/browser/login_model.h"
#include "components/password_manager/core/browser/password_form_manager.h"
@@ -31,6 +32,7 @@ class FormStructure;
namespace password_manager {
class BrowserSavePasswordProgressLogger;
+class LogRouter;
class PasswordManagerClient;
class PasswordManagerDriver;
class PasswordFormManager;
@@ -42,7 +44,7 @@ class PasswordFormManager;
// receiving password form data from the renderer and managing the password
// database through the PasswordStore. The PasswordManager is a LoginModel
// for purposes of supporting HTTP authentication dialogs.
-class PasswordManager : public LoginModel {
+class PasswordManager : public LoginModel, public LogManager {
public:
static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry);
#if defined(OS_WIN)
@@ -54,6 +56,14 @@ class PasswordManager : public LoginModel {
typedef base::Callback<void(const autofill::PasswordForm&)>
PasswordSubmittedCallback;
+ // LogManager:
+ void OnLogRouterAvailabilityChanged(bool router_can_be_used) override;
+ void LogSavePasswordProgress(const std::string& text) const override;
+
+ // Returns true if logs recorded via LogSavePasswordProgress will be
+ // displayed, and false otherwise.
+ bool IsLoggingActive() const;
+
// There is no corresponding remove function as currently all of the
// owners of these callbacks have sufficient lifetimes so that the callbacks
// should always be valid when called.
@@ -227,6 +237,12 @@ class PasswordManager : public LoginModel {
// The user-visible URL from the last time a password was provisionally saved.
GURL main_frame_url_;
+ // A LogRouter instance obtained from the client on construction. May be null.
+ LogRouter* const log_router_;
+
+ // True if |this| is registered with some LogRouter which can accept logs.
+ bool can_use_log_router_;
+
DISALLOW_COPY_AND_ASSIGN(PasswordManager);
};

Powered by Google App Engine
This is Rietveld 408576698