| 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..d0e9120ff6c832d5314901ecfecc91e9de67fad3 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"),
|
| + page_number_(-1),
|
| + total_pages_(-1),
|
| has_author_specified_types_(false) {
|
| // Copy the form fields.
|
| std::map<string16, size_t> unique_names;
|
| @@ -264,6 +266,14 @@ FormStructure::FormStructure(const FormData& form)
|
|
|
| FormStructure::~FormStructure() {}
|
|
|
| +bool FormStructure::IsStartOfAutofillableFlow() const {
|
| + return page_number_ == 0;
|
| +}
|
| +
|
| +bool FormStructure::IsInAutofillableFlow() const {
|
| + return page_number_ >=0 && page_number_ < total_pages_;
|
| +}
|
| +
|
| void FormStructure::DetermineHeuristicTypes(
|
| const AutofillMetrics& metric_logger) {
|
| // First, try to detect field types based on each field's |autocomplete|
|
| @@ -429,6 +439,8 @@ void FormStructure::ParseQueryResponse(const std::string& response_xml,
|
| FormStructure* form = *iter;
|
| form->upload_required_ = upload_required;
|
| form->server_experiment_id_ = experiment_id;
|
| + form->page_number_ = parse_handler.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) {
|
|
|