diff options
author | nasko <nasko@chromium.org> | 2016-03-04 12:56:37 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-03-04 20:57:32 +0000 |
commit | 35fa1b226afdc5623af8389dc7454ac67eb2e62a (patch) | |
tree | 8b7e3c37c0d74a00e1cc52b3501ef9dd2cec160a /content/renderer/render_frame_impl.cc | |
parent | 3d07b951187bf83e3d8d291988090f899f78d24a (diff) | |
download | chromium_src-35fa1b226afdc5623af8389dc7454ac67eb2e62a.zip chromium_src-35fa1b226afdc5623af8389dc7454ac67eb2e62a.tar.gz chromium_src-35fa1b226afdc5623af8389dc7454ac67eb2e62a.tar.bz2 |
Revert of PlzNavigate: inform the WebFrameClient that a form will be submitted (patchset #4 id:60001 of https://codereview.chromium.org/1446253002/ )
Reason for revert:
This is causing a bunch of crashes on Canary. Details are in https://crbug.com/591910.
Original issue's description:
> PlzNavigate: inform the WebFrameClient that a form will be submitted
>
> This CL makes it so that the WebFrameClient is informed that a form will be
> submitted when the embedder handles the navigation.
>
> BUG=504347
>
> Committed: https://crrev.com/bca103622d505bb537dbc2032de5fcd051c39e0d
> Cr-Commit-Position: refs/heads/master@{#379001}
TBR=dcheng@chromium.org,japhet@chromium.org,clamy@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=504347
Review URL: https://codereview.chromium.org/1767693002
Cr-Commit-Position: refs/heads/master@{#379353}
Diffstat (limited to 'content/renderer/render_frame_impl.cc')
-rw-r--r-- | content/renderer/render_frame_impl.cc | 36 |
1 files changed, 15 insertions, 21 deletions
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc index 6b7e1ea..d3cfa63 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc @@ -2873,30 +2873,24 @@ void RenderFrameImpl::willSendSubmitEvent(const blink::WebFormElement& form) { } void RenderFrameImpl::willSubmitForm(const blink::WebFormElement& form) { - // With PlzNavigate-enabled, this will be called before a DataSource has been - // set-up. - // TODO(clamy): make sure the internal state is properly updated at some - // point in the navigation. - if (!IsBrowserSideNavigationEnabled()) { - DocumentState* document_state = - DocumentState::FromDataSource(frame_->provisionalDataSource()); - NavigationStateImpl* navigation_state = - static_cast<NavigationStateImpl*>(document_state->navigation_state()); - InternalDocumentStateData* internal_data = - InternalDocumentStateData::FromDocumentState(document_state); - - if (ui::PageTransitionCoreTypeIs(navigation_state->GetTransitionType(), - ui::PAGE_TRANSITION_LINK)) { - navigation_state->set_transition_type(ui::PAGE_TRANSITION_FORM_SUBMIT); - } + DocumentState* document_state = + DocumentState::FromDataSource(frame_->provisionalDataSource()); + NavigationStateImpl* navigation_state = + static_cast<NavigationStateImpl*>(document_state->navigation_state()); + InternalDocumentStateData* internal_data = + InternalDocumentStateData::FromDocumentState(document_state); - // Save these to be processed when the ensuing navigation is committed. - WebSearchableFormData web_searchable_form_data(form); - internal_data->set_searchable_form_url(web_searchable_form_data.url()); - internal_data->set_searchable_form_encoding( - web_searchable_form_data.encoding().utf8()); + if (ui::PageTransitionCoreTypeIs(navigation_state->GetTransitionType(), + ui::PAGE_TRANSITION_LINK)) { + navigation_state->set_transition_type(ui::PAGE_TRANSITION_FORM_SUBMIT); } + // Save these to be processed when the ensuing navigation is committed. + WebSearchableFormData web_searchable_form_data(form); + internal_data->set_searchable_form_url(web_searchable_form_data.url()); + internal_data->set_searchable_form_encoding( + web_searchable_form_data.encoding().utf8()); + FOR_EACH_OBSERVER(RenderFrameObserver, observers_, WillSubmitForm(form)); } |