| Index: components/autofill/content/renderer/form_autofill_util.cc
|
| diff --git a/components/autofill/content/renderer/form_autofill_util.cc b/components/autofill/content/renderer/form_autofill_util.cc
|
| index 807a0d1e6bf8ea200228f63ef96d93000f890c73..0b2ab68c5ce86f8a9a24455808fa2bcf2d40d812 100644
|
| --- a/components/autofill/content/renderer/form_autofill_util.cc
|
| +++ b/components/autofill/content/renderer/form_autofill_util.cc
|
| @@ -1121,7 +1121,11 @@ bool IsFormVisible(blink::WebFrame* frame,
|
| frame->document().forms(forms);
|
|
|
| #if !defined(OS_MACOSX) && !defined(OS_ANDROID)
|
| - const bool action_is_empty = canonical_action == canonical_origin;
|
| + // Omitting the action attribute would result in |canonical_origin| for
|
| + // hierarchical schemes like http:, and in an empty URL for non-hierarchical
|
| + // schemes like about: or data: etc.
|
| + const bool action_is_empty = canonical_action.is_empty()
|
| + || canonical_action == canonical_origin;
|
| #endif
|
|
|
| // Since empty or unspecified action fields are automatically set to page URL,
|
| @@ -1137,7 +1141,8 @@ bool IsFormVisible(blink::WebFrame* frame,
|
|
|
| GURL iter_canonical_action = GetCanonicalActionForForm(form);
|
| #if !defined(OS_MACOSX) && !defined(OS_ANDROID)
|
| - bool form_action_is_empty = iter_canonical_action == frame_url;
|
| + bool form_action_is_empty = iter_canonical_action.is_empty()
|
| + || iter_canonical_action == frame_url;
|
|
|
| if (action_is_empty != form_action_is_empty)
|
| continue;
|
|
|