summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authordpranke@chromium.org <dpranke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-18 00:14:58 +0000
committerdpranke@chromium.org <dpranke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-18 00:14:58 +0000
commit5e58fa046264b48a6513009ede03aa8d8d69cc6d (patch)
treeacc9b8843407b716de3ed9a2d1387ba767236f49 /chrome
parentd58c29dfbdb1f77c51c9a754639b880577a2825f (diff)
downloadchromium_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')
-rw-r--r--chrome/browser/password_manager/password_store.cc5
-rw-r--r--chrome/browser/password_manager/password_store.h5
-rw-r--r--chrome/browser/password_manager/password_store_default.cc4
-rw-r--r--chrome/browser/password_manager/password_store_default.h1
-rw-r--r--chrome/browser/password_manager/password_store_mac.cc3
-rw-r--r--chrome/browser/password_manager/password_store_mac.h1
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);