fixup! [M126][Autofill] Introduce autofill fw interface 81/287481/11
authorv-saha <v.saha@samsung.com>
Mon, 16 Sep 2024 06:46:36 +0000 (12:16 +0530)
committerInsoon Kim <is46.kim@samsung.com>
Tue, 24 Sep 2024 06:33:53 +0000 (06:33 +0000)
Some of the changes got missed in the parent commit due to renaming of
files.

References:
https://review.tizen.org/gerrit/289135
https://review.tizen.org/gerrit/305139

Change-Id: I6ec950195c93f51551d5d37793773cf36317410e
Signed-off-by: v-saha <v.saha@samsung.com>
components/password_manager/core/browser/password_store/fake_password_store_backend.h
components/password_manager/core/browser/password_store/mock_password_store_backend.h
components/password_manager/core/browser/password_store/password_store.cc
components/password_manager/core/browser/password_store/password_store.h
components/password_manager/core/browser/password_store/password_store_backend.h
components/password_manager/core/browser/password_store/password_store_built_in_backend.cc
components/password_manager/core/browser/password_store/password_store_built_in_backend.h

index 23c3561fe2134636083f404b258f95d519d5fe89..7e46b93798cfcdab062a7a8cd62642ef904ff4a8 100644 (file)
@@ -106,6 +106,9 @@ class FakePasswordStoreBackend : public PasswordStoreBackend {
   void RecordAddLoginAsyncCalledFromTheStore() override;
   void RecordUpdateLoginAsyncCalledFromTheStore() override;
   base::WeakPtr<PasswordStoreBackend> AsWeakPtr() override;
+#if defined(TIZEN_AUTOFILL_FW)
+  void PostTaskToBackgroundTaskRunner(base::OnceClosure task) override {}
+#endif
 
   // Returns the task runner. Defaults to
   // `base::SequencedTaskRunner::GetCurrentDefault` if none is injected.
index 50d10eac910cf5f0ae29e289bcd0a6e44d28f87b..d50657d567a383720b5c69881c6815cbb037fef9 100644 (file)
@@ -104,6 +104,12 @@ class MockPasswordStoreBackend : public PasswordStoreBackend {
               (override));
   MOCK_METHOD(void, RecordAddLoginAsyncCalledFromTheStore, (), (override));
   MOCK_METHOD(void, RecordUpdateLoginAsyncCalledFromTheStore, (), (override));
+#if defined(TIZEN_AUTOFILL_FW)
+  MOCK_METHOD(void,
+              PostTaskToBackgroundTaskRunner,
+              (base::OnceClosure task),
+              (override));
+#endif
 
   base::WeakPtr<PasswordStoreBackend> AsWeakPtr() override;
 
index 0cce62d8b237bca7ed32969170105eccc5469740..0a92ea9639c790c28a314fbb716c6f9eb6f0627f 100644 (file)
 #include "components/safe_browsing/core/common/safe_browsing_prefs.h"
 #include "components/sync/model/proxy_model_type_controller_delegate.h"
 
+#if defined(TIZEN_AUTOFILL_FW)
+#include "base/synchronization/waitable_event.h"
+#include "tizen_src/ewk/efl_integration/browser/autofill/autofill_request_manager.h"
+#endif
+
 namespace password_manager {
 
 namespace {
@@ -281,10 +286,38 @@ void PasswordStore::GetLogins(const PasswordFormDigest& form,
   TRACE_EVENT_NESTABLE_ASYNC_BEGIN0("passwords", "PasswordStore::GetLogins",
                                     consumer.get());
 
+#if defined(TIZEN_AUTOFILL_FW)
+  LOG(INFO) << "[Autofill] PasswordStore::GetLogins, signon_realm: "
+            << form.signon_realm << ", origin: " << form.url.spec()
+            << ", username: " << form.username << ", view: " << view
+            << ", skip_checking_autofill: " << skip_checking_autofill;
+  if (!view) {
+    return;
+  }
+
+  if (!skip_checking_autofill) {
+    if (backend_) {
+      backend_->PostTaskToBackgroundTaskRunner(base::BindOnce(
+          &PasswordStore::CheckAutofillData, this, form, view,
+          base::BindOnce(
+              &PasswordStoreConsumer::OnGetPasswordStoreResultsOrErrorFrom,
+              consumer, base::RetainedRef(this))));
+    }
+  } else {
+    LOG(INFO) << "[Autofill] " << __FUNCTION__ << " with view " << view
+              << " skip check autofill";
+    affiliated_match_helper_->InjectAffiliationAndBrandingInformation(
+        LoginsResult(),
+        base::BindOnce(
+            &PasswordStoreConsumer::OnGetPasswordStoreResultsOrErrorFrom,
+            consumer, base::RetainedRef(this)));
+  }
+#else
   backend_->GetGroupedMatchingLoginsAsync(
       form, base::BindOnce(
                 &PasswordStoreConsumer::OnGetPasswordStoreResultsOrErrorFrom,
                 consumer, base::RetainedRef(this)));
+#endif
 }
 
 void PasswordStore::GetAutofillableLogins(
@@ -395,6 +428,24 @@ PasswordStoreBackend* PasswordStore::GetBackendForTesting() {
   return backend_.get();
 }
 
+#if defined(TIZEN_AUTOFILL_FW)
+void PasswordStore::CheckAutofillData(const PasswordFormDigest& form,
+                                      void* view,
+                                      LoginsOrErrorReply callback) {
+  base::WaitableEvent done(base::WaitableEvent::ResetPolicy::AUTOMATIC,
+                           base::WaitableEvent::InitialState::NOT_SIGNALED);
+  autofill::AutofillRequestManager::GetInstance()->CheckAutofillData(
+      view, &done, form.signon_realm, form.url, form.username);
+  LOG(INFO) << "[Autofill] " << __FUNCTION__ << " with view " << view
+            << " wait start!";
+  done.Wait();
+  LOG(INFO) << "[Autofill] " << __FUNCTION__ << " with view " << view
+            << " wait end!";
+  affiliated_match_helper_->InjectAffiliationAndBrandingInformation(
+      LoginsResult(), std::move(callback));
+}
+#endif
+
 PasswordStore::~PasswordStore() {
   DCHECK(!backend_) << "Shutdown() needs to be called before destruction!";
 }
index 6b5c06c71cce888b122308cc6122eca9c8d5f23a..b40233758b828b34c373577985ab1174b754a320 100644 (file)
@@ -132,6 +132,12 @@ class PasswordStore : public PasswordStoreInterface {
       base::RepeatingClosure sync_enabled_or_disabled_cb) override;
   PasswordStoreBackend* GetBackendForTesting() override;
 
+#if defined(TIZEN_AUTOFILL_FW)
+  void CheckAutofillData(const PasswordFormDigest& form,
+                         void* view,
+                         LoginsOrErrorReply callback);
+#endif
+
  protected:
   friend class base::RefCountedThreadSafe<PasswordStore>;
 
index ff9ee9902336c62f6fa9549a763c4c7ce6ede978..05f7d50d89268814b23fdd8126e8bee72dbcad18 100644 (file)
@@ -164,6 +164,10 @@ class PasswordStoreBackend {
   // Propagates sync initialization event.
   virtual void OnSyncServiceInitialized(syncer::SyncService* sync_service) = 0;
 
+#if defined(TIZEN_AUTOFILL_FW)
+  virtual void PostTaskToBackgroundTaskRunner(base::OnceClosure task) = 0;
+#endif
+
   // Records calls to the `AddLoginAsync()` from the password store.
   // TODO: crbug.com/327126704 - Remove this method after UPM is launched.
   virtual void RecordAddLoginAsyncCalledFromTheStore() = 0;
index 2b82a837b58af66efe6a2579fac37ed237b57df6..4a0d62cfe14b6d7e79ed1931fa4129ac3096b5b5 100644 (file)
@@ -414,4 +414,11 @@ void PasswordStoreBuiltInBackend::OnInitComplete(
   std::move(completion).Run(result);
 }
 
+#if defined(TIZEN_AUTOFILL_FW)
+void PasswordStoreBuiltInBackend::PostTaskToBackgroundTaskRunner(
+    base::OnceClosure task) {
+  background_task_runner_->PostTask(FROM_HERE, std::move(task));
+}
+#endif
+
 }  // namespace password_manager
index b14d64c6c06939b3911b74821590835ef994aa4d..2b9dd30ee6af44ab4827766488ebf5e5c084d92a 100644 (file)
@@ -95,6 +95,9 @@ class PasswordStoreBuiltInBackend : public PasswordStoreBackend,
   void RecordAddLoginAsyncCalledFromTheStore() override;
   void RecordUpdateLoginAsyncCalledFromTheStore() override;
   base::WeakPtr<PasswordStoreBackend> AsWeakPtr() override;
+#if defined(TIZEN_AUTOFILL_FW)
+  void PostTaskToBackgroundTaskRunner(base::OnceClosure task) override;
+#endif
 
   // SmartBubbleStatsStore:
   void AddSiteStats(const InteractionsStats& stats) override;