diff options
Diffstat (limited to 'chromium/components/autofill/content/renderer/form_autofill_util.cc')
-rw-r--r-- | chromium/components/autofill/content/renderer/form_autofill_util.cc | 11 |
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()) |