Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / components / password_manager / core / browser / password_store_default.cc
index 8997c6f..86f21c1 100644 (file)
@@ -26,27 +26,23 @@ PasswordStoreDefault::PasswordStoreDefault(
 PasswordStoreDefault::~PasswordStoreDefault() {
 }
 
-void PasswordStoreDefault::ReportMetricsImpl() {
+void PasswordStoreDefault::ReportMetricsImpl(
+    const std::string& sync_username,
+    bool custom_passphrase_sync_enabled) {
   DCHECK(GetBackgroundTaskRunner()->BelongsToCurrentThread());
-  login_db_->ReportMetrics();
+  login_db_->ReportMetrics(sync_username, custom_passphrase_sync_enabled);
 }
 
 PasswordStoreChangeList PasswordStoreDefault::AddLoginImpl(
     const PasswordForm& form) {
   DCHECK(GetBackgroundTaskRunner()->BelongsToCurrentThread());
-  PasswordStoreChangeList changes;
-  if (login_db_->AddLogin(form))
-    changes.push_back(PasswordStoreChange(PasswordStoreChange::ADD, form));
-  return changes;
+  return login_db_->AddLogin(form);
 }
 
 PasswordStoreChangeList PasswordStoreDefault::UpdateLoginImpl(
     const PasswordForm& form) {
   DCHECK(GetBackgroundTaskRunner()->BelongsToCurrentThread());
-  PasswordStoreChangeList changes;
-  if (login_db_->UpdateLogin(form, NULL))
-    changes.push_back(PasswordStoreChange(PasswordStoreChange::UPDATE, form));
-  return changes;
+  return login_db_->UpdateLogin(form);
 }
 
 PasswordStoreChangeList PasswordStoreDefault::RemoveLoginImpl(
@@ -59,7 +55,8 @@ PasswordStoreChangeList PasswordStoreDefault::RemoveLoginImpl(
 }
 
 PasswordStoreChangeList PasswordStoreDefault::RemoveLoginsCreatedBetweenImpl(
-    const base::Time& delete_begin, const base::Time& delete_end) {
+    base::Time delete_begin,
+    base::Time delete_end) {
   std::vector<PasswordForm*> forms;
   PasswordStoreChangeList changes;
   if (login_db_->GetLoginsCreatedBetween(delete_begin, delete_end, &forms)) {
@@ -76,6 +73,25 @@ PasswordStoreChangeList PasswordStoreDefault::RemoveLoginsCreatedBetweenImpl(
   return changes;
 }
 
+PasswordStoreChangeList PasswordStoreDefault::RemoveLoginsSyncedBetweenImpl(
+    base::Time delete_begin,
+    base::Time delete_end) {
+  std::vector<PasswordForm*> forms;
+  PasswordStoreChangeList changes;
+  if (login_db_->GetLoginsSyncedBetween(delete_begin, delete_end, &forms)) {
+    if (login_db_->RemoveLoginsSyncedBetween(delete_begin, delete_end)) {
+      for (std::vector<PasswordForm*>::const_iterator it = forms.begin();
+           it != forms.end();
+           ++it) {
+        changes.push_back(
+            PasswordStoreChange(PasswordStoreChange::REMOVE, **it));
+      }
+    }
+  }
+  STLDeleteElements(&forms);
+  return changes;
+}
+
 void PasswordStoreDefault::GetLoginsImpl(
     const autofill::PasswordForm& form,
     AuthorizationPromptPolicy prompt_policy,