[M126] Enable autofill 41/317141/2
authorChandan Padhi <c.padhi@samsung.com>
Wed, 4 Sep 2024 11:04:34 +0000 (16:34 +0530)
committerChandan Padhi <c.padhi@samsung.com>
Thu, 5 Sep 2024 09:41:48 +0000 (15:11 +0530)
This commit enables autofill and fixes build errors related to it.
This also fixes all the remaining crashes related to autofill post
webview launch. Autofill was disabled for all profiles during M126
bringup.

Change-Id: I4ef8f47a5fd7ccfd07f534638aaf42fa838612a4
Signed-off-by: Chandan Padhi <c.padhi@samsung.com>
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_interface.h
tizen_src/build/config/tizen_features.gni
tizen_src/ewk/efl_integration/browser/autofill/autofill_client_efl.cc
tizen_src/ewk/efl_integration/browser/webdata/web_data_service_factory.cc

index b635212f8f8f83c37da7a792bb62781cc7ecb8d6..0cce62d8b237bca7ed32969170105eccc5469740 100644 (file)
@@ -267,7 +267,13 @@ void PasswordStore::Unblocklist(const PasswordFormDigest& form_digest,
 }
 
 void PasswordStore::GetLogins(const PasswordFormDigest& form,
-                              base::WeakPtr<PasswordStoreConsumer> consumer) {
+                              base::WeakPtr<PasswordStoreConsumer> consumer
+#if defined(TIZEN_AUTOFILL_FW)
+                              ,
+                              bool skip_checking_autofill,
+                              void* view
+#endif
+) {
   DCHECK(main_task_runner_->RunsTasksInCurrentSequence());
   if (!backend_) {
     return;  // Once the shutdown started, ignore new requests.
index e8f49f2154066b52cad4038d681f6df03b70ce82..6b5c06c71cce888b122308cc6122eca9c8d5f23a 100644 (file)
@@ -110,7 +110,13 @@ class PasswordStore : public PasswordStoreInterface {
       const PasswordFormDigest& form_digest,
       base::OnceClosure completion = base::NullCallback()) override;
   void GetLogins(const PasswordFormDigest& form,
-                 base::WeakPtr<PasswordStoreConsumer> consumer) override;
+                 base::WeakPtr<PasswordStoreConsumer> consumer
+#if defined(TIZEN_AUTOFILL_FW)
+                 ,
+                 bool skip_checking_autofill = false,
+                 void* view = nullptr
+#endif
+                 ) override;
   void GetAutofillableLogins(
       base::WeakPtr<PasswordStoreConsumer> consumer) override;
   void GetAllLogins(base::WeakPtr<PasswordStoreConsumer> consumer) override;
index 67012fe75a83759034fe0fb95394d5f694fb1cb2..9a127b47d2a91261a0f291155cbed915161e9304 100644 (file)
@@ -155,7 +155,13 @@ class PasswordStoreInterface : public RefcountedKeyedService {
   // completion.
   // TODO(crbug.com/40185049): Use a smart pointer for consumer.
   virtual void GetLogins(const PasswordFormDigest& form,
-                         base::WeakPtr<PasswordStoreConsumer> consumer) = 0;
+                         base::WeakPtr<PasswordStoreConsumer> consumer
+#if defined(TIZEN_AUTOFILL_FW)
+                         ,
+                         bool skip_checking_autofill = false,
+                         void* view = nullptr
+#endif
+                         ) = 0;
 
   // Gets the complete list of non-blocklist PasswordForms.`consumer` will be
   // notified on completion.
index 848368730a7764a099900097b7053ecf0f7ba627..5001f3471d39979662ff28f7b0908cbad6f2c39b 100644 (file)
@@ -76,7 +76,7 @@ declare_args() {
   drm_mapi_aarch_64 = false
 }
 
-if (!use_efl && !build_chrome) {
+if (use_efl && !build_chrome) {
   tizen_autofill = true
   if (tizen_product_tv) {
     tizen_autofill_fw = true
index fb88506cde282088918e99aff0f8faed828c84b5..5259b6b59b26c99db48f8c22ed9bb0b3b47332a5 100644 (file)
@@ -16,6 +16,7 @@
 #include "components/autofill/content/browser/content_autofill_driver.h"
 #include "components/autofill/content/browser/content_autofill_driver_factory.h"
 #include "components/autofill/core/browser/autofill_client.h"
+#include "components/autofill/core/browser/browser_autofill_manager.h"
 #include "components/autofill/core/common/autofill_prefs.h"
 #include "components/prefs/pref_service.h"
 #include "components/user_prefs/user_prefs.h"
@@ -269,8 +270,8 @@ AutocompleteHistoryManager* AutofillClientEfl::GetAutocompleteHistoryManager() {
 std::unique_ptr<AutofillManager> AutofillClientEfl::CreateManager(
     base::PassKey<ContentAutofillDriver> pass_key,
     ContentAutofillDriver& driver) {
-  NOTIMPLEMENTED();
-  return nullptr;
+  return std::make_unique<BrowserAutofillManager>(
+      &driver, EWebView::GetPlatformLocale());
 }
 
 payments::PaymentsAutofillClient*
index f4ebaa40ebd6ac901e8a6d3693d29cdf5f953072..2050ba4a9c02f3522fde1e100d7a228847212724 100644 (file)
@@ -12,6 +12,7 @@
 #include "base/path_service.h"
 #include "base/task/thread_pool.h"
 #include "components/autofill/core/browser/geo/autofill_country.h"
+#include "components/autofill/core/browser/webdata/autocomplete/autocomplete_table.h"
 #include "components/autofill/core/browser/webdata/autofill_webdata_service.h"
 #include "components/webdata/common/webdata_constants.h"
 #include "content/common/paths_efl.h"
@@ -58,9 +59,7 @@ WebDataServiceWrapperEfl::WebDataServiceWrapperEfl() {
 
   // All tables objects that participate in managing the database must
   // be added here.
-#if !defined(EWK_BRINGUP)  // FIXME: m126 bringup
-  web_database_->AddTable(base::WrapUnique(new autofill::AutofillTable));
-#endif
+  web_database_->AddTable(std::make_unique<autofill::AutocompleteTable>());
   web_database_->LoadDatabase();
 
   autofill_web_data_ =