fixup! [M120] Bring up autofill 39/305139/12
authorNikhil Shingne <n.shingne@samsung.com>
Mon, 29 Jan 2024 06:51:57 +0000 (12:21 +0530)
committerBot Blink <blinkbot@samsung.com>
Mon, 26 Feb 2024 13:35:52 +0000 (13:35 +0000)
This commit enables the autofill feature which was disabled during
m120 bringup. Fixes all the build errors due to changes on upstream.

With this commit, autofill related TCs PASS on NativeTCT.

Change-Id: I64e291292d7b99572b69221b4e4d78d5d32a21b6
Signed-off-by: Nikhil Shingne <n.shingne@samsung.com>
17 files changed:
components/autofill/content/renderer/password_form_conversion_utils.cc
components/autofill/core/browser/browser_autofill_manager.cc
components/password_manager/core/browser/fake_password_store_backend.h
components/password_manager/core/browser/mock_password_store_backend.h
components/password_manager/core/browser/password_store.cc
components/password_manager/core/browser/password_store_backend.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/autofill/autofill_client_efl.h
tizen_src/ewk/efl_integration/browser/autofill/personal_data_manager_factory.cc
tizen_src/ewk/efl_integration/browser/autofill_popup_view_efl.cc
tizen_src/ewk/efl_integration/browser/password_manager/password_manager_client_efl.cc
tizen_src/ewk/efl_integration/browser/password_manager/password_manager_client_efl.h
tizen_src/ewk/efl_integration/browser/password_manager/password_store_factory.cc
tizen_src/ewk/efl_integration/browser_context_efl.cc
tizen_src/ewk/efl_integration/private/ewk_context_form_autofill_profile_private.cc
tizen_src/ewk/efl_integration/renderer/content_renderer_client_efl.cc

index 0855f0d..ab1a605 100644 (file)
@@ -126,8 +126,9 @@ bool IsGaiaWithSkipSavePasswordForm(const blink::WebFormElement& form) {
 // Returns the PasswordContents reflecting the contents of |fields|.
 bool HasPasswordContents(const std::vector<FormFieldData>& fields) {
   for (const FormFieldData& field : fields) {
-    if (field.form_control_type == "password")
+    if (field.form_control_type == FormControlType::kInputPassword) {
       return true;
+    }
   }
   return false;
 }
index a5aae65..0cf765e 100644 (file)
@@ -927,7 +927,7 @@ void BrowserAutofillManager::OnFormSubmittedImpl(const FormData& form,
       *submitted_form, form, *client().GetPersonalDataManager());
 
 #if defined(TIZEN_AUTOFILL)
-  if (!client()->GetFormDataImporter()) {
+  if (!client().GetFormDataImporter()) {
     LOG(ERROR) << "[Autofill] " << __FUNCTION__
                << " FormDataImporter is invalid";
     return;
index 0220e86..c855711 100644 (file)
@@ -54,6 +54,10 @@ class FakePasswordStoreBackend : public PasswordStoreBackend {
   const PasswordMap& stored_passwords() const { return stored_passwords_; }
   IsAccountStore is_account_store() const { return is_account_store_; }
 
+#if defined(TIZEN_AUTOFILL_FW)
+  void PostTaskToBackgroundTaskRunner(base::OnceClosure task) override {};
+#endif
+
  private:
   // Implements PasswordStoreBackend interface.
   void InitBackend(AffiliatedMatchHelper* affiliated_match_helper,
index 04288d2..7ed90e3 100644 (file)
@@ -22,6 +22,12 @@ class MockPasswordStoreBackend : public PasswordStoreBackend {
   MockPasswordStoreBackend();
   ~MockPasswordStoreBackend() override;
 
+#if defined(TIZEN_AUTOFILL_FW)
+  MOCK_METHOD(void,
+              PostTaskToBackgroundTaskRunner,
+              (base::OnceClosure task),
+              (override));
+#endif
   MOCK_METHOD(void,
               InitBackend,
               (AffiliatedMatchHelper * affiliated_match_helper,
index cb37e57..1a1c27d 100644 (file)
@@ -288,16 +288,20 @@ void PasswordStore::GetLogins(const PasswordFormDigest& form,
 
   if (!skip_checking_autofill) {
     if (backend_) {
-      backend_->PostTaskToBackgroundTaskRunner(
-          base::BindOnce(&PasswordStore::CheckAutofillData, this, form, view,
-                        request_handler->LoginsForFormClosure()));
+      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 to check autofill";
-    InjectAffiliationAndBrandingInformation(
-        request_handler->LoginsForFormClosure(),
-        std::vector<std::unique_ptr<PasswordForm>>());
+    affiliated_match_helper_->InjectAffiliationAndBrandingInformation(
+        LoginsResult(),
+        base::BindOnce(
+            &PasswordStoreConsumer::OnGetPasswordStoreResultsOrErrorFrom,
+            consumer, base::RetainedRef(this)));
   }
 #else
   backend_->GetGroupedMatchingLoginsAsync(
@@ -320,9 +324,8 @@ void PasswordStore::CheckAutofillData(const PasswordFormDigest& form,
   done.Wait();
   LOG(INFO) << "[Autofill] " << __FUNCTION__ << " with view " << view
             << " wait end!";
-  InjectAffiliationAndBrandingInformation(
-      std::move(callback),
-      autofill::AutofillRequestManager::GetInstance()->GetResult(view));
+  affiliated_match_helper_->InjectAffiliationAndBrandingInformation(
+      LoginsResult(), std::move(callback));
 }
 #endif
 
index d4885fc..0ca3670 100644 (file)
@@ -155,7 +155,7 @@ class PasswordStoreBackend
   virtual void OnSyncServiceInitialized(syncer::SyncService* sync_service) = 0;
 
 #if defined(TIZEN_AUTOFILL_FW)
-  virtual void PostTaskToBackgroundTaskRunner(base::OnceClosure task);
+  virtual void PostTaskToBackgroundTaskRunner(base::OnceClosure task) = 0;
 #endif
 
   // Factory function for creating the backend. The Local backend requires the
index eef8b8e..7fc0da6 100644 (file)
@@ -126,10 +126,3 @@ if (use_ozone) {
   #use_glib = true
   external_ozone_platforms = [ "efl" ]
 }
-
-if (ewk_bringup) {  #  FIXME: m120 bringup
-  tizen_autofill = false
-  if (tizen_product_tv) {
-    tizen_autofill_fw = false
-  }
-}
index d8f70ca..9e06f6f 100644 (file)
@@ -163,8 +163,7 @@ void AutofillClientEfl::ShowUnmaskPrompt(
 }
 
 void AutofillClientEfl::UpdateAutofillPopupDataListValues(
-    const std::vector<std::u16string>& values,
-    const std::vector<std::u16string>& labels) {
+    base::span<const SelectOption> datalist) {
   NOTIMPLEMENTED();
 }
 
@@ -223,10 +222,6 @@ AutofillClientEfl::GetSecurityLevelForUmaHistograms() {
   return security_state::SecurityLevel::SECURITY_LEVEL_COUNT;
 }
 
-void AutofillClientEfl::ExecuteCommand(int id) {
-  NOTIMPLEMENTED();
-}
-
 void AutofillClientEfl::HideAutofillPopup(PopupHidingReason reason) {
 #if defined(TIZEN_AUTOFILL_FW)
   LOG(INFO) << "[Autofill] " << __FUNCTION__
@@ -244,12 +239,6 @@ bool AutofillClientEfl::IsAutocompleteEnabled() const {
   return false;
 }
 
-void AutofillClientEfl::PropagateAutofillPredictions(
-    autofill::AutofillDriver* autofill_driver,
-    const std::vector<FormStructure*>& forms) {
-  NOTIMPLEMENTED();
-}
-
 bool AutofillClientEfl::IsAutocompleteSavingEnabled() {
   if (webview_)
     return webview_->GetSettings()->formCandidateData();
@@ -340,15 +329,36 @@ AutofillClientEfl::GetURLLoaderFactory() {
       ->GetURLLoaderFactoryForBrowserProcess();
 }
 
-void AutofillClientEfl::ConfirmSaveIBANLocally(
-    const IBAN& iban,
+void AutofillClientEfl::ConfirmSaveIbanLocally(
+    const Iban& iban,
+    bool should_show_prompt,
+    AutofillClient::SaveIbanPromptCallback callback) {
+  NOTIMPLEMENTED();
+}
+
+void AutofillClientEfl::ConfirmUploadIbanToCloud(
+    const Iban& iban,
+    const LegalMessageLines& legal_message_lines,
     bool should_show_prompt,
-    LocalSaveIBANPromptCallback callback) {
+    AutofillClient::SaveIbanPromptCallback callback) {
+  NOTIMPLEMENTED();
+}
+
+void AutofillClientEfl::ShowEditAddressProfileDialog(
+    const AutofillProfile& profile,
+    AutofillClient::AddressProfileSavePromptCallback
+        on_user_decision_callback) {
+  NOTIMPLEMENTED();
+}
+
+void AutofillClientEfl::ShowDeleteAddressProfileDialog(
+    const AutofillProfile& profile,
+    AutofillClient::AddressProfileDeleteDialogCallback delete_dialog_callback) {
   NOTIMPLEMENTED();
 }
 
 void AutofillClientEfl::DidFillOrPreviewForm(
-    mojom::RendererFormDataAction action,
+    mojom::ActionPersistence action,
     AutofillTriggerSource trigger_source,
     bool is_refill) {
   NOTIMPLEMENTED();
@@ -436,12 +446,6 @@ bool AutofillClientEfl::CloseWebauthnDialog() {
   return false;
 }
 
-void AutofillClientEfl::ConfirmSaveUpiIdLocally(
-    const std::string& upi_id,
-    base::OnceCallback<void(bool user_decision)> callback) {
-  NOTIMPLEMENTED();
-}
-
 void AutofillClientEfl::OfferVirtualCardOptions(
     const std::vector<CreditCard*>& candidates,
     base::OnceCallback<void(const std::string&)> callback) {
@@ -456,7 +460,8 @@ void AutofillClientEfl::PinPopupView() {
   NOTIMPLEMENTED();
 }
 
-AutofillClient::PopupOpenArgs AutofillClientEfl::GetReopenPopupArgs() const {
+AutofillClient::PopupOpenArgs AutofillClientEfl::GetReopenPopupArgs(
+    AutofillSuggestionTriggerSource trigger_source) const {
   NOTIMPLEMENTED();
   return {};
 }
@@ -466,8 +471,10 @@ std::vector<Suggestion> AutofillClientEfl::GetPopupSuggestions() const {
   return std::vector<Suggestion>();
 }
 
-void AutofillClientEfl::UpdatePopup(const std::vector<Suggestion>& suggestions,
-                                    PopupType popup_type) {
+void AutofillClientEfl::UpdatePopup(
+    const std::vector<Suggestion>& suggestions,
+    PopupType popup_type,
+    AutofillSuggestionTriggerSource trigger_source) {
   NOTIMPLEMENTED();
 }
 
@@ -481,18 +488,6 @@ const GURL& AutofillClientEfl::GetLastCommittedPrimaryMainFrameURL() const {
   return entry->GetURL();
 }
 
-std::vector<std::string>
-AutofillClientEfl::GetAllowedMerchantsForVirtualCards() {
-  NOTIMPLEMENTED();
-  return std::vector<std::string>();
-}
-
-std::vector<std::string>
-AutofillClientEfl::GetAllowedBinRangesForVirtualCards() {
-  NOTIMPLEMENTED();
-  return std::vector<std::string>();
-}
-
 const translate::LanguageState* AutofillClientEfl::GetLanguageState() {
   NOTIMPLEMENTED();
   return nullptr;
index f143729..24d9ccc 100644 (file)
@@ -39,12 +39,22 @@ class AutofillClientEfl : public ContentAutofillClient,
 
   bool IsOffTheRecord() override;
   scoped_refptr<network::SharedURLLoaderFactory> GetURLLoaderFactory() override;
-  void DidFillOrPreviewForm(mojom::RendererFormDataAction action,
+  void DidFillOrPreviewForm(mojom::ActionPersistence action,
                             AutofillTriggerSource trigger_source,
                             bool is_refill) override;
-  void ConfirmSaveIBANLocally(const IBAN& iban,
+  void ConfirmSaveIbanLocally(const Iban& iban,
                               bool should_show_prompt,
-                              LocalSaveIBANPromptCallback callback) override;
+                              SaveIbanPromptCallback callback) override;
+  void ConfirmUploadIbanToCloud(const Iban& iban,
+                                const LegalMessageLines& legal_message_lines,
+                                bool should_show_prompt,
+                                SaveIbanPromptCallback callback) override;
+  void ShowEditAddressProfileDialog(
+      const AutofillProfile& profile,
+      AddressProfileSavePromptCallback on_user_decision_callback) override;
+  void ShowDeleteAddressProfileDialog(
+      const AutofillProfile& profile,
+      AddressProfileDeleteDialogCallback delete_dialog_callback) override;
   FormInteractionsFlowId GetCurrentFormInteractionsFlowId() override;
 
   // AutofillClient implementation.
@@ -72,8 +82,7 @@ class AutofillClientEfl : public ContentAutofillClient,
       const CardUnmaskPromptOptions& card_unmask_prompt_options,
       base::WeakPtr<CardUnmaskDelegate> delegate) override;
   void UpdateAutofillPopupDataListValues(
-      const std::vector<std::u16string>& values,
-      const std::vector<std::u16string>& labels) override;
+      base::span<const SelectOption> datalist) override;
   void OnUnmaskVerificationResult(PaymentsRpcResult result) override;
   bool HasCreditCardScanFeature() override;
   void ScanCreditCard(CreditCardScanCallback callback) override;
@@ -85,12 +94,8 @@ class AutofillClientEfl : public ContentAutofillClient,
   AddressNormalizer* GetAddressNormalizer() override;
   security_state::SecurityLevel GetSecurityLevelForUmaHistograms() override;
 
-  void ExecuteCommand(int id) override;
   void HideAutofillPopup(PopupHidingReason reason) override;
   bool IsAutocompleteEnabled() const override;
-  void PropagateAutofillPredictions(
-      autofill::AutofillDriver* autofill_driver,
-      const std::vector<FormStructure*>& forms) override;
   void DidFillOrPreviewField(const std::u16string& autofilled_value,
                              const std::u16string& profile_full_name) override;
   void ConfirmMigrateLocalCardToCloud(
@@ -104,23 +109,20 @@ class AutofillClientEfl : public ContentAutofillClient,
       WebauthnDialogCallback verify_pending_dialog_callback) override;
   void UpdateWebauthnOfferDialogWithError() override;
   bool CloseWebauthnDialog() override;
-  void ConfirmSaveUpiIdLocally(
-      const std::string& upi_id,
-      base::OnceCallback<void(bool user_decision)> callback) override;
   void OfferVirtualCardOptions(
       const std::vector<CreditCard*>& candidates,
       base::OnceCallback<void(const std::string&)> callback) override;
   void CreditCardUploadCompleted(bool card_saved) override;
   void PinPopupView() override;
-  PopupOpenArgs GetReopenPopupArgs() const override;
+  PopupOpenArgs GetReopenPopupArgs(
+      AutofillSuggestionTriggerSource trigger_source) const override;
   std::vector<Suggestion> GetPopupSuggestions() const override;
   void UpdatePopup(const std::vector<Suggestion>& suggestions,
-                   PopupType popup_type) override;
+                   PopupType popup_type,
+                   AutofillSuggestionTriggerSource trigger_sources) override;
   const GURL& GetLastCommittedPrimaryMainFrameURL() const override;
   const translate::LanguageState* GetLanguageState() override;
   translate::TranslateDriver* GetTranslateDriver() override;
-  std::vector<std::string> GetAllowedMerchantsForVirtualCards() override;
-  std::vector<std::string> GetAllowedBinRangesForVirtualCards() override;
   void ConfirmSaveAddressProfile(
       const AutofillProfile& profile,
       const AutofillProfile* original_profile,
index 3ab66e2..474a431 100644 (file)
@@ -57,7 +57,7 @@ PersonalDataManagerFactoryEfl::PersonalDataManagerForContext(
 
   manager->Init(WebDataServiceFactoryEfl::GetAutofillWebDataForProfile(),
                 nullptr, service, nullptr, nullptr, nullptr, nullptr, nullptr,
-                nullptr, context->IsOffTheRecord());
+                nullptr);
   manager->AddObserver(this);
   personal_data_manager_id_map_.AddWithID(std::move(pdm), unique_id);
 
index b8d7fc2..0fc3795 100644 (file)
@@ -238,9 +238,8 @@ void AutofillPopupViewEfl::UpdateLocation(const gfx::RectF& bounds) {
 }
 
 bool isAutofillSpecial(const autofill::Suggestion& suggestion) {
-  return suggestion.frontend_id <= 0 &&
-         suggestion.frontend_id != POPUP_ITEM_ID_AUTOCOMPLETE_ENTRY &&
-         suggestion.frontend_id != POPUP_ITEM_ID_DATALIST_ENTRY;
+  return suggestion.popup_item_id != PopupItemId::kAutocompleteEntry &&
+         suggestion.popup_item_id != PopupItemId::kDatalistEntry;
 }
 
 void AutofillPopupViewEfl::InitFormData(
@@ -269,7 +268,8 @@ void AutofillPopupViewEfl::InitFormData(
 
 void AutofillPopupViewEfl::AcceptSuggestion(size_t index) {
   if (delegate_ && index < values_.size()) {
-    delegate_->DidAcceptSuggestion(values_[index], index);
+    delegate_->DidAcceptSuggestion(values_[index], index,
+                                   autofill::AutofillSuggestionTriggerSource());
   }
 }
 
@@ -303,9 +303,8 @@ void AutofillPopupViewEfl::SetSelectedLine(size_t selected_line)
   selected_line_ = selected_line;
   if (delegate_) {
     if (selected_line_ < values_.size()) {
-      delegate_->DidSelectSuggestion(values_[selected_line].main_text.value,
-                                     selected_line,
-                                     autofill::Suggestion::BackendId());
+      delegate_->DidSelectSuggestion(
+          values_[selected_line], autofill::AutofillSuggestionTriggerSource());
     }
     else {
       delegate_->ClearPreviewedForm();
index 3b0b188..dbf1f06 100644 (file)
@@ -65,8 +65,7 @@ PasswordManagerClientEfl::PasswordManagerClientEfl(
           nullptr /*ProfileSyncServiceFactory::GetForProfile(profile_)*/),
       driver_factory_(nullptr),
       weak_factory_(this) {
-  ContentPasswordManagerDriverFactory::CreateForWebContents(web_contents, this,
-                                                            autofill_client);
+  ContentPasswordManagerDriverFactory::CreateForWebContents(web_contents, this);
   driver_factory_ =
       ContentPasswordManagerDriverFactory::FromWebContents(web_contents);
 }
@@ -110,8 +109,34 @@ void PasswordManagerClientEfl::ShowManualFallbackForSaving(
   NOTIMPLEMENTED();
 }
 
-PasswordStore* PasswordManagerClientEfl::GetProfilePasswordStore() const {
-  return PasswordStoreFactory::GetProfilePasswordStore().get();
+void PasswordManagerClientEfl::UserModifiedPasswordField() {
+  NOTIMPLEMENTED();
+}
+
+void PasswordManagerClientEfl::UserModifiedNonPasswordField(
+    ::autofill::FieldRendererId renderer_id,
+    const ::std::u16string& value,
+    bool autocomplete_attribute_has_username,
+    bool is_likely_otp) {
+  NOTIMPLEMENTED();
+}
+
+void PasswordManagerClientEfl::ShowPasswordSuggestions(
+    ::autofill::FieldRendererId element_id,
+    const ::autofill::FormData& form,
+    uint64_t username_field_index,
+    uint64_t password_field_index,
+    ::base::i18n::TextDirection text_direction,
+    const ::std::u16string& typed_username,
+    int32_t options,
+    const ::gfx::RectF& bounds) {
+  NOTIMPLEMENTED();
+}
+
+PasswordStoreInterface* PasswordManagerClientEfl::GetProfilePasswordStore()
+    const {
+  NOTIMPLEMENTED();
+  return nullptr;
 }
 
 const PasswordManager* PasswordManagerClientEfl::GetPasswordManager() const {
@@ -149,7 +174,8 @@ void PasswordManagerClientEfl::NotifyStorePasswordCalled() {
 }
 
 void PasswordManagerClientEfl::AutomaticPasswordSave(
-    std::unique_ptr<PasswordFormManagerForUI> saved_form_manager) {
+    std::unique_ptr<PasswordFormManagerForUI> saved_form_manager,
+    bool is_update_confirmation) {
   NOTIMPLEMENTED();
 }
 
@@ -216,20 +242,6 @@ void PasswordManagerClientEfl::PasswordFormsRendered(
   GetPasswordManager()->OnPasswordFormsRendered(driver, visible_forms);
 }
 
-void PasswordManagerClientEfl::ShowPasswordSuggestions(
-    base::i18n::TextDirection text_direction,
-    const std::u16string& typed_username,
-    int options,
-    const gfx::RectF& bounds) {
-  password_manager::PasswordManagerDriver* driver =
-      driver_factory_->GetDriverForFrame(
-          password_manager_driver_bindings_.GetCurrentTargetFrame());
-  driver->GetPasswordAutofillManager()->OnShowPasswordSuggestions(
-      text_direction, typed_username, options,
-      TransformToRootCoordinates(
-          password_manager_driver_bindings_.GetCurrentTargetFrame(), bounds));
-}
-
 void PasswordManagerClientEfl::PasswordFormSubmitted(
     const autofill::FormData& password_form) {
   if (!bad_message::CheckChildProcessSecurityPolicyForURL(
@@ -253,10 +265,6 @@ void PasswordManagerClientEfl::RecordSavePasswordProgress(
   LOG_AF(GetLogManager()) << log;
 }
 
-void PasswordManagerClientEfl::UserModifiedPasswordField() {
-  GetMetricsRecorder()->RecordUserModifiedPasswordField();
-}
-
 void PasswordManagerClientEfl::FocusedInputChanged(
     password_manager::PasswordManagerDriver* driver,
     autofill::FieldRendererId focused_field_id,
@@ -284,7 +292,8 @@ void PasswordManagerClientEfl::PromptUserToMovePasswordToAccount(
   NOTIMPLEMENTED();
 }
 
-PasswordStore* PasswordManagerClientEfl::GetAccountPasswordStore() const {
+PasswordStoreInterface* PasswordManagerClientEfl::GetAccountPasswordStore()
+    const {
   NOTIMPLEMENTED();
   return nullptr;
 }
@@ -344,13 +353,6 @@ void PasswordManagerClientEfl::PasswordFormCleared(
     const autofill::FormData& form_data) {
   NOTIMPLEMENTED();
 }
-void PasswordManagerClientEfl::UserModifiedNonPasswordField(
-    autofill::FieldRendererId renderer_id,
-    const std::u16string& field_name,
-    const std::u16string& value,
-    bool autocomplete_attribute_has_username) {
-  NOTIMPLEMENTED();
-}
 
 void PasswordManagerClientEfl::FocusedInputChanged(
     autofill::FieldRendererId focused_field_id,
@@ -364,6 +366,22 @@ void PasswordManagerClientEfl::CheckSafeBrowsingReputation(
   NOTIMPLEMENTED();
 }
 
+PrefService* PasswordManagerClientEfl::GetLocalStatePrefs() const {
+  NOTIMPLEMENTED();
+  return nullptr;
+}
+
+const syncer::SyncService* PasswordManagerClientEfl::GetSyncService() const {
+  NOTIMPLEMENTED();
+  return nullptr;
+}
+
+PasswordChangeSuccessTracker*
+PasswordManagerClientEfl::GetPasswordChangeSuccessTracker() {
+  NOTIMPLEMENTED();
+  return nullptr;
+}
+
 WEB_CONTENTS_USER_DATA_KEY_IMPL(PasswordManagerClientEfl);
 }
 
index c1c68ff..a885b17 100644 (file)
@@ -61,7 +61,20 @@ class PasswordManagerClientEfl
       std::unique_ptr<PasswordFormManagerForUI> form_to_save,
       bool has_generated_password,
       bool is_update) override;
-  PasswordStore* GetProfilePasswordStore() const override;
+  PasswordStoreInterface* GetProfilePasswordStore() const override;
+  void UserModifiedPasswordField() override;
+  void UserModifiedNonPasswordField(::autofill::FieldRendererId renderer_id,
+                                    const ::std::u16string& value,
+                                    bool autocomplete_attribute_has_username,
+                                    bool is_likely_otp) override;
+  void ShowPasswordSuggestions(::autofill::FieldRendererId element_id,
+                               const ::autofill::FormData& form,
+                               uint64_t username_field_index,
+                               uint64_t password_field_index,
+                               ::base::i18n::TextDirection text_direction,
+                               const ::std::u16string& typed_username,
+                               int32_t options,
+                               const ::gfx::RectF& bounds) override;
   bool PromptUserToChooseCredentials(
       std::vector<std::unique_ptr<PasswordForm>> local_forms,
       const url::Origin& origin,
@@ -76,7 +89,8 @@ class PasswordManagerClientEfl
           submitted_manager) override;
   void NotifyStorePasswordCalled() override;
   void AutomaticPasswordSave(
-      std::unique_ptr<PasswordFormManagerForUI> saved_form_manager) override;
+      std::unique_ptr<PasswordFormManagerForUI> saved_form_manager,
+      bool is_update_confirmation) override;
 
   const PasswordManager* GetPasswordManager() const override;
   const CredentialsFilter* GetStoreResultFilter() const override;
@@ -100,7 +114,7 @@ class PasswordManagerClientEfl
   bool IsNewTabPage() const override;
   void PromptUserToMovePasswordToAccount(
       std::unique_ptr<PasswordFormManagerForUI> form_to_move) override;
-  PasswordStore* GetAccountPasswordStore() const override;
+  PasswordStoreInterface* GetAccountPasswordStore() const override;
   const GURL& GetLastCommittedURL() const override;
   url::Origin GetLastCommittedOrigin() const override;
   signin::IdentityManager* GetIdentityManager() override;
@@ -119,11 +133,9 @@ class PasswordManagerClientEfl
       const override {
     return &password_feature_manager_;
   }
-  PrefService* GetLocalStatePrefs() const override { return nullptr; }
-  const syncer::SyncService* GetSyncService() const override { return nullptr; }
-  PasswordChangeSuccessTracker* GetPasswordChangeSuccessTracker() override {
-    return nullptr;
-  }
+  PrefService* GetLocalStatePrefs() const override;
+  const syncer::SyncService* GetSyncService() const override;
+  PasswordChangeSuccessTracker* GetPasswordChangeSuccessTracker() override;
 
  private:
   explicit PasswordManagerClientEfl(content::WebContents* web_contents,
@@ -144,22 +156,12 @@ class PasswordManagerClientEfl
       const std::vector<autofill::FormData>& visible_forms) override;
   void PasswordFormSubmitted(const autofill::FormData& password_form) override;
   void RecordSavePasswordProgress(const std::string& log) override;
-  void UserModifiedPasswordField() override;
-  void ShowPasswordSuggestions(base::i18n::TextDirection text_direction,
-                               const std::u16string& typed_username,
-                               int options,
-                               const gfx::RectF& bounds) override;
   void LogFirstFillingResult(autofill::FormRendererId form_renderer_id,
                              int32_t result) override;
   void InformAboutUserInput(const autofill::FormData& form_data) override;
   void DynamicFormSubmission(autofill::mojom::SubmissionIndicatorEvent
                                  submission_indication_event) override;
   void PasswordFormCleared(const autofill::FormData& form_data) override;
-  void UserModifiedNonPasswordField(
-      autofill::FieldRendererId renderer_id,
-      const std::u16string& field_name,
-      const std::u16string& value,
-      bool autocomplete_attribute_has_username) override;
   void FocusedInputChanged(
       autofill::FieldRendererId focused_field_id,
       autofill::mojom::FocusedFieldType focused_field_type) override;
index 1633dcc..123e6c4 100644 (file)
@@ -67,7 +67,7 @@ void PasswordStoreFactory::Init() {
 
   scoped_refptr<PasswordStore> ps = new password_manager::PasswordStore(
       std::make_unique<password_manager::PasswordStoreBuiltInBackend>(
-          std::move(login_db)));
+          std::move(login_db), syncer::WipeModelUponSyncDisabledBehavior()));
 
   if (!ps.get()) {
     LOG(ERROR) << "Could not create password manager.";
index 04a8ae9..c58550c 100644 (file)
@@ -205,7 +205,6 @@ BrowserContextEfl::BrowserContextEfl(EWebContext* web_context, bool incognito)
 #if defined(TIZEN_AUTOFILL)
   // autofill preferences
   pref_registry->RegisterBooleanPref(kAutofillProfileEnabled, true);
-  pref_registry->RegisterBooleanPref(kAutofillWalletImportEnabled, true);
   pref_registry->RegisterBooleanPref(kAutofillCreditCardEnabled, true);
   pref_registry->RegisterIntegerPref(kAutocompleteLastVersionRetentionPolicy,
                                      0);
index b13bddb..1fb706b 100644 (file)
@@ -10,8 +10,6 @@
 #include <string>
 #include <sstream>
 #include <Eina.h>
-
-#include "base/guid.h"
 #include "base/strings/stringprintf.h"
 #include "browser/autofill/personal_data_manager_factory.h"
 #include "browser_context_efl.h"
@@ -46,9 +44,9 @@ std::string UnsignedToGUID(unsigned id) {
 }
 
 bool IsValidEwkGUID(const std::string& guid) {
-  if (!base::IsValidGUID(guid))
+  if (!base::Uuid::ParseCaseInsensitive(base::StringPiece(guid)).is_valid()) {
     return false;
-
+  }
   if (guid.compare(0, kEwkGuidStartString.length(), kEwkGuidStartString))
     return false;
 
@@ -95,8 +93,7 @@ void to_Autofill_Profile_set_data(const Ewk_Autofill_Profile* oldStyleProfile,
 autofill::AutofillProfile to_Autofill_Profile(
     const Ewk_Autofill_Profile* oldStyleProfile) {
   std::string locale = EWebView::GetPlatformLocale();
-  autofill::AutofillProfile ret(base::GenerateGUID(), locale);
-
+  autofill::AutofillProfile ret(locale);
   if (!oldStyleProfile)
     return ret;
 
index 6d61f7d..ccd86d7 100644 (file)
@@ -190,13 +190,13 @@ void ContentRendererClientEfl::RenderFrameCreated(content::RenderFrame* render_f
     blink::AssociatedInterfaceRegistry* registry =
         render_frame_observer->associated_interfaces();
 
-    PasswordAutofillAgent* password_autofill_agent =
-        new PasswordAutofillAgent(render_frame, registry);
-    PasswordGenerationAgent* password_generation_agent =
-        new PasswordGenerationAgent(render_frame, password_autofill_agent,
-                                    registry);
-    new AutofillAgent(render_frame, password_autofill_agent,
-                      password_generation_agent, registry);
+    std::unique_ptr<PasswordAutofillAgent> password_autofill_agent =
+        std::make_unique<PasswordAutofillAgent>(render_frame, registry);
+    std::unique_ptr<PasswordGenerationAgent> password_generation_agent =
+        std::make_unique<PasswordGenerationAgent>(
+            render_frame, password_autofill_agent.get(), registry);
+    new AutofillAgent(render_frame, std::move(password_autofill_agent),
+                      std::move(password_generation_agent), registry);
   }
 #endif
 #if (defined(TIZEN_PEPPER_EXTENSIONS) && BUILDFLAG(ENABLE_PLUGINS))