Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(196)

Unified Diff: components/autofill/core/browser/autofill_manager.cc

Issue 242613006: [Autofill] Enable Autofill for dynamically created forms. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Test fix Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/autofill/core/browser/autofill_manager.cc
diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/autofill/core/browser/autofill_manager.cc
index 95126de421d1ca79cdc115bb0cad82cb4401f1e1..55f2cf32b9414dfdcbb31c6adc3e258c9fa0b655 100644
--- a/components/autofill/core/browser/autofill_manager.cc
+++ b/components/autofill/core/browser/autofill_manager.cc
@@ -303,7 +303,7 @@ bool AutofillManager::OnFormSubmitted(const FormData& form,
base::Bind(&AutofillManager::UploadFormDataAsyncCallback,
weak_ptr_factory_.GetWeakPtr(),
base::Owned(submitted_form.release()),
- forms_loaded_timestamp_,
+ forms_loaded_timestamps_[form],
initial_interaction_timestamp_,
timestamp));
}
@@ -312,16 +312,10 @@ bool AutofillManager::OnFormSubmitted(const FormData& form,
}
void AutofillManager::OnFormsSeen(const std::vector<FormData>& forms,
- const TimeTicks& timestamp,
- autofill::FormsSeenState state) {
+ const TimeTicks& timestamp) {
if (!IsValidFormDataVector(forms))
return;
- bool is_post_document_load = state == autofill::DYNAMIC_FORMS_SEEN;
- // If new forms were added dynamically, treat as a new page.
- if (is_post_document_load)
- Reset();
-
if (!driver_->RendererIsAvailable())
return;
@@ -334,7 +328,10 @@ void AutofillManager::OnFormsSeen(const std::vector<FormData>& forms,
if (!enabled)
return;
- forms_loaded_timestamp_ = timestamp;
+ for (size_t i = 0; i < forms.size(); ++i) {
+ forms_loaded_timestamps_[forms[i]] = timestamp;
+ }
+
ParseForms(forms);
}
@@ -823,7 +820,7 @@ void AutofillManager::Reset() {
user_did_type_ = false;
user_did_autofill_ = false;
user_did_edit_autofilled_field_ = false;
- forms_loaded_timestamp_ = TimeTicks();
+ forms_loaded_timestamps_.clear();
initial_interaction_timestamp_ = TimeTicks();
external_delegate_->Reset();
}
« no previous file with comments | « components/autofill/core/browser/autofill_manager.h ('k') | components/autofill/core/browser/autofill_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698