diff options
author | dpranke@chromium.org <dpranke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-18 00:14:58 +0000 |
---|---|---|
committer | dpranke@chromium.org <dpranke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-18 00:14:58 +0000 |
commit | 5e58fa046264b48a6513009ede03aa8d8d69cc6d (patch) | |
tree | acc9b8843407b716de3ed9a2d1387ba767236f49 /chrome | |
parent | d58c29dfbdb1f77c51c9a754639b880577a2825f (diff) | |
download | chromium_src-5e58fa046264b48a6513009ede03aa8d8d69cc6d.zip chromium_src-5e58fa046264b48a6513009ede03aa8d8d69cc6d.tar.gz chromium_src-5e58fa046264b48a6513009ede03aa8d8d69cc6d.tar.bz2 |
Implement stubs of a method to report usage metrics for the password manager.
This function does nothing for now but I'm submitting it to minimize the
size of the CLs to review (there will be at least two subsequent CLs, one
for Win and Linux and one for Mac).
BUG=45946
R=jcivelli@chromium.org
TEST=none
Review URL: http://codereview.chromium.org/2813013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50177 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
6 files changed, 19 insertions, 0 deletions
diff --git a/chrome/browser/password_manager/password_store.cc b/chrome/browser/password_manager/password_store.cc index 9277b68..4615e42 100644 --- a/chrome/browser/password_manager/password_store.cc +++ b/chrome/browser/password_manager/password_store.cc @@ -16,6 +16,7 @@ PasswordStore::PasswordStore() : handle_(0) { } bool PasswordStore::Init() { + ReportMetrics(); return true; } @@ -23,6 +24,10 @@ void PasswordStore::ScheduleTask(Task* task) { ChromeThread::PostTask(ChromeThread::DB, FROM_HERE, task); } +void PasswordStore::ReportMetrics() { + ScheduleTask(NewRunnableMethod(this, &PasswordStore::ReportMetricsImpl)); +} + void PasswordStore::AddLogin(const PasswordForm& form) { ScheduleTask(NewRunnableMethod(this, &PasswordStore::AddLoginImpl, form)); } diff --git a/chrome/browser/password_manager/password_store.h b/chrome/browser/password_manager/password_store.h index 14203fd..90ce7f3 100644 --- a/chrome/browser/password_manager/password_store.h +++ b/chrome/browser/password_manager/password_store.h @@ -74,6 +74,9 @@ class PasswordStore : public base::RefCountedThreadSafe<PasswordStore> { // Cancels a previous Get*Logins query (async) void CancelLoginsQuery(int handle); + // Reports usage metrics for the database. + virtual void ReportMetrics(); + protected: friend class base::RefCountedThreadSafe<PasswordStore>; friend class browser_sync::PasswordDataTypeController; @@ -104,6 +107,8 @@ class PasswordStore : public base::RefCountedThreadSafe<PasswordStore> { void ScheduleTask(Task* task); // These will be run in PasswordStore's own thread. + // Synchronous implementation that reports usage metrics. + virtual void ReportMetricsImpl() = 0; // Synchronous implementation to add the given login. virtual void AddLoginImpl(const webkit_glue::PasswordForm& form) = 0; // Synchronous implementation to update the given login. diff --git a/chrome/browser/password_manager/password_store_default.cc b/chrome/browser/password_manager/password_store_default.cc index dc58f56..465f889 100644 --- a/chrome/browser/password_manager/password_store_default.cc +++ b/chrome/browser/password_manager/password_store_default.cc @@ -33,6 +33,10 @@ PasswordStoreDefault::PasswordStoreDefault(LoginDatabase* login_db, PasswordStoreDefault::~PasswordStoreDefault() { } +void PasswordStoreDefault::ReportMetricsImpl() { + DCHECK(ChromeThread::CurrentlyOn(ChromeThread::DB)); +} + void PasswordStoreDefault::AddLoginImpl(const PasswordForm& form) { if (login_db_->AddLogin(form)) { PasswordStoreChangeList changes; diff --git a/chrome/browser/password_manager/password_store_default.h b/chrome/browser/password_manager/password_store_default.h index 43fa1c1..ac5dbe5 100644 --- a/chrome/browser/password_manager/password_store_default.h +++ b/chrome/browser/password_manager/password_store_default.h @@ -29,6 +29,7 @@ class PasswordStoreDefault : public PasswordStore, virtual ~PasswordStoreDefault(); // Implements PasswordStore interface. + void ReportMetricsImpl(); void AddLoginImpl(const webkit_glue::PasswordForm& form); void UpdateLoginImpl(const webkit_glue::PasswordForm& form); void RemoveLoginImpl(const webkit_glue::PasswordForm& form); diff --git a/chrome/browser/password_manager/password_store_mac.cc b/chrome/browser/password_manager/password_store_mac.cc index d31e89b..6571082 100644 --- a/chrome/browser/password_manager/password_store_mac.cc +++ b/chrome/browser/password_manager/password_store_mac.cc @@ -744,6 +744,9 @@ void PasswordStoreMac::ScheduleTask(Task* task) { } } +void PasswordStoreMac::ReportMetricsImpl() { +} + void PasswordStoreMac::AddLoginImpl(const PasswordForm& form) { if (AddToKeychainIfNecessary(form)) { if (login_metadata_db_->AddLogin(form)) { diff --git a/chrome/browser/password_manager/password_store_mac.h b/chrome/browser/password_manager/password_store_mac.h index 381cb81..fe7e2b9 100644 --- a/chrome/browser/password_manager/password_store_mac.h +++ b/chrome/browser/password_manager/password_store_mac.h @@ -36,6 +36,7 @@ class PasswordStoreMac : public PasswordStore { virtual void ScheduleTask(Task* task); private: + void ReportMetricsImpl(); void AddLoginImpl(const webkit_glue::PasswordForm& form); void UpdateLoginImpl(const webkit_glue::PasswordForm& form); void RemoveLoginImpl(const webkit_glue::PasswordForm& form); |