| Index: chrome/browser/autofill/form_structure.cc
|
| diff --git a/chrome/browser/autofill/form_structure.cc b/chrome/browser/autofill/form_structure.cc
|
| index d1ca6d10bedf80cc2b56709590438e5c04e0025c..885224011c5c3cf77939611e308a7a24dadd86a2 100644
|
| --- a/chrome/browser/autofill/form_structure.cc
|
| +++ b/chrome/browser/autofill/form_structure.cc
|
| @@ -229,6 +229,8 @@ FormStructure::FormStructure(const FormData& form)
|
| autofill_count_(0),
|
| upload_required_(USE_UPLOAD_RATES),
|
| server_experiment_id_("no server response"),
|
| + current_page_number_(-1),
|
| + total_pages_(-1),
|
| has_author_specified_types_(false) {
|
| // Copy the form fields.
|
| std::map<string16, size_t> unique_names;
|
| @@ -429,6 +431,8 @@ void FormStructure::ParseQueryResponse(const std::string& response_xml,
|
| FormStructure* form = *iter;
|
| form->upload_required_ = upload_required;
|
| form->server_experiment_id_ = experiment_id;
|
| + form->current_page_number_ = parse_handler.current_page_number();
|
| + form->total_pages_ = parse_handler.total_pages();
|
|
|
| for (std::vector<AutofillField*>::iterator field = form->fields_.begin();
|
| field != form->fields_.end(); ++field, ++current_type) {
|
| @@ -1016,6 +1020,14 @@ void FormStructure::ParseFieldTypesFromAutocompleteAttributes(
|
| }
|
| }
|
|
|
| +bool FormStructure::IsStartOfAutofillableFlow() const {
|
| + return current_page_number_ == 0 && total_pages_ > 0;
|
| +}
|
| +
|
| +bool FormStructure::IsInAutofillableFlow() const {
|
| + return current_page_number_ >= 0 && current_page_number_ < total_pages_;
|
| +}
|
| +
|
| void FormStructure::IdentifySections(bool has_author_specified_sections) {
|
| if (fields_.empty())
|
| return;
|
|
|