summaryrefslogtreecommitdiff
path: root/chromium/components/autofill/content/renderer/form_autofill_util.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/components/autofill/content/renderer/form_autofill_util.cc')
-rw-r--r--chromium/components/autofill/content/renderer/form_autofill_util.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/chromium/components/autofill/content/renderer/form_autofill_util.cc b/chromium/components/autofill/content/renderer/form_autofill_util.cc
index 31d27cbfeb5..a832d801838 100644
--- a/chromium/components/autofill/content/renderer/form_autofill_util.cc
+++ b/chromium/components/autofill/content/renderer/form_autofill_util.cc
@@ -1145,6 +1145,11 @@ bool UnownedFormElementsAndFieldSetsToFormData(
FormData* form,
FormFieldData* field) {
form->origin = GetCanonicalOriginForDocument(document);
+ DCHECK(document.GetFrame()->Top());
+ url::Origin main_frame_origin =
+ document.GetFrame()->Top()->GetSecurityOrigin();
+ form->main_frame_origin = main_frame_origin.GetURL();
+
form->is_form_tag = false;
return FormOrFieldsetsToFormData(
@@ -1463,14 +1468,16 @@ bool WebFormElementToFormData(
ExtractMask extract_mask,
FormData* form,
FormFieldData* field) {
- const WebLocalFrame* frame = form_element.GetDocument().GetFrame();
+ WebLocalFrame* frame = form_element.GetDocument().GetFrame();
if (!frame)
return false;
form->name = GetFormIdentifier(form_element);
form->origin = GetCanonicalOriginForDocument(frame->GetDocument());
form->action = frame->GetDocument().CompleteURL(form_element.Action());
-
+ DCHECK(frame->Top());
+ url::Origin main_frame_origin = frame->Top()->GetSecurityOrigin();
+ form->main_frame_origin = main_frame_origin.GetURL();
// If the completed URL is not valid, just use the action we get from
// WebKit.
if (!form->action.is_valid())