Index: chrome/browser/autofill/form_structure.cc |
diff --git a/chrome/browser/autofill/form_structure.cc b/chrome/browser/autofill/form_structure.cc |
index 0eab86b4baf93b2c842dcc10d8bfae290126687f..b5b2db78be6aa1309d76b943c04ada0050010197 100644 |
--- a/chrome/browser/autofill/form_structure.cc |
+++ b/chrome/browser/autofill/form_structure.cc |
@@ -107,7 +107,7 @@ bool FormStructure::EncodeUploadRequest(bool auto_fill_used, |
std::string* encoded_xml) const { |
DCHECK(encoded_xml); |
encoded_xml->clear(); |
- bool auto_fillable = IsAutoFillable(); |
+ bool auto_fillable = IsAutoFillable(false); |
DCHECK(auto_fillable); // Caller should've checked for search pages. |
if (!auto_fillable) |
return false; |
@@ -232,8 +232,6 @@ void FormStructure::ParseQueryResponse(const std::string& response_xml, |
form->UpdateAutoFillCount(); |
} |
- |
- return; |
} |
std::string FormStructure::FormSignature() const { |
@@ -247,11 +245,11 @@ std::string FormStructure::FormSignature() const { |
return Hash64Bit(form_string); |
} |
-bool FormStructure::IsAutoFillable() const { |
+bool FormStructure::IsAutoFillable(bool require_method_post) const { |
if (autofill_count() < kRequiredFillableFields) |
return false; |
- return ShouldBeParsed(); |
+ return ShouldBeParsed(require_method_post); |
} |
bool FormStructure::HasAutoFillableValues() const { |
@@ -268,46 +266,6 @@ bool FormStructure::HasAutoFillableValues() const { |
return false; |
} |
-// TODO(jhawkins): Cache this result. |
-bool FormStructure::HasBillingFields() const { |
- for (std::vector<AutoFillField*>::const_iterator iter = begin(); |
- iter != end(); ++iter) { |
- if (!*iter) |
- return false; |
- |
- AutoFillField* field = *iter; |
- if (!field) |
- continue; |
- |
- AutoFillType type(field->type()); |
- if (type.group() == AutoFillType::ADDRESS_BILLING || |
- type.group() == AutoFillType::CREDIT_CARD) |
- return true; |
- } |
- |
- return false; |
-} |
- |
-// TODO(jhawkins): Cache this result. |
-bool FormStructure::HasNonBillingFields() const { |
- for (std::vector<AutoFillField*>::const_iterator iter = begin(); |
- iter != end(); ++iter) { |
- if (!*iter) |
- return false; |
- |
- AutoFillField* field = *iter; |
- if (!field) |
- continue; |
- |
- AutoFillType type(field->type()); |
- if (type.group() != AutoFillType::ADDRESS_BILLING && |
- type.group() != AutoFillType::CREDIT_CARD) |
- return true; |
- } |
- |
- return false; |
-} |
- |
void FormStructure::UpdateAutoFillCount() { |
autofill_count_ = 0; |
for (std::vector<AutoFillField*>::const_iterator iter = begin(); |
@@ -318,7 +276,7 @@ void FormStructure::UpdateAutoFillCount() { |
} |
} |
-bool FormStructure::ShouldBeParsed() const { |
+bool FormStructure::ShouldBeParsed(bool require_method_post) const { |
if (field_count() < kRequiredFillableFields) |
return false; |
@@ -328,10 +286,7 @@ bool FormStructure::ShouldBeParsed() const { |
if (target_url_.path() == "/search") |
return false; |
- if (method_ == GET) |
- return false; |
- |
- return true; |
+ return !require_method_post || (method_ == POST); |
} |
void FormStructure::set_possible_types(int index, const FieldTypeSet& types) { |