New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac , Fuchsia
Pri: 3
Type: Bug

Blocking:
issue 917414



Sign in to add a comment
link

Issue 855189: Remove provisional loader from FrameLoader::CommitNavigation

Reported by dgozman@chromium.org, Jun 21 2018 Project Member

Issue description

We can commit synchronously without even creating provisional loader. This should simplify the navigation logic quite a bit.

One-pager describing this in more details: https://docs.google.com/document/d/1Mdi6BZ6OhqdU6wypDlnV1d3hKjBioFlfFiLviXDZjDc/view
 

Comment 1 by dgozman@chromium.org, Jul 25 2018

The first step would be to stop using WebURLLoader for CommitNavigation path:
1. Do not rely on WebLocalFrameClient callbacks (WillSendRequest and DidReceiveResponse).
2. Do not rely on RequestExtraData for navigation requests.
3. Pass the data (currently NavigationResponseOverrideParameters) directly to CommitNavigation and make direct calls to ResourceFetcher from FrameLoader.

Comment 2 by bugdroid1@chromium.org, Jul 27 2018

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d370a5592bb10a94282c916f26265822d6b498f6

commit d370a5592bb10a94282c916f26265822d6b498f6
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Fri Jul 27 21:03:07 2018

Stop relying on WillSendRequest and DidReceiveResponse callbacks for main resource

WillSendRequest for main resource happens during BeginNavigation, so we can just
skip it during commit time.

The logic of saving metrics from DidReceiveResponse has been copied to CommitNavigation.
We could get rid of DidReceiveResponse entirely if we were always going through
CommitNavigation path, but we sometimes don't (see kWebNavigationPolicyCurrentTab
returned from RFI::DecidePolicyForNavigation).

Bug: 855189
Change-Id: Ib78bda6e22e4a301adf7c66215568ca6f02fa01d
Reviewed-on: https://chromium-review.googlesource.com/1145900
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Camille Lamy <clamy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578783}
[modify] https://crrev.com/d370a5592bb10a94282c916f26265822d6b498f6/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/d370a5592bb10a94282c916f26265822d6b498f6/content/renderer/render_frame_impl.h

Comment 3 by bugdroid1@chromium.org, Sep 13

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e6a83c10b69410c5e9cdb66009d5f770356092bf

commit e6a83c10b69410c5e9cdb66009d5f770356092bf
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Thu Sep 13 21:15:00 2018

Save navigation gesture directly in the document loader

Instead of getting it in DidStartProvisionalLoad and then
using in DidCommitProvisionalLoad, we can just ask
DocumentLoader whether it had a user gesture.

This is a step towards removing DidStartProvisionalLoad.

Bug: 855189
Change-Id: I9e1f47f532e7d2b0e0def7f988dff51569fd0f4b
Reviewed-on: https://chromium-review.googlesource.com/1220671
Reviewed-by: Mustaq Ahmed <mustaq@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591155}
[modify] https://crrev.com/e6a83c10b69410c5e9cdb66009d5f770356092bf/content/browser/frame_host/navigation_controller_impl_unittest.cc
[modify] https://crrev.com/e6a83c10b69410c5e9cdb66009d5f770356092bf/content/common/navigation_gesture.h
[modify] https://crrev.com/e6a83c10b69410c5e9cdb66009d5f770356092bf/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/e6a83c10b69410c5e9cdb66009d5f770356092bf/content/renderer/render_view_impl.h
[modify] https://crrev.com/e6a83c10b69410c5e9cdb66009d5f770356092bf/third_party/blink/public/web/web_document_loader.h
[modify] https://crrev.com/e6a83c10b69410c5e9cdb66009d5f770356092bf/third_party/blink/renderer/core/exported/web_document_loader_impl.cc
[modify] https://crrev.com/e6a83c10b69410c5e9cdb66009d5f770356092bf/third_party/blink/renderer/core/exported/web_document_loader_impl.h
[modify] https://crrev.com/e6a83c10b69410c5e9cdb66009d5f770356092bf/third_party/blink/renderer/core/loader/document_loader.cc
[modify] https://crrev.com/e6a83c10b69410c5e9cdb66009d5f770356092bf/third_party/blink/renderer/core/loader/document_loader.h

Comment 4 by bugdroid1@chromium.org, Sep 14

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c40e051df3d7a68a56d3b972e88c82174af030a1

commit c40e051df3d7a68a56d3b972e88c82174af030a1
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Fri Sep 14 01:07:17 2018

Refactor FrameLoader::CancelProvisionalLoaderForNewNavigation

This patch removes dependency on NavigationPolicy from the method,
which will allows us to call CommitNavigation directly instead of
returning kNavigationPolicyCurrentTab from DecidePolicyForNavigation.

Bug: 855189
Change-Id: I91df83c2a30c511166c68ea2abd227b71883c37e
Reviewed-on: https://chromium-review.googlesource.com/1222682
Reviewed-by: Nate Chapin <japhet@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591247}
[modify] https://crrev.com/c40e051df3d7a68a56d3b972e88c82174af030a1/third_party/blink/renderer/core/loader/frame_loader.cc
[modify] https://crrev.com/c40e051df3d7a68a56d3b972e88c82174af030a1/third_party/blink/renderer/core/loader/frame_loader.h

Comment 5 by bugdroid1@chromium.org, Sep 17

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e642495a7290f858940e248bf72a81e13d1c4a2b

commit e642495a7290f858940e248bf72a81e13d1c4a2b
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Mon Sep 17 23:19:11 2018

Handle kNavigationPolicyHandledByClientForInitialHistory separately

This patch verifies a number of assumptions and just marks the frame
as loading for the kNavigationPolicyHandledByClientForInitialHistory
case. The assumptions are:
- there is no provisional document loader;
- the existing (empty) document has finished parsing and completed loading.

This patch will make it possible to call CommitNavigation directly
for the case of kNavigationPolicyCurrentTab.

Bug: 855189
Change-Id: I9c36bbea2e65e370ad7483b39428735fd2739c0a
Reviewed-on: https://chromium-review.googlesource.com/1228891
Reviewed-by: Nate Chapin <japhet@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591866}
[modify] https://crrev.com/e642495a7290f858940e248bf72a81e13d1c4a2b/third_party/blink/renderer/core/loader/frame_loader.cc

Comment 6 by bugdroid1@chromium.org, Sep 18

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9cfe75d93bcc5c92c1cba598a024b93b74d28adf

commit 9cfe75d93bcc5c92c1cba598a024b93b74d28adf
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Tue Sep 18 21:36:08 2018

Replace content::NavigationState public interface with some bools

Instead of exposing NavigationState, observers get two additional
values in Did{Start,Commit}ProvisionalLoad callbacks.

This will allow us to remove NavigationState entirely to simplify
navigation tracking between blink and content. As a first step,
we can stop tracking transition type.

TBR=boliu@chromium.org,thakis@chromium.org,rockot@chromium.org,blundell@chromium.org

Bug: 855189
Change-Id: I6344ca4716121af9513c9bc672e5e9b28d49f055
Reviewed-on: https://chromium-review.googlesource.com/1226198
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Camille Lamy <clamy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592204}
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/android_webview/renderer/aw_render_frame_ext.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/android_webview/renderer/aw_render_frame_ext.h
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/chrome/renderer/autofill/form_autocomplete_browsertest.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/chrome/renderer/autofill/password_autofill_agent_browsertest.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/chrome/renderer/chrome_render_frame_observer.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/chrome/renderer/chrome_render_frame_observer.h
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/chrome/renderer/content_settings_observer.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/chrome/renderer/content_settings_observer.h
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/chrome/renderer/content_settings_observer_browsertest.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/chrome/renderer/net/net_error_helper.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/chrome/renderer/net/net_error_helper.h
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/chrome/renderer/page_load_metrics/metrics_render_frame_observer.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/chrome/renderer/page_load_metrics/metrics_render_frame_observer.h
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/chrome/renderer/page_load_metrics/metrics_render_frame_observer_unittest.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/chrome/renderer/safe_browsing/phishing_classifier_delegate.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/chrome/renderer/safe_browsing/phishing_classifier_delegate.h
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/chrome/renderer/searchbox/searchbox.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/chrome/renderer/searchbox/searchbox.h
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/components/autofill/content/renderer/autofill_agent.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/components/autofill/content/renderer/autofill_agent.h
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/components/autofill/content/renderer/form_tracker.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/components/autofill/content/renderer/form_tracker.h
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/components/autofill/content/renderer/password_autofill_agent.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/components/autofill/content/renderer/password_autofill_agent.h
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/components/autofill/content/renderer/password_generation_agent.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/components/autofill/content/renderer/password_generation_agent.h
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/components/data_reduction_proxy/content/renderer/content_previews_render_frame_observer.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/components/data_reduction_proxy/content/renderer/content_previews_render_frame_observer.h
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/components/dom_distiller/content/renderer/distiller_js_render_frame_observer.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/components/dom_distiller/content/renderer/distiller_js_render_frame_observer.h
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/components/printing/renderer/print_render_frame_helper.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/components/printing/renderer/print_render_frame_helper.h
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/components/subresource_filter/content/renderer/subresource_filter_agent.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/components/subresource_filter/content/renderer/subresource_filter_agent.h
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/components/subresource_filter/content/renderer/subresource_filter_agent_unittest.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/content/public/renderer/navigation_state.h
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/content/public/renderer/render_frame_observer.h
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/content/renderer/manifest/manifest_manager.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/content/renderer/manifest/manifest_manager.h
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/content/renderer/media/audio/audio_renderer_sink_cache_impl.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/content/renderer/navigation_state_impl.h
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/content/renderer/pepper/plugin_power_saver_helper.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/content/renderer/pepper/plugin_power_saver_helper.h
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/content/renderer/render_frame_impl.h
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/content/renderer/render_frame_impl_browsertest.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/extensions/renderer/extension_frame_helper.cc
[modify] https://crrev.com/9cfe75d93bcc5c92c1cba598a024b93b74d28adf/extensions/renderer/extension_frame_helper.h

Comment 7 by bugdroid1@chromium.org, Sep 19

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/730b21cc8c2ff27358e3aa7ae6e50ed21a9acc54

commit 730b21cc8c2ff27358e3aa7ae6e50ed21a9acc54
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Wed Sep 19 19:44:25 2018

Replace transition type tracking with on-demand calculation

This removes reliance on the callbacks from blink in
RenderFrameImpl (e.g. WillSubmitForm) to track transition type.
Instead, we can calculate it when needed based on the
WebDocumentLoader instance.

Also removes NavigationStateImpl::GetTransitionType() to avoid
misusing it.

Bug: 855189
Change-Id: I5c53f0f576cec0630c8de07b2ac902a1dffc30f9
Reviewed-on: https://chromium-review.googlesource.com/1228953
Reviewed-by: Camille Lamy <clamy@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592521}
[modify] https://crrev.com/730b21cc8c2ff27358e3aa7ae6e50ed21a9acc54/content/renderer/navigation_state_impl.cc
[modify] https://crrev.com/730b21cc8c2ff27358e3aa7ae6e50ed21a9acc54/content/renderer/navigation_state_impl.h
[modify] https://crrev.com/730b21cc8c2ff27358e3aa7ae6e50ed21a9acc54/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/730b21cc8c2ff27358e3aa7ae6e50ed21a9acc54/content/renderer/render_frame_impl.h

Comment 8 by bugdroid1@chromium.org, Sep 19

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/75f4067206ea5d3abf81ffb4badf2f15afe99cfa

commit 75f4067206ea5d3abf81ffb4badf2f15afe99cfa
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Wed Sep 19 23:12:46 2018

FrameLoader: issue WillSubmitForm earlier

This should not make any difference, but will allow to
call CommitNavigation directly from StartNavigation when
needed.

Bug: 855189
Change-Id: Icd7184404784fde750c3d013e02042007f3aa0a7
Reviewed-on: https://chromium-review.googlesource.com/1231830
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Nate Chapin <japhet@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592594}
[modify] https://crrev.com/75f4067206ea5d3abf81ffb4badf2f15afe99cfa/third_party/blink/renderer/core/loader/frame_loader.cc

Comment 9 by bugdroid1@chromium.org, Sep 21

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2937b1a77dfc79b9be278f8709e5b370ae872fc5

commit 2937b1a77dfc79b9be278f8709e5b370ae872fc5
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Fri Sep 21 00:48:41 2018

FrameLoader: consume transient user activation earlier

The main reason is alignment between start and commit navigation paths,
so that we can later call CommitNavigation directly from StartNavigation.

As a side effect, this patch also ensures that we consume the
activation for any navigation attempt, even if is was ignored
due to frame detach or some other reason.

Bug: 855189
Change-Id: Ib705c0f20d567341d88e0fc3097ebc4246dcfeff
Reviewed-on: https://chromium-review.googlesource.com/1232200
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Charlie Harrison <csharrison@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593029}
[modify] https://crrev.com/2937b1a77dfc79b9be278f8709e5b370ae872fc5/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/2937b1a77dfc79b9be278f8709e5b370ae872fc5/third_party/blink/public/web/web_local_frame_client.h
[modify] https://crrev.com/2937b1a77dfc79b9be278f8709e5b370ae872fc5/third_party/blink/renderer/core/exported/local_frame_client_impl.cc
[modify] https://crrev.com/2937b1a77dfc79b9be278f8709e5b370ae872fc5/third_party/blink/renderer/core/exported/local_frame_client_impl.h
[modify] https://crrev.com/2937b1a77dfc79b9be278f8709e5b370ae872fc5/third_party/blink/renderer/core/frame/local_frame_client.h
[modify] https://crrev.com/2937b1a77dfc79b9be278f8709e5b370ae872fc5/third_party/blink/renderer/core/loader/document_loader.cc
[modify] https://crrev.com/2937b1a77dfc79b9be278f8709e5b370ae872fc5/third_party/blink/renderer/core/loader/document_loader.h
[modify] https://crrev.com/2937b1a77dfc79b9be278f8709e5b370ae872fc5/third_party/blink/renderer/core/loader/empty_clients.cc
[modify] https://crrev.com/2937b1a77dfc79b9be278f8709e5b370ae872fc5/third_party/blink/renderer/core/loader/empty_clients.h
[modify] https://crrev.com/2937b1a77dfc79b9be278f8709e5b370ae872fc5/third_party/blink/renderer/core/loader/frame_loader.cc

Comment 10 by bugdroid1@chromium.org, Sep 21

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6069a723e2eb74ac16928de80567d5706d02b86d

commit 6069a723e2eb74ac16928de80567d5706d02b86d
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Fri Sep 21 19:23:37 2018

FrameLoader: call CommitNavigation directly from StartNavigation...

in the case of kNavigationPolicyCurrentTab policy. That happens
in a number of cases: loading mhtml archive, about:srcdoc, about:blank,
empty url, renderer debug urls, urls with chrome-native:
or about: scheme.

It would be ideal to get rid of this behavior, but that requires
some investigation. For now, we'll just make it explicit by calling
CommitNavigation from RenderFrameImpl. As a first step, switching
to CommitNavigation in FrameLoader.

Bug: 855189
Change-Id: Id1c5b00c8294b1890a60703f966e5134c5720380
Reviewed-on: https://chromium-review.googlesource.com/1232202
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Camille Lamy <clamy@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593294}
[modify] https://crrev.com/6069a723e2eb74ac16928de80567d5706d02b86d/third_party/blink/renderer/core/loader/frame_loader.cc

Comment 11 by bugdroid1@chromium.org, Sep 24

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/12dbd16e70971cd69b5ba08f8c43d225fe6301a7

commit 12dbd16e70971cd69b5ba08f8c43d225fe6301a7
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Mon Sep 24 21:27:44 2018

FrameLoader: explicit MarkAsLoading for initial child history loads

Currently, RenderFrameImpl returns
kWebNavigationPolicyHandledByClientForInitialHistory policy,
which instructs FrameLoader to just mark itself as loading.

This patch makes it explicit from the client side. The end goal
is to delegate all commit decisions to the client.

Bug: 855189
Change-Id: Ided8227efe4f1e99335141f5710fc1d47072a903
Reviewed-on: https://chromium-review.googlesource.com/1235323
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593690}
[modify] https://crrev.com/12dbd16e70971cd69b5ba08f8c43d225fe6301a7/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/12dbd16e70971cd69b5ba08f8c43d225fe6301a7/third_party/blink/public/web/web_local_frame.h
[modify] https://crrev.com/12dbd16e70971cd69b5ba08f8c43d225fe6301a7/third_party/blink/public/web/web_navigation_policy.h
[modify] https://crrev.com/12dbd16e70971cd69b5ba08f8c43d225fe6301a7/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
[modify] https://crrev.com/12dbd16e70971cd69b5ba08f8c43d225fe6301a7/third_party/blink/renderer/core/frame/web_local_frame_impl.h
[modify] https://crrev.com/12dbd16e70971cd69b5ba08f8c43d225fe6301a7/third_party/blink/renderer/core/loader/frame_loader.cc
[modify] https://crrev.com/12dbd16e70971cd69b5ba08f8c43d225fe6301a7/third_party/blink/renderer/core/loader/frame_loader.h
[modify] https://crrev.com/12dbd16e70971cd69b5ba08f8c43d225fe6301a7/third_party/blink/renderer/core/loader/navigation_policy.cc
[modify] https://crrev.com/12dbd16e70971cd69b5ba08f8c43d225fe6301a7/third_party/blink/renderer/core/loader/navigation_policy.h

Comment 12 by bugdroid1@chromium.org, Oct 5

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ebaebc934999626acec567e6d25209ca49d01b76

commit ebaebc934999626acec567e6d25209ca49d01b76
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Fri Oct 05 13:47:06 2018

Remove WebLocalFrameClient::WillSubmitForm

RenderFrameImpl already knows about form submission during
DecidePolicyForNavigation callback.

Bug: 855189
Change-Id: I2bd71a7deb381a58988a03ea58e58079b2ede031
Reviewed-on: https://chromium-review.googlesource.com/c/1260383
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#597094}
[modify] https://crrev.com/ebaebc934999626acec567e6d25209ca49d01b76/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/ebaebc934999626acec567e6d25209ca49d01b76/content/renderer/render_frame_impl.h
[modify] https://crrev.com/ebaebc934999626acec567e6d25209ca49d01b76/third_party/blink/public/web/web_local_frame_client.h
[modify] https://crrev.com/ebaebc934999626acec567e6d25209ca49d01b76/third_party/blink/renderer/core/exported/local_frame_client_impl.cc
[modify] https://crrev.com/ebaebc934999626acec567e6d25209ca49d01b76/third_party/blink/renderer/core/exported/local_frame_client_impl.h
[modify] https://crrev.com/ebaebc934999626acec567e6d25209ca49d01b76/third_party/blink/renderer/core/frame/local_frame_client.h
[modify] https://crrev.com/ebaebc934999626acec567e6d25209ca49d01b76/third_party/blink/renderer/core/loader/empty_clients.cc
[modify] https://crrev.com/ebaebc934999626acec567e6d25209ca49d01b76/third_party/blink/renderer/core/loader/empty_clients.h
[modify] https://crrev.com/ebaebc934999626acec567e6d25209ca49d01b76/third_party/blink/renderer/core/loader/frame_loader.cc

Comment 13 by bugdroid1@chromium.org, Oct 8

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/15fd8ac6e4078448cd312e24750abef691b23ca7

commit 15fd8ac6e4078448cd312e24750abef691b23ca7
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Mon Oct 08 23:05:32 2018

[DevTools] Rework provisional load explicit calls to probes

Bug: 855189
Change-Id: Ibd8a9b67bcf8e3d8c4c62527f9cc89e97eb39b96
Reviewed-on: https://chromium-review.googlesource.com/c/1269459
Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#597717}
[modify] https://crrev.com/15fd8ac6e4078448cd312e24750abef691b23ca7/third_party/blink/renderer/core/exported/local_frame_client_impl.cc
[modify] https://crrev.com/15fd8ac6e4078448cd312e24750abef691b23ca7/third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc
[modify] https://crrev.com/15fd8ac6e4078448cd312e24750abef691b23ca7/third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.h
[modify] https://crrev.com/15fd8ac6e4078448cd312e24750abef691b23ca7/third_party/blink/renderer/core/inspector/inspector_session.cc
[modify] https://crrev.com/15fd8ac6e4078448cd312e24750abef691b23ca7/third_party/blink/renderer/core/inspector/inspector_session.h
[modify] https://crrev.com/15fd8ac6e4078448cd312e24750abef691b23ca7/third_party/blink/renderer/core/inspector/worker_inspector_controller.cc
[modify] https://crrev.com/15fd8ac6e4078448cd312e24750abef691b23ca7/third_party/blink/renderer/core/loader/document_loader.cc
[modify] https://crrev.com/15fd8ac6e4078448cd312e24750abef691b23ca7/third_party/blink/renderer/core/loader/frame_loader.cc
[modify] https://crrev.com/15fd8ac6e4078448cd312e24750abef691b23ca7/third_party/blink/renderer/core/probe/core_probes.json5
[modify] https://crrev.com/15fd8ac6e4078448cd312e24750abef691b23ca7/third_party/blink/renderer/core/probe/core_probes.pidl

Comment 14 by bugdroid1@chromium.org, Oct 9

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7641af4f37d4d9c97838dfb64bfb48a21d572778

commit 7641af4f37d4d9c97838dfb64bfb48a21d572778
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Tue Oct 09 17:15:00 2018

[test_runner] Migrate some test hooks to RenderFrameObserver

This CL migrates test hooks related to dumping frame loader callbacks
from overriding WebLocalFrameClient methods to using a
RenderFrameObserver.

This approach removes some test-only plumbing, and also allows for
refactoring of WebLocalFrameClient callbacks without affecting
a lot of tests as long as RenderFrameObserver API stays the same.

Drive-by: removed unused DidDetectXSS.

Bug: 855189
Change-Id: I8d28ed9ec211011b260a6cf0bc8ad7d45d60a37d
Reviewed-on: https://chromium-review.googlesource.com/c/1266722
Reviewed-by: danakj <danakj@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#597960}
[modify] https://crrev.com/7641af4f37d4d9c97838dfb64bfb48a21d572778/content/public/renderer/render_frame_observer.h
[modify] https://crrev.com/7641af4f37d4d9c97838dfb64bfb48a21d572778/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/7641af4f37d4d9c97838dfb64bfb48a21d572778/content/shell/test_runner/web_frame_test_client.cc
[modify] https://crrev.com/7641af4f37d4d9c97838dfb64bfb48a21d572778/content/shell/test_runner/web_frame_test_client.h
[modify] https://crrev.com/7641af4f37d4d9c97838dfb64bfb48a21d572778/content/shell/test_runner/web_frame_test_proxy.cc
[modify] https://crrev.com/7641af4f37d4d9c97838dfb64bfb48a21d572778/content/shell/test_runner/web_frame_test_proxy.h
[modify] https://crrev.com/7641af4f37d4d9c97838dfb64bfb48a21d572778/third_party/WebKit/LayoutTests/http/tests/loading/307-after-303-after-post-expected.txt
[modify] https://crrev.com/7641af4f37d4d9c97838dfb64bfb48a21d572778/third_party/WebKit/LayoutTests/http/tests/loading/bad-server-subframe-expected.txt
[modify] https://crrev.com/7641af4f37d4d9c97838dfb64bfb48a21d572778/third_party/WebKit/LayoutTests/http/tests/loading/redirect-methods-expected.txt
[modify] https://crrev.com/7641af4f37d4d9c97838dfb64bfb48a21d572778/third_party/blink/public/web/web_local_frame_client.h
[modify] https://crrev.com/7641af4f37d4d9c97838dfb64bfb48a21d572778/third_party/blink/renderer/core/exported/local_frame_client_impl.cc
[modify] https://crrev.com/7641af4f37d4d9c97838dfb64bfb48a21d572778/third_party/blink/renderer/core/exported/local_frame_client_impl.h
[modify] https://crrev.com/7641af4f37d4d9c97838dfb64bfb48a21d572778/third_party/blink/renderer/core/frame/local_frame_client.h
[modify] https://crrev.com/7641af4f37d4d9c97838dfb64bfb48a21d572778/third_party/blink/renderer/core/html/parser/xss_auditor_delegate.cc
[modify] https://crrev.com/7641af4f37d4d9c97838dfb64bfb48a21d572778/third_party/blink/renderer/core/loader/empty_clients.h

Comment 15 by bugdroid1@chromium.org, Oct 9

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/796cc4839d3b7c6b8faa566cb59c2042e34664de

commit 796cc4839d3b7c6b8faa566cb59c2042e34664de
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Tue Oct 09 18:17:33 2018

[test_runner] Use DidStartLoading for tracking loading frame

... instead of DidStartProvisionalLoad. This is a preparation
for removing DidStartProvisionalLoad in some (later in all) cases.

This change makes test_runner::WorkQueue interact differently with
anchor navigations, because WorkQueue is posting a task, and the
timing is different. Marking these anchor navigations as "loading"
scripts fixes the issue, and seems natural.

Bug: 855189
Change-Id: Ie46a7886926cbbda4c2cd7f8697c22c5f76ef1c7
Reviewed-on: https://chromium-review.googlesource.com/c/1267348
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Nate Chapin <japhet@chromium.org>
Cr-Commit-Position: refs/heads/master@{#597997}
[modify] https://crrev.com/796cc4839d3b7c6b8faa566cb59c2042e34664de/content/shell/test_runner/web_frame_test_client.cc
[modify] https://crrev.com/796cc4839d3b7c6b8faa566cb59c2042e34664de/content/shell/test_runner/web_frame_test_client.h
[modify] https://crrev.com/796cc4839d3b7c6b8faa566cb59c2042e34664de/content/shell/test_runner/web_frame_test_proxy.cc
[modify] https://crrev.com/796cc4839d3b7c6b8faa566cb59c2042e34664de/content/shell/test_runner/web_frame_test_proxy.h
[modify] https://crrev.com/796cc4839d3b7c6b8faa566cb59c2042e34664de/third_party/WebKit/LayoutTests/http/tests/navigation/resources/testcode.js

Comment 16 by bugdroid1@chromium.org, Oct 9

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/95406a6464f5c720f736b0535dbe2e3714a13d11

commit 95406a6464f5c720f736b0535dbe2e3714a13d11
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Tue Oct 09 19:01:43 2018

Move VirtualTimePauser from LocalFrameClientImpl to FrameLoader

LocalFrameClientImpl is a glue class, it should not do any work
in DispatchXXX methods - this makes refactoring them difficult.

FrameLoader knows best about navigations and can control virtual
time pauser itself.

Bug: 855189
Change-Id: I8947146b593f5dd356f7edcd439961f8a731a2f1
Reviewed-on: https://chromium-review.googlesource.com/c/1267735
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#598019}
[modify] https://crrev.com/95406a6464f5c720f736b0535dbe2e3714a13d11/third_party/blink/renderer/core/exported/local_frame_client_impl.cc
[modify] https://crrev.com/95406a6464f5c720f736b0535dbe2e3714a13d11/third_party/blink/renderer/core/exported/local_frame_client_impl.h
[modify] https://crrev.com/95406a6464f5c720f736b0535dbe2e3714a13d11/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
[modify] https://crrev.com/95406a6464f5c720f736b0535dbe2e3714a13d11/third_party/blink/renderer/core/loader/frame_loader.cc
[modify] https://crrev.com/95406a6464f5c720f736b0535dbe2e3714a13d11/third_party/blink/renderer/core/loader/frame_loader.h

Comment 17 by bugdroid1@chromium.org, Oct 11

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2863ae23721602d503a4a553659481deb2df15a1

commit 2863ae23721602d503a4a553659481deb2df15a1
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Thu Oct 11 19:40:06 2018

Skip RenderFrameImpl::WillSendRequest for the main request

We don't need it during CommitNavigation - we already
called WillSendRequest during BeginNavigation instead.

This is a preparation to stop (ab)using WebURLRequest when
committing a navigation - the callbacks won't be issued as well.

Bug: 855189
Change-Id: If0b792cd3e43171fe3830005af61c660b93e8c6e
Reviewed-on: https://chromium-review.googlesource.com/c/1271875
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Camille Lamy <clamy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#598892}
[modify] https://crrev.com/2863ae23721602d503a4a553659481deb2df15a1/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/2863ae23721602d503a4a553659481deb2df15a1/content/renderer/render_frame_impl.h

Comment 18 by dgozman@chromium.org, Oct 22

Description: Show this description

Comment 19 by bugdroid1@chromium.org, Oct 23

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1a04703f56c783822df7b041451d1b4bf6f54df0

commit 1a04703f56c783822df7b041451d1b4bf6f54df0
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Tue Oct 23 03:59:40 2018

Unify multiple ways to construct DocumentLoader

This patch moves all logic related to constructing
DocumentLoader to it's constructor. It also removes
the methods which we only need when creating
a DocumentLoader.

Bug: 855189
Change-Id: I32521ab453b78c80e3f8266d07eb5a1268df0786
Reviewed-on: https://chromium-review.googlesource.com/c/1274836
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Nate Chapin <japhet@chromium.org>
Cr-Commit-Position: refs/heads/master@{#601842}
[modify] https://crrev.com/1a04703f56c783822df7b041451d1b4bf6f54df0/third_party/blink/renderer/core/exported/local_frame_client_impl.cc
[modify] https://crrev.com/1a04703f56c783822df7b041451d1b4bf6f54df0/third_party/blink/renderer/core/exported/local_frame_client_impl.h
[modify] https://crrev.com/1a04703f56c783822df7b041451d1b4bf6f54df0/third_party/blink/renderer/core/exported/web_document_loader_impl.cc
[modify] https://crrev.com/1a04703f56c783822df7b041451d1b4bf6f54df0/third_party/blink/renderer/core/exported/web_document_loader_impl.h
[modify] https://crrev.com/1a04703f56c783822df7b041451d1b4bf6f54df0/third_party/blink/renderer/core/frame/local_frame_client.h
[modify] https://crrev.com/1a04703f56c783822df7b041451d1b4bf6f54df0/third_party/blink/renderer/core/loader/document_loader.cc
[modify] https://crrev.com/1a04703f56c783822df7b041451d1b4bf6f54df0/third_party/blink/renderer/core/loader/document_loader.h
[modify] https://crrev.com/1a04703f56c783822df7b041451d1b4bf6f54df0/third_party/blink/renderer/core/loader/empty_clients.cc
[modify] https://crrev.com/1a04703f56c783822df7b041451d1b4bf6f54df0/third_party/blink/renderer/core/loader/empty_clients.h
[modify] https://crrev.com/1a04703f56c783822df7b041451d1b4bf6f54df0/third_party/blink/renderer/core/loader/frame_loader.cc

Comment 20 by creis@chromium.org, Oct 30

Cc: clamy@chromium.org japhet@chromium.org dcheng@chromium.org creis@chromium.org nasko@chromium.org
Components: UI>Browser>Navigation

Comment 21 by bugdroid1@chromium.org, Nov 6

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/431726fb53650adb2558caf7073419097c822da0

commit 431726fb53650adb2558caf7073419097c822da0
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Tue Nov 06 20:06:09 2018

FrameLoader: explicit CreatePlaceholderDocumentLoader

This patch replaces kNavigationPolicyHandledByClient with
an explicit call CreatePlaceholderDocumentLoader.

This technique removes inversion of control between WebLocalFrame
and it's client, and gives the client all the power for driving
navigations. For example:
- RenderFrameImpl::PendingNavigationInfo is gone, since
  RenderFrameImpl controls the process and doesn't have to store
  information between WebLocalFrameClient callbacks.
- We don't issue DidStartProvisionalLoad for placeholders anymore
  for the similar reason.

A couple of small changes required:
- WebNavigationParams::source_location is now optional.
  This is needed for preserving source location when creating
  a placeholder (and for synchronous commits in the future).
- Plumbed WebFrameLoadType instead of replaces_current_item to
  not lose information.

Next step will do the same for kNavigationPolicyCurrentTab
and let the client drive navigation all the time. After that
we'll get rid of multiple WebLocalFrameClient callbacks.

Bug: 855189
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
Change-Id: I5f1d1b5269f99227e3998fba2333c0f3661f7e9e
Reviewed-on: https://chromium-review.googlesource.com/c/1263052
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605796}
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/content/renderer/render_frame_impl.h
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/content/renderer/render_view_browsertest.cc
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/content/shell/test_runner/web_frame_test_client.cc
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/content/shell/test_runner/web_frame_test_client.h
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/content/shell/test_runner/web_frame_test_proxy.cc
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/content/shell/test_runner/web_frame_test_proxy.h
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/content/test/test_render_frame.cc
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/content/test/test_render_frame.h
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/third_party/blink/public/web/web_local_frame.h
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/third_party/blink/public/web/web_local_frame_client.h
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/third_party/blink/public/web/web_navigation_params.h
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/third_party/blink/public/web/web_navigation_policy.h
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/third_party/blink/renderer/core/editing/link_selection_test.cc
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/third_party/blink/renderer/core/exported/local_frame_client_impl.cc
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/third_party/blink/renderer/core/exported/local_frame_client_impl.h
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/third_party/blink/renderer/core/exported/web_document_subresource_filter_test.cc
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/third_party/blink/renderer/core/exported/web_frame_test.cc
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/third_party/blink/renderer/core/exported/web_view_test.cc
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/third_party/blink/renderer/core/frame/local_frame_client.h
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/third_party/blink/renderer/core/frame/web_local_frame_impl.h
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/third_party/blink/renderer/core/html/html_frame_owner_element.cc
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/third_party/blink/renderer/core/loader/document_loader.cc
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/third_party/blink/renderer/core/loader/empty_clients.cc
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/third_party/blink/renderer/core/loader/empty_clients.h
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/third_party/blink/renderer/core/loader/frame_loader.cc
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/third_party/blink/renderer/core/loader/frame_loader.h
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/third_party/blink/renderer/core/loader/navigation_policy.cc
[modify] https://crrev.com/431726fb53650adb2558caf7073419097c822da0/third_party/blink/renderer/core/loader/navigation_policy.h

Comment 22 by bugdroid1@chromium.org, Nov 13

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee

commit 9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Tue Nov 13 04:30:59 2018

FrameLoader: only commit a navigation from an explicit call

This replaces WebLocalFrameClient::DecidePolicyForNavigation with
BeginNavigation, where client may decide how to proceed.

Typically, the client would just call CommitNavigation to commit
the requested navigation.

However, for browser-side navigation, we do instead ask browser
to proceed, and temporarily call CreatePlaceholderDocumentLoader.

After this patch, we can start removing WebLocalFrameClient
callbacks, like {Did,Will}StartProvisionalLoad, since the client
now controls the navigation flow and doesn't need a callback.

Bug: 855189
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
Change-Id: Ic995073e191a238ac46ae6be2114af596e41425f
Reviewed-on: https://chromium-review.googlesource.com/c/1271411
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tommy Li <tommycli@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607486}
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/components/plugins/renderer/webview_plugin.cc
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/components/plugins/renderer/webview_plugin.h
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/components/printing/renderer/print_render_frame_helper.cc
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/content/renderer/pepper/pepper_url_request_unittest.cc
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/content/renderer/render_frame_impl.h
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/content/renderer/render_view_browsertest.cc
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/content/renderer/render_view_impl.cc
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/content/renderer/render_view_impl.h
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/content/shell/test_runner/test_common.cc
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/content/shell/test_runner/web_frame_test_client.cc
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/content/shell/test_runner/web_frame_test_client.h
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/content/shell/test_runner/web_frame_test_proxy.cc
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/content/shell/test_runner/web_frame_test_proxy.h
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/content/test/test_render_frame.cc
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/content/test/test_render_frame.h
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/third_party/blink/public/web/web_local_frame_client.h
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/third_party/blink/public/web/web_navigation_policy.h
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/third_party/blink/renderer/core/editing/link_selection_test.cc
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/third_party/blink/renderer/core/exported/local_frame_client_impl.cc
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/third_party/blink/renderer/core/exported/local_frame_client_impl.h
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/third_party/blink/renderer/core/exported/web_frame_test.cc
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/third_party/blink/renderer/core/exported/worker_shadow_page.cc
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/third_party/blink/renderer/core/exported/worker_shadow_page.h
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/third_party/blink/renderer/core/frame/frame_test_helpers.cc
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/third_party/blink/renderer/core/frame/frame_test_helpers.h
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/third_party/blink/renderer/core/frame/local_frame_client.h
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/third_party/blink/renderer/core/loader/empty_clients.cc
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/third_party/blink/renderer/core/loader/empty_clients.h
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/third_party/blink/renderer/core/loader/frame_loader.cc
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/third_party/blink/renderer/core/loader/navigation_policy.cc
[modify] https://crrev.com/9f872a03a892c1fcc393a9912a4c5d3e1d8bc8ee/third_party/blink/renderer/core/loader/navigation_policy.h

Comment 23 by bugdroid1@chromium.org, Nov 13

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7b10a53863f2434db389d287f89f3ba5b73f0cec

commit 7b10a53863f2434db389d287f89f3ba5b73f0cec
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Tue Nov 13 17:48:56 2018

Replace NavigationPolicyInfo with WebNavigationInfo

- Introduce a top-level struct for navigaiton info.
- Avoid passing the struct by non-const reference.
- Add comments describing the fields.

We can follow up with WebNavigationParams constructor
taking WebNavigationInfo which will make it easy for all
the clients to commit.

TBR=tommycli@chromium.org, thestig@chromium.org

Bug: 855189
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
Change-Id: I84aeb2771d83b4e0f1e713a259d7889d0956782f
Reviewed-on: https://chromium-review.googlesource.com/c/1279226
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607640}
[modify] https://crrev.com/7b10a53863f2434db389d287f89f3ba5b73f0cec/components/plugins/renderer/webview_plugin.cc
[modify] https://crrev.com/7b10a53863f2434db389d287f89f3ba5b73f0cec/components/plugins/renderer/webview_plugin.h
[modify] https://crrev.com/7b10a53863f2434db389d287f89f3ba5b73f0cec/components/printing/renderer/print_render_frame_helper.cc
[modify] https://crrev.com/7b10a53863f2434db389d287f89f3ba5b73f0cec/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/7b10a53863f2434db389d287f89f3ba5b73f0cec/content/renderer/render_frame_impl.h
[modify] https://crrev.com/7b10a53863f2434db389d287f89f3ba5b73f0cec/content/renderer/render_view_browsertest.cc
[modify] https://crrev.com/7b10a53863f2434db389d287f89f3ba5b73f0cec/content/shell/test_runner/web_frame_test_client.cc
[modify] https://crrev.com/7b10a53863f2434db389d287f89f3ba5b73f0cec/content/shell/test_runner/web_frame_test_client.h
[modify] https://crrev.com/7b10a53863f2434db389d287f89f3ba5b73f0cec/content/shell/test_runner/web_frame_test_proxy.cc
[modify] https://crrev.com/7b10a53863f2434db389d287f89f3ba5b73f0cec/content/shell/test_runner/web_frame_test_proxy.h
[modify] https://crrev.com/7b10a53863f2434db389d287f89f3ba5b73f0cec/content/test/test_render_frame.cc
[modify] https://crrev.com/7b10a53863f2434db389d287f89f3ba5b73f0cec/content/test/test_render_frame.h
[modify] https://crrev.com/7b10a53863f2434db389d287f89f3ba5b73f0cec/third_party/blink/public/BUILD.gn
[modify] https://crrev.com/7b10a53863f2434db389d287f89f3ba5b73f0cec/third_party/blink/public/web/web_local_frame_client.h
[modify] https://crrev.com/7b10a53863f2434db389d287f89f3ba5b73f0cec/third_party/blink/public/web/web_navigation_params.h
[modify] https://crrev.com/7b10a53863f2434db389d287f89f3ba5b73f0cec/third_party/blink/renderer/core/editing/link_selection_test.cc
[modify] https://crrev.com/7b10a53863f2434db389d287f89f3ba5b73f0cec/third_party/blink/renderer/core/exported/local_frame_client_impl.cc
[modify] https://crrev.com/7b10a53863f2434db389d287f89f3ba5b73f0cec/third_party/blink/renderer/core/exported/web_frame_test.cc
[modify] https://crrev.com/7b10a53863f2434db389d287f89f3ba5b73f0cec/third_party/blink/renderer/core/exported/worker_shadow_page.cc
[modify] https://crrev.com/7b10a53863f2434db389d287f89f3ba5b73f0cec/third_party/blink/renderer/core/exported/worker_shadow_page.h
[modify] https://crrev.com/7b10a53863f2434db389d287f89f3ba5b73f0cec/third_party/blink/renderer/core/frame/frame_test_helpers.cc
[modify] https://crrev.com/7b10a53863f2434db389d287f89f3ba5b73f0cec/third_party/blink/renderer/core/frame/frame_test_helpers.h

Comment 24 by bugdroid1@chromium.org, Nov 15

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a07fcc7eff327a136389ae23b91d2321020730f1

commit a07fcc7eff327a136389ae23b91d2321020730f1
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Thu Nov 15 17:58:17 2018

RenderFrameImpl: simplify error page handling part2

- Inline DidFailProvisionalLoadInternal to the callsites,
and carefully avoid the logic which is only needed in one place.

- Move EnableViewSourceMode(false) to the most inner method
which is used for error page loading, since we were missing it in
some call paths.

- When committing failed navigation, we use the newly constructed
"failed_request" instead of taking one from the provisional loader.
At some point, there will be no provisional loader to take the
request from, so we might as well switch right now.

Bug: 855189
Change-Id: Idf9eba3c3014c1e68a860ceff6051f1ff576062c
Reviewed-on: https://chromium-review.googlesource.com/c/1332700
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Charlie Reis <creis@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#608427}
[modify] https://crrev.com/a07fcc7eff327a136389ae23b91d2321020730f1/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/a07fcc7eff327a136389ae23b91d2321020730f1/content/renderer/render_frame_impl.h
[modify] https://crrev.com/a07fcc7eff327a136389ae23b91d2321020730f1/third_party/WebKit/LayoutTests/http/tests/loading/bad-server-subframe-expected.txt

Comment 25 by bugdroid1@chromium.org, Nov 15

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3445b6fa6e83d89cebd8eaf50287b1f479a29948

commit 3445b6fa6e83d89cebd8eaf50287b1f479a29948
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Thu Nov 15 22:03:59 2018

Do not expose DispatchBeforeUnload to layout tests

Instead of exposing internal methods to layout test through
TestRunner, we can just emulate user navigating away from the page.

Bug: 855189
Change-Id: I4cd08357e7929108ad7c9fe79f7f5eeec13e7888
Reviewed-on: https://chromium-review.googlesource.com/c/1334192
Reviewed-by: Nate Chapin <japhet@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#608536}
[modify] https://crrev.com/3445b6fa6e83d89cebd8eaf50287b1f479a29948/content/shell/test_runner/test_runner.cc
[modify] https://crrev.com/3445b6fa6e83d89cebd8eaf50287b1f479a29948/content/shell/test_runner/test_runner_for_specific_view.cc
[modify] https://crrev.com/3445b6fa6e83d89cebd8eaf50287b1f479a29948/content/shell/test_runner/test_runner_for_specific_view.h
[modify] https://crrev.com/3445b6fa6e83d89cebd8eaf50287b1f479a29948/third_party/WebKit/LayoutTests/fast/events/onbeforeunload-focused-iframe.html

Comment 26 by bugdroid1@chromium.org, Nov 28

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d96e493a8efe22cde2cb12ea9c061e46db6eec4b

commit d96e493a8efe22cde2cb12ea9c061e46db6eec4b
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Wed Nov 28 01:13:33 2018

Separate WebNavigationControl out of WebLocalFrame

This gives us precise control over callers of navigation-related
methods. This technique allows to update navigation sequence
without worrying that some client will mess up the calls.

For example, the immediate application is to get rid of some
WebLocalFrameClient callbacks like DidStartProvisionalLoad.
RenderFrameImpl will manage them itself, given that it has full
control of all the navigations that commit. This will remove
a lot of indirection we currently have, and bring us closer to
removing provisional document loaders.

This corresponds to the step 7.a from the one-pager (see bug).

TBR=mmenke,tommycli,thestig

Bug: 855189
Change-Id: Iaff018955e86cbc3a5ba73a5d58e070f3095782a
Reviewed-on: https://chromium-review.googlesource.com/c/1257550
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611482}
[modify] https://crrev.com/d96e493a8efe22cde2cb12ea9c061e46db6eec4b/chrome/renderer/net/net_error_helper.cc
[modify] https://crrev.com/d96e493a8efe22cde2cb12ea9c061e46db6eec4b/components/plugins/renderer/webview_plugin.cc
[modify] https://crrev.com/d96e493a8efe22cde2cb12ea9c061e46db6eec4b/components/plugins/renderer/webview_plugin.h
[modify] https://crrev.com/d96e493a8efe22cde2cb12ea9c061e46db6eec4b/components/printing/renderer/print_render_frame_helper.cc
[modify] https://crrev.com/d96e493a8efe22cde2cb12ea9c061e46db6eec4b/content/public/renderer/render_frame.h
[modify] https://crrev.com/d96e493a8efe22cde2cb12ea9c061e46db6eec4b/content/public/test/render_view_test.cc
[modify] https://crrev.com/d96e493a8efe22cde2cb12ea9c061e46db6eec4b/content/renderer/dom_serializer_browsertest.cc
[modify] https://crrev.com/d96e493a8efe22cde2cb12ea9c061e46db6eec4b/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/d96e493a8efe22cde2cb12ea9c061e46db6eec4b/content/renderer/render_frame_impl.h
[modify] https://crrev.com/d96e493a8efe22cde2cb12ea9c061e46db6eec4b/content/renderer/render_view_browsertest.cc
[modify] https://crrev.com/d96e493a8efe22cde2cb12ea9c061e46db6eec4b/content/shell/renderer/layout_test/blink_test_runner.cc
[modify] https://crrev.com/d96e493a8efe22cde2cb12ea9c061e46db6eec4b/content/test/test_render_frame.cc
[modify] https://crrev.com/d96e493a8efe22cde2cb12ea9c061e46db6eec4b/extensions/renderer/script_context_browsertest.cc
[modify] https://crrev.com/d96e493a8efe22cde2cb12ea9c061e46db6eec4b/third_party/blink/public/BUILD.gn
[modify] https://crrev.com/d96e493a8efe22cde2cb12ea9c061e46db6eec4b/third_party/blink/public/web/web_local_frame.h
[modify] https://crrev.com/d96e493a8efe22cde2cb12ea9c061e46db6eec4b/third_party/blink/public/web/web_local_frame_client.h
[add] https://crrev.com/d96e493a8efe22cde2cb12ea9c061e46db6eec4b/third_party/blink/public/web/web_navigation_control.h
[modify] https://crrev.com/d96e493a8efe22cde2cb12ea9c061e46db6eec4b/third_party/blink/renderer/core/exported/web_frame_test.cc
[modify] https://crrev.com/d96e493a8efe22cde2cb12ea9c061e46db6eec4b/third_party/blink/renderer/core/exported/web_view_test.cc
[modify] https://crrev.com/d96e493a8efe22cde2cb12ea9c061e46db6eec4b/third_party/blink/renderer/core/frame/frame_test_helpers.cc
[modify] https://crrev.com/d96e493a8efe22cde2cb12ea9c061e46db6eec4b/third_party/blink/renderer/core/frame/frame_test_helpers.h
[modify] https://crrev.com/d96e493a8efe22cde2cb12ea9c061e46db6eec4b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
[modify] https://crrev.com/d96e493a8efe22cde2cb12ea9c061e46db6eec4b/third_party/blink/renderer/core/frame/web_local_frame_impl.h

Comment 27 by bugdroid1@chromium.org, Nov 29

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/30b5684454bcd6bc3b3c50e9b13c037830fb52e9

commit 30b5684454bcd6bc3b3c50e9b13c037830fb52e9
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Thu Nov 29 18:02:45 2018

RenderFrameImpl: unify error page handling

This patch makes CommitFailedNavigation not use
LoadNavigationErrorPage, which is left for loading
renderer-initiated error pages. That allows us
to simplify LoadNavigationErrorPage and unify all three
renderer-initiated calls.

Bug: 855189
Change-Id: Ic56fe7b63376e0c4d92d4fb38b87e9d20aae85a5
Reviewed-on: https://chromium-review.googlesource.com/c/1338919
Reviewed-by: Charlie Reis <creis@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612270}
[modify] https://crrev.com/30b5684454bcd6bc3b3c50e9b13c037830fb52e9/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/30b5684454bcd6bc3b3c50e9b13c037830fb52e9/content/renderer/render_frame_impl.h

Comment 28 by bugdroid1@chromium.org, Dec 5

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7038daebd162cd66aea7f0370480233978d99beb

commit 7038daebd162cd66aea7f0370480233978d99beb
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Wed Dec 05 23:23:33 2018

RenderFrameImpl: simplify CommitNavigation path

- Remove ResetSourceLocation. We can do it locally in
  DocumentLoader::StartLoading instead.
- Move commit call out of LoadDataURL to CommitNavigation.
- Remove some code duplication in CommitNavigation.
- Add weak_this check which was missing in LoadDataURL path.

Bug: 855189
Change-Id: I1d97a6f28ff574d47b0eb2f592705dfcf8daf026
Reviewed-on: https://chromium-review.googlesource.com/c/1352527
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614170}
[modify] https://crrev.com/7038daebd162cd66aea7f0370480233978d99beb/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/7038daebd162cd66aea7f0370480233978d99beb/content/renderer/render_frame_impl.h
[modify] https://crrev.com/7038daebd162cd66aea7f0370480233978d99beb/third_party/blink/public/web/web_document_loader.h
[modify] https://crrev.com/7038daebd162cd66aea7f0370480233978d99beb/third_party/blink/renderer/core/exported/web_document_loader_impl.cc
[modify] https://crrev.com/7038daebd162cd66aea7f0370480233978d99beb/third_party/blink/renderer/core/exported/web_document_loader_impl.h
[modify] https://crrev.com/7038daebd162cd66aea7f0370480233978d99beb/third_party/blink/renderer/core/loader/document_loader.cc
[modify] https://crrev.com/7038daebd162cd66aea7f0370480233978d99beb/third_party/blink/renderer/core/loader/document_loader.h

Comment 29 by bugdroid1@chromium.org, Dec 10

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c0c7d3c7215b22456d2ff559ccd509ca7b22efd4

commit c0c7d3c7215b22456d2ff559ccd509ca7b22efd4
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Mon Dec 10 21:09:20 2018

WebURLLoaderMock: do not call DidReceiveResponse on failures

The real url loader does not notify about response if it failed
before receiving first byte of the body data.

Our current of calling DidReceiveResponse before DidFail without
a single byte of data disagrees with navigation flow, which never
sends a response if failed before receiving the body.

This patch unblocks synchronous navigation commit from
DidReceiveResponse, as opposite to DidReceiveData.

Bug: 855189
Change-Id: I48691bc21a5886d3b24e14b5c1d3e2df6e36bb33
Reviewed-on: https://chromium-review.googlesource.com/c/1368653
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615252}
[modify] https://crrev.com/c0c7d3c7215b22456d2ff559ccd509ca7b22efd4/third_party/blink/renderer/core/loader/threadable_loader_test.cc
[modify] https://crrev.com/c0c7d3c7215b22456d2ff559ccd509ca7b22efd4/third_party/blink/renderer/platform/testing/weburl_loader_mock.cc

Comment 30 by bugdroid1@chromium.org, Dec 11

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0cbbe6d5f8d991a55bfaefdb10f08b0e151e4407

commit 0cbbe6d5f8d991a55bfaefdb10f08b0e151e4407
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Tue Dec 11 01:28:52 2018

Make invalid WebUI requests fail before HeadersComplete

Current behavior is to call NotifyHeadersComplete, which
makes the request succeed. It only fails later while
delivering the data (which is nullptr already).

This has a side-effect: navigation to such an invalid url is
treated as a success on the browser side, which is different
from regular urls. Fixing it in turn exposed two bugs:

- UrlDataManagerBackendTest used non-existing resource, which
  now results in a navigation failure. Changed it to use an existing
  resource.
- Android WebView was not able to fetch safe_browsing_ui resources
  because of the missing GetDataResourceBytes implementation.
  Existing tests tried to navigate to these resources and navigation
  succeeded, while the resource itself was not available and
  loading failed later in the pipeline. Added the missing function
  to AwContentClient.

Bug: 855189
Change-Id: I078794601a4fef09e835fddd8a1a2f903a34a8d9
Reviewed-on: https://chromium-review.googlesource.com/c/1364223
Reviewed-by: Dan Beam <dbeam@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615366}
[modify] https://crrev.com/0cbbe6d5f8d991a55bfaefdb10f08b0e151e4407/android_webview/common/aw_content_client.cc
[modify] https://crrev.com/0cbbe6d5f8d991a55bfaefdb10f08b0e151e4407/android_webview/common/aw_content_client.h
[modify] https://crrev.com/0cbbe6d5f8d991a55bfaefdb10f08b0e151e4407/chrome/browser/ui/webui/chrome_url_data_manager_browsertest.cc
[modify] https://crrev.com/0cbbe6d5f8d991a55bfaefdb10f08b0e151e4407/content/browser/webui/url_data_manager_backend.cc
[modify] https://crrev.com/0cbbe6d5f8d991a55bfaefdb10f08b0e151e4407/content/browser/webui/url_data_manager_backend_unittest.cc

Comment 31 by bugdroid1@chromium.org, Dec 12

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5668bf63bb40859ffb43dd4c19926b2afcc200b7

commit 5668bf63bb40859ffb43dd4c19926b2afcc200b7
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Wed Dec 12 01:43:48 2018

Put all navigation parameters to WebNavigationParams

- Replaced multiple parameters with a single struct.
- Merged LoadHTMLString, CommitNavigation and CommitDataNavigation
  methods.
- Helper constructor turning WebNavigationInfo to WebNavigationParams.
- Moved srcdoc handling from FrameLoader to DocumentLoader.

Bug: 855189
TBR=tommycli@chromium.org,thestig@chromium.org

Change-Id: If009a2da035b223ce50d60c6eb9bf474fd1539d2
Reviewed-on: https://chromium-review.googlesource.com/c/1274609
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615764}
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/components/plugins/renderer/webview_plugin.cc
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/components/printing/renderer/print_render_frame_helper.cc
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/content/renderer/render_frame_impl.h
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/content/test/test_render_frame.cc
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/public/web/DEPS
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/public/web/web_local_frame_client.h
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/public/web/web_navigation_control.h
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/public/web/web_navigation_params.h
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/renderer/core/css/style_environment_variables_test.cc
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/renderer/core/exported/BUILD.gn
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/renderer/core/exported/local_frame_client_impl.cc
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/renderer/core/exported/local_frame_client_impl.h
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/renderer/core/exported/web_document_loader_impl.cc
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/renderer/core/exported/web_document_loader_impl.h
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/renderer/core/exported/web_document_subresource_filter_test.cc
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/renderer/core/exported/web_frame_test.cc
[add] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/renderer/core/exported/web_navigation_params.cc
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/renderer/core/exported/worker_shadow_page.cc
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/renderer/core/frame/frame_test.cc
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/renderer/core/frame/frame_test_helpers.cc
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/renderer/core/frame/local_frame_client.h
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/renderer/core/frame/web_local_frame_impl.h
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/renderer/core/loader/document_loader.cc
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/renderer/core/loader/document_loader.h
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/renderer/core/loader/empty_clients.cc
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/renderer/core/loader/empty_clients.h
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/renderer/core/loader/frame_loader.cc
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/renderer/core/loader/frame_loader.h
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/renderer/core/loader/ping_loader_test.cc
[modify] https://crrev.com/5668bf63bb40859ffb43dd4c19926b2afcc200b7/third_party/blink/renderer/core/testing/sim/sim_test.cc

Comment 32 by arthurso...@chromium.org, Dec 12

Cc: arthurso...@chromium.org

Comment 33 by bugdroid1@chromium.org, Dec 13

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/178d6b18578c95cfbbe880e07f204c2dd316a114

commit 178d6b18578c95cfbbe880e07f204c2dd316a114
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Thu Dec 13 02:55:48 2018

Remove RenderFrameImpl::DidReceiveResponse

We already handle the main resource response during CommitNavigation.
The only missing bit was the fake "200" status code for data urls,
which we can set in BuildDocumentState.

This approach differs with existing one in the following cases:

1. Data urls committed as WebData (as opposite to a fake WebURLRequest)
   don't get 200 currently. This seems like a bug - we should either mark
   all data urls as 200, or none.

2. Due to browser-side navigation, DidReceiveResponse may encounter a
   placeholder document loader for some outstanding requests (e.g. favicon from
   previous load). This leads to using wrong alpn negotiated protocol and/or
   status code, which is definitely a bug.

3. Test-only path which skips RenderFrameImpl entirely for subframes when
   loading an html string - it does not set 200 for data urls. This is a
   test-only issue, which is again fixed with the new approach.

Bug: 855189
Change-Id: I5e2d0e539f9e5c3ad1a8af1153390dff2bfb678b
Reviewed-on: https://chromium-review.googlesource.com/c/1272135
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616182}
[modify] https://crrev.com/178d6b18578c95cfbbe880e07f204c2dd316a114/content/renderer/loader/web_url_loader_impl.cc
[modify] https://crrev.com/178d6b18578c95cfbbe880e07f204c2dd316a114/content/renderer/loader/weburlresponse_extradata_impl.h
[modify] https://crrev.com/178d6b18578c95cfbbe880e07f204c2dd316a114/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/178d6b18578c95cfbbe880e07f204c2dd316a114/content/renderer/render_frame_impl.h
[modify] https://crrev.com/178d6b18578c95cfbbe880e07f204c2dd316a114/content/renderer/render_view_browsertest.cc
[modify] https://crrev.com/178d6b18578c95cfbbe880e07f204c2dd316a114/content/test/test_render_frame.cc
[modify] https://crrev.com/178d6b18578c95cfbbe880e07f204c2dd316a114/content/test/test_render_frame.h

Comment 34 by bugdroid1@chromium.org, Dec 13

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/aae48161b1e8ea097affafdccb15d431099ff02f

commit aae48161b1e8ea097affafdccb15d431099ff02f
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Thu Dec 13 21:01:16 2018

Move continue navigation callback to blink

This will make it easier to synchronously commit
navigations in blink until we are ready to stop using
WebURLLoader for main resources.

Bug: 855189
Change-Id: I097d65e83bf645b5ffd621fcf68d94d6280d15a1
Reviewed-on: https://chromium-review.googlesource.com/c/1359332
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616428}
[modify] https://crrev.com/aae48161b1e8ea097affafdccb15d431099ff02f/content/renderer/loader/request_extra_data.h
[modify] https://crrev.com/aae48161b1e8ea097affafdccb15d431099ff02f/content/renderer/loader/web_url_loader_impl.cc
[modify] https://crrev.com/aae48161b1e8ea097affafdccb15d431099ff02f/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/aae48161b1e8ea097affafdccb15d431099ff02f/third_party/blink/public/platform/web_url_loader_client.h
[modify] https://crrev.com/aae48161b1e8ea097affafdccb15d431099ff02f/third_party/blink/renderer/core/loader/document_loader.cc
[modify] https://crrev.com/aae48161b1e8ea097affafdccb15d431099ff02f/third_party/blink/renderer/platform/loader/fetch/resource.h
[modify] https://crrev.com/aae48161b1e8ea097affafdccb15d431099ff02f/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
[modify] https://crrev.com/aae48161b1e8ea097affafdccb15d431099ff02f/third_party/blink/renderer/platform/loader/fetch/resource_loader.h

Comment 35 by bugdroid1@chromium.org, Dec 13

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/709b9790cedef87ea0fde6a8860cb140df196197

commit 709b9790cedef87ea0fde6a8860cb140df196197
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Thu Dec 13 23:23:28 2018

Do not send main resource data: urls to WebURLLoader

We can handle these in place, synchronously, which allows
to commit the navigation synchronously.

Handling main resources synchronously requires knowing
in advance the value of DocumentLoader::MainResourceIdentifier(),
which is now passed to FetchMainResource. Previously we used
the identifier in a separate task (due to going through async
WebURLLoader) and were able to retrieve it through GetResource().

Bug: 855189
Change-Id: I250464c173da87c936cd2b419857c36a7342a426
Reviewed-on: https://chromium-review.googlesource.com/c/1371022
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Nate Chapin <japhet@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616481}
[modify] https://crrev.com/709b9790cedef87ea0fde6a8860cb140df196197/third_party/blink/renderer/core/loader/document_loader.cc
[modify] https://crrev.com/709b9790cedef87ea0fde6a8860cb140df196197/third_party/blink/renderer/core/loader/document_loader.h
[modify] https://crrev.com/709b9790cedef87ea0fde6a8860cb140df196197/third_party/blink/renderer/platform/loader/fetch/raw_resource.cc
[modify] https://crrev.com/709b9790cedef87ea0fde6a8860cb140df196197/third_party/blink/renderer/platform/loader/fetch/raw_resource.h
[modify] https://crrev.com/709b9790cedef87ea0fde6a8860cb140df196197/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
[modify] https://crrev.com/709b9790cedef87ea0fde6a8860cb140df196197/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h
[modify] https://crrev.com/709b9790cedef87ea0fde6a8860cb140df196197/third_party/blink/renderer/platform/loader/fetch/resource_fetcher_test.cc
[modify] https://crrev.com/709b9790cedef87ea0fde6a8860cb140df196197/third_party/blink/renderer/platform/loader/fetch/resource_loader_defer_loading_test.cc

Comment 36 by bugdroid1@chromium.org, Dec 15

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1a2cb24481707d5bca81996e3f0a8ef7645ae462

commit 1a2cb24481707d5bca81996e3f0a8ef7645ae462
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Sat Dec 15 02:51:29 2018

Remove WebURLResponse::ExtraData

This is only used for effective_connection_type now, which
can easily move to InternalDocumentStateData.

Bug: 855189
Change-Id: Ic4ddd5268fa701513dee8a0759a153a35244294e
Reviewed-on: https://chromium-review.googlesource.com/c/1369942
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616927}
[modify] https://crrev.com/1a2cb24481707d5bca81996e3f0a8ef7645ae462/content/renderer/BUILD.gn
[modify] https://crrev.com/1a2cb24481707d5bca81996e3f0a8ef7645ae462/content/renderer/internal_document_state_data.cc
[modify] https://crrev.com/1a2cb24481707d5bca81996e3f0a8ef7645ae462/content/renderer/internal_document_state_data.h
[modify] https://crrev.com/1a2cb24481707d5bca81996e3f0a8ef7645ae462/content/renderer/loader/web_url_loader_impl.cc
[delete] https://crrev.com/2165e538dec6f3b051ae87319f367bd9b082d8f4/content/renderer/loader/weburlresponse_extradata_impl.cc
[delete] https://crrev.com/2165e538dec6f3b051ae87319f367bd9b082d8f4/content/renderer/loader/weburlresponse_extradata_impl.h
[modify] https://crrev.com/1a2cb24481707d5bca81996e3f0a8ef7645ae462/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/1a2cb24481707d5bca81996e3f0a8ef7645ae462/third_party/blink/public/platform/web_url_response.h
[modify] https://crrev.com/1a2cb24481707d5bca81996e3f0a8ef7645ae462/third_party/blink/renderer/platform/exported/web_url_response.cc
[modify] https://crrev.com/1a2cb24481707d5bca81996e3f0a8ef7645ae462/third_party/blink/renderer/platform/exported/web_url_response_test.cc
[modify] https://crrev.com/1a2cb24481707d5bca81996e3f0a8ef7645ae462/third_party/blink/renderer/platform/loader/fetch/resource_response.h

Comment 37 by bugdroid1@chromium.org, Dec 19

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/53a589aec52b701d134df33ae166d97f5084f49d

commit 53a589aec52b701d134df33ae166d97f5084f49d
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Wed Dec 19 22:48:49 2018

Do not expose DocumentLoader's request and original request

Once we stop using WebURLLoader for navigations, there would be
no Request in DocumentLoader. This patch removes some dependencies
on it from outside of DocumentLoader.

There are still some dependencies through WebDocumentLoader - these
will go later.

TBR=mmenke@chromium.org,rdevlin.cronin@chromium.org

Bug: 855189
Change-Id: I0c44d7627804286ccce3a6eac14fb7cd92321411
Reviewed-on: https://chromium-review.googlesource.com/c/1382506
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Nate Chapin <japhet@chromium.org>
Cr-Commit-Position: refs/heads/master@{#617992}
[modify] https://crrev.com/53a589aec52b701d134df33ae166d97f5084f49d/chrome/renderer/net/net_error_helper.cc
[modify] https://crrev.com/53a589aec52b701d134df33ae166d97f5084f49d/content/renderer/pepper/pepper_plugin_instance_impl.cc
[modify] https://crrev.com/53a589aec52b701d134df33ae166d97f5084f49d/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/53a589aec52b701d134df33ae166d97f5084f49d/content/renderer/render_view_browsertest.cc
[modify] https://crrev.com/53a589aec52b701d134df33ae166d97f5084f49d/extensions/renderer/extension_frame_helper.cc
[modify] https://crrev.com/53a589aec52b701d134df33ae166d97f5084f49d/extensions/renderer/script_context.cc
[modify] https://crrev.com/53a589aec52b701d134df33ae166d97f5084f49d/third_party/blink/public/web/web_document_loader.h
[modify] https://crrev.com/53a589aec52b701d134df33ae166d97f5084f49d/third_party/blink/renderer/core/dom/document.cc
[modify] https://crrev.com/53a589aec52b701d134df33ae166d97f5084f49d/third_party/blink/renderer/core/exported/web_document_loader_impl.cc
[modify] https://crrev.com/53a589aec52b701d134df33ae166d97f5084f49d/third_party/blink/renderer/core/exported/web_document_loader_impl.h
[modify] https://crrev.com/53a589aec52b701d134df33ae166d97f5084f49d/third_party/blink/renderer/core/exported/web_frame_test.cc
[modify] https://crrev.com/53a589aec52b701d134df33ae166d97f5084f49d/third_party/blink/renderer/core/html/parser/xss_auditor.cc
[modify] https://crrev.com/53a589aec52b701d134df33ae166d97f5084f49d/third_party/blink/renderer/core/html/parser/xss_auditor_delegate.cc
[modify] https://crrev.com/53a589aec52b701d134df33ae166d97f5084f49d/third_party/blink/renderer/core/inspector/inspector_page_agent.cc
[modify] https://crrev.com/53a589aec52b701d134df33ae166d97f5084f49d/third_party/blink/renderer/core/loader/document_loader.cc
[modify] https://crrev.com/53a589aec52b701d134df33ae166d97f5084f49d/third_party/blink/renderer/core/loader/document_loader.h
[modify] https://crrev.com/53a589aec52b701d134df33ae166d97f5084f49d/third_party/blink/renderer/core/loader/frame_fetch_context.cc
[modify] https://crrev.com/53a589aec52b701d134df33ae166d97f5084f49d/third_party/blink/renderer/core/page/context_menu_controller.cc

Comment 38 by bugdroid1@chromium.org, Dec 20

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1e7c01e72a53b2cbb050f336b4b48604af3abcaa

commit 1e7c01e72a53b2cbb050f336b4b48604af3abcaa
Author: CJ DiMeglio <lethalantidote@chromium.org>
Date: Thu Dec 20 00:48:08 2018

Revert "Do not expose DocumentLoader's request and original request"

This reverts commit 53a589aec52b701d134df33ae166d97f5084f49d.

Reason for revert: Believe this to be the cause of https://bugs.chromium.org/p/chromium/issues/detail?id=916829

Original change's description:
> Do not expose DocumentLoader's request and original request
> 
> Once we stop using WebURLLoader for navigations, there would be
> no Request in DocumentLoader. This patch removes some dependencies
> on it from outside of DocumentLoader.
> 
> There are still some dependencies through WebDocumentLoader - these
> will go later.
> 
> TBR=mmenke@chromium.org,rdevlin.cronin@chromium.org
> 
> Bug: 855189
> Change-Id: I0c44d7627804286ccce3a6eac14fb7cd92321411
> Reviewed-on: https://chromium-review.googlesource.com/c/1382506
> Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
> Reviewed-by: Nate Chapin <japhet@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#617992}

TBR=dgozman@chromium.org,japhet@chromium.org

Change-Id: Ifb00b5a6b706243a50d8ef03c5cf71fefaaeacb0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 855189
Reviewed-on: https://chromium-review.googlesource.com/c/1385479
Reviewed-by: CJ DiMeglio <lethalantidote@chromium.org>
Commit-Queue: CJ DiMeglio <lethalantidote@chromium.org>
Cr-Commit-Position: refs/heads/master@{#618043}
[modify] https://crrev.com/1e7c01e72a53b2cbb050f336b4b48604af3abcaa/chrome/renderer/net/net_error_helper.cc
[modify] https://crrev.com/1e7c01e72a53b2cbb050f336b4b48604af3abcaa/content/renderer/pepper/pepper_plugin_instance_impl.cc
[modify] https://crrev.com/1e7c01e72a53b2cbb050f336b4b48604af3abcaa/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/1e7c01e72a53b2cbb050f336b4b48604af3abcaa/content/renderer/render_view_browsertest.cc
[modify] https://crrev.com/1e7c01e72a53b2cbb050f336b4b48604af3abcaa/extensions/renderer/extension_frame_helper.cc
[modify] https://crrev.com/1e7c01e72a53b2cbb050f336b4b48604af3abcaa/extensions/renderer/script_context.cc
[modify] https://crrev.com/1e7c01e72a53b2cbb050f336b4b48604af3abcaa/third_party/blink/public/web/web_document_loader.h
[modify] https://crrev.com/1e7c01e72a53b2cbb050f336b4b48604af3abcaa/third_party/blink/renderer/core/dom/document.cc
[modify] https://crrev.com/1e7c01e72a53b2cbb050f336b4b48604af3abcaa/third_party/blink/renderer/core/exported/web_document_loader_impl.cc
[modify] https://crrev.com/1e7c01e72a53b2cbb050f336b4b48604af3abcaa/third_party/blink/renderer/core/exported/web_document_loader_impl.h
[modify] https://crrev.com/1e7c01e72a53b2cbb050f336b4b48604af3abcaa/third_party/blink/renderer/core/exported/web_frame_test.cc
[modify] https://crrev.com/1e7c01e72a53b2cbb050f336b4b48604af3abcaa/third_party/blink/renderer/core/html/parser/xss_auditor.cc
[modify] https://crrev.com/1e7c01e72a53b2cbb050f336b4b48604af3abcaa/third_party/blink/renderer/core/html/parser/xss_auditor_delegate.cc
[modify] https://crrev.com/1e7c01e72a53b2cbb050f336b4b48604af3abcaa/third_party/blink/renderer/core/inspector/inspector_page_agent.cc
[modify] https://crrev.com/1e7c01e72a53b2cbb050f336b4b48604af3abcaa/third_party/blink/renderer/core/loader/document_loader.cc
[modify] https://crrev.com/1e7c01e72a53b2cbb050f336b4b48604af3abcaa/third_party/blink/renderer/core/loader/document_loader.h
[modify] https://crrev.com/1e7c01e72a53b2cbb050f336b4b48604af3abcaa/third_party/blink/renderer/core/loader/frame_fetch_context.cc
[modify] https://crrev.com/1e7c01e72a53b2cbb050f336b4b48604af3abcaa/third_party/blink/renderer/core/page/context_menu_controller.cc

Comment 39 by bugdroid1@chromium.org, Dec 20

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dfaf4c2d86adbb9a3b9597e2d6ebe36aa2addd81

commit dfaf4c2d86adbb9a3b9597e2d6ebe36aa2addd81
Author: CJ DiMeglio <lethalantidote@chromium.org>
Date: Thu Dec 20 00:51:06 2018

Reland "Do not expose DocumentLoader's request and original request"

This reverts commit 1e7c01e72a53b2cbb050f336b4b48604af3abcaa.

Reason for revert: Was not the correct CL to revert

Original change's description:
> Revert "Do not expose DocumentLoader's request and original request"
> 
> This reverts commit 53a589aec52b701d134df33ae166d97f5084f49d.
> 
> Reason for revert: Believe this to be the cause of https://bugs.chromium.org/p/chromium/issues/detail?id=916829
> 
> Original change's description:
> > Do not expose DocumentLoader's request and original request
> > 
> > Once we stop using WebURLLoader for navigations, there would be
> > no Request in DocumentLoader. This patch removes some dependencies
> > on it from outside of DocumentLoader.
> > 
> > There are still some dependencies through WebDocumentLoader - these
> > will go later.
> > 
> > TBR=mmenke@chromium.org,rdevlin.cronin@chromium.org
> > 
> > Bug: 855189
> > Change-Id: I0c44d7627804286ccce3a6eac14fb7cd92321411
> > Reviewed-on: https://chromium-review.googlesource.com/c/1382506
> > Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
> > Reviewed-by: Nate Chapin <japhet@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#617992}
> 
> TBR=dgozman@chromium.org,japhet@chromium.org
> 
> Change-Id: Ifb00b5a6b706243a50d8ef03c5cf71fefaaeacb0
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 855189
> Reviewed-on: https://chromium-review.googlesource.com/c/1385479
> Reviewed-by: CJ DiMeglio <lethalantidote@chromium.org>
> Commit-Queue: CJ DiMeglio <lethalantidote@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#618043}

TBR=dgozman@chromium.org,japhet@chromium.org,lethalantidote@chromium.org

Change-Id: I2e31ca1df6f0337ec5a2c59ba5740d63df02866f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 855189
Reviewed-on: https://chromium-review.googlesource.com/c/1385480
Reviewed-by: CJ DiMeglio <lethalantidote@chromium.org>
Commit-Queue: CJ DiMeglio <lethalantidote@chromium.org>
Cr-Commit-Position: refs/heads/master@{#618047}
[modify] https://crrev.com/dfaf4c2d86adbb9a3b9597e2d6ebe36aa2addd81/chrome/renderer/net/net_error_helper.cc
[modify] https://crrev.com/dfaf4c2d86adbb9a3b9597e2d6ebe36aa2addd81/content/renderer/pepper/pepper_plugin_instance_impl.cc
[modify] https://crrev.com/dfaf4c2d86adbb9a3b9597e2d6ebe36aa2addd81/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/dfaf4c2d86adbb9a3b9597e2d6ebe36aa2addd81/content/renderer/render_view_browsertest.cc
[modify] https://crrev.com/dfaf4c2d86adbb9a3b9597e2d6ebe36aa2addd81/extensions/renderer/extension_frame_helper.cc
[modify] https://crrev.com/dfaf4c2d86adbb9a3b9597e2d6ebe36aa2addd81/extensions/renderer/script_context.cc
[modify] https://crrev.com/dfaf4c2d86adbb9a3b9597e2d6ebe36aa2addd81/third_party/blink/public/web/web_document_loader.h
[modify] https://crrev.com/dfaf4c2d86adbb9a3b9597e2d6ebe36aa2addd81/third_party/blink/renderer/core/dom/document.cc
[modify] https://crrev.com/dfaf4c2d86adbb9a3b9597e2d6ebe36aa2addd81/third_party/blink/renderer/core/exported/web_document_loader_impl.cc
[modify] https://crrev.com/dfaf4c2d86adbb9a3b9597e2d6ebe36aa2addd81/third_party/blink/renderer/core/exported/web_document_loader_impl.h
[modify] https://crrev.com/dfaf4c2d86adbb9a3b9597e2d6ebe36aa2addd81/third_party/blink/renderer/core/exported/web_frame_test.cc
[modify] https://crrev.com/dfaf4c2d86adbb9a3b9597e2d6ebe36aa2addd81/third_party/blink/renderer/core/html/parser/xss_auditor.cc
[modify] https://crrev.com/dfaf4c2d86adbb9a3b9597e2d6ebe36aa2addd81/third_party/blink/renderer/core/html/parser/xss_auditor_delegate.cc
[modify] https://crrev.com/dfaf4c2d86adbb9a3b9597e2d6ebe36aa2addd81/third_party/blink/renderer/core/inspector/inspector_page_agent.cc
[modify] https://crrev.com/dfaf4c2d86adbb9a3b9597e2d6ebe36aa2addd81/third_party/blink/renderer/core/loader/document_loader.cc
[modify] https://crrev.com/dfaf4c2d86adbb9a3b9597e2d6ebe36aa2addd81/third_party/blink/renderer/core/loader/document_loader.h
[modify] https://crrev.com/dfaf4c2d86adbb9a3b9597e2d6ebe36aa2addd81/third_party/blink/renderer/core/loader/frame_fetch_context.cc
[modify] https://crrev.com/dfaf4c2d86adbb9a3b9597e2d6ebe36aa2addd81/third_party/blink/renderer/core/page/context_menu_controller.cc

Comment 40 by bugdroid1@chromium.org, Dec 20

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/96c429afb3e0fafe41f94f8e8799000148390ece

commit 96c429afb3e0fafe41f94f8e8799000148390ece
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Thu Dec 20 01:29:14 2018

Stop passing WebURLRequest to error page callbacks

There will be no WebURLRequest to pass once we stop (ab)using
WebURLLoader for navigations. See bug for details.

We only use a handfull of request's properties which we
currently pass directly.

Bug: 855189
TBR: content API change
Change-Id: I77ee2986df935753854dcebc1a4c7070c3c8a83d
Reviewed-on: https://chromium-review.googlesource.com/c/1385344
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Pavel Feldman <pfeldman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#618063}
[modify] https://crrev.com/96c429afb3e0fafe41f94f8e8799000148390ece/android_webview/renderer/aw_content_renderer_client.cc
[modify] https://crrev.com/96c429afb3e0fafe41f94f8e8799000148390ece/android_webview/renderer/aw_content_renderer_client.h
[modify] https://crrev.com/96c429afb3e0fafe41f94f8e8799000148390ece/chrome/renderer/chrome_content_renderer_client.cc
[modify] https://crrev.com/96c429afb3e0fafe41f94f8e8799000148390ece/chrome/renderer/chrome_content_renderer_client.h
[modify] https://crrev.com/96c429afb3e0fafe41f94f8e8799000148390ece/content/public/renderer/content_renderer_client.h
[modify] https://crrev.com/96c429afb3e0fafe41f94f8e8799000148390ece/content/renderer/browser_render_view_browsertest.cc
[modify] https://crrev.com/96c429afb3e0fafe41f94f8e8799000148390ece/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/96c429afb3e0fafe41f94f8e8799000148390ece/content/renderer/render_frame_impl.h
[modify] https://crrev.com/96c429afb3e0fafe41f94f8e8799000148390ece/content/renderer/render_view_browsertest.cc
[modify] https://crrev.com/96c429afb3e0fafe41f94f8e8799000148390ece/content/shell/renderer/shell_content_renderer_client.cc
[modify] https://crrev.com/96c429afb3e0fafe41f94f8e8799000148390ece/content/shell/renderer/shell_content_renderer_client.h

Comment 41 by bugdroid1@chromium.org, Dec 21

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/961443c81edb97c93ac8851f1226a0ff556795ea

commit 961443c81edb97c93ac8851f1226a0ff556795ea
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Fri Dec 21 23:40:50 2018

Remove more usages of WebDocumentLoader::GetRequest

There will be no request once we stop using WebURLLoader
for navigations.

This patch exposes some bits of WebURLRequest instead of
request itself.

TBR=vakh@chromium.org

Bug: 855189
Change-Id: I909fa33480392610d7205cc345f26ff9aa2091d6
Reviewed-on: https://chromium-review.googlesource.com/c/1385146
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Nate Chapin <japhet@chromium.org>
Cr-Commit-Position: refs/heads/master@{#618676}
[modify] https://crrev.com/961443c81edb97c93ac8851f1226a0ff556795ea/chrome/renderer/safe_browsing/phishing_classifier.cc
[modify] https://crrev.com/961443c81edb97c93ac8851f1226a0ff556795ea/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/961443c81edb97c93ac8851f1226a0ff556795ea/content/renderer/render_view_browsertest.cc
[modify] https://crrev.com/961443c81edb97c93ac8851f1226a0ff556795ea/third_party/blink/public/web/web_document_loader.h
[modify] https://crrev.com/961443c81edb97c93ac8851f1226a0ff556795ea/third_party/blink/renderer/core/exported/web_document_loader_impl.cc
[modify] https://crrev.com/961443c81edb97c93ac8851f1226a0ff556795ea/third_party/blink/renderer/core/exported/web_document_loader_impl.h
[modify] https://crrev.com/961443c81edb97c93ac8851f1226a0ff556795ea/third_party/blink/renderer/core/exported/web_frame_serializer.cc
[modify] https://crrev.com/961443c81edb97c93ac8851f1226a0ff556795ea/third_party/blink/renderer/core/exported/web_frame_test.cc
[modify] https://crrev.com/961443c81edb97c93ac8851f1226a0ff556795ea/third_party/blink/renderer/core/loader/document_loader.cc
[modify] https://crrev.com/961443c81edb97c93ac8851f1226a0ff556795ea/third_party/blink/renderer/core/loader/document_loader.h

Comment 42 by bugdroid1@chromium.org, Dec 22

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/538912813a6ab1309b62295f2b155c1a86c42991

commit 538912813a6ab1309b62295f2b155c1a86c42991
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Sat Dec 22 01:22:51 2018

Pass WebNavigationInfo to CreatePlaceholderDocumentLoader

As a part of removing provisional document loader (see doc linked
from the bug, step 6.d), we plan to stop using WebURLLoader for
navigation requests. This means there will be no artificial
WebURLRequest created for the main resource, DocumentLoader::request_
and WebNavigationParams::request will be gone.

This patch removes one more usage of WebNavigationParams::request.

CreatePlaceholderDocumentLoader is left with WebURLRequest for now, since
it is not on a CommitNavigation path, but instead is called only in
response to BeginNavigation, which takes WebNavigationInfo. We can
just pass WebNavigationInfo directly to FrameLoader and let it
deal with details.

Bug: 855189
Change-Id: Ic49c9a5d3d603831dded9efd71fe858c2c088f62
Reviewed-on: https://chromium-review.googlesource.com/c/1387149
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#618704}
[modify] https://crrev.com/538912813a6ab1309b62295f2b155c1a86c42991/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/538912813a6ab1309b62295f2b155c1a86c42991/third_party/blink/public/web/web_navigation_control.h
[modify] https://crrev.com/538912813a6ab1309b62295f2b155c1a86c42991/third_party/blink/renderer/core/exported/web_frame_test.cc
[modify] https://crrev.com/538912813a6ab1309b62295f2b155c1a86c42991/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
[modify] https://crrev.com/538912813a6ab1309b62295f2b155c1a86c42991/third_party/blink/renderer/core/frame/web_local_frame_impl.h
[modify] https://crrev.com/538912813a6ab1309b62295f2b155c1a86c42991/third_party/blink/renderer/core/loader/frame_loader.cc
[modify] https://crrev.com/538912813a6ab1309b62295f2b155c1a86c42991/third_party/blink/renderer/core/loader/frame_loader.h

Comment 43 by bugdroid1@chromium.org, Dec 24

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d378f7615e3234e64440dca96813dfdc7f4b8d8e

commit d378f7615e3234e64440dca96813dfdc7f4b8d8e
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Mon Dec 24 04:01:22 2018

Prepare SimRequest to browser-side navigation

Currently, we simulate navigation requests using SimRequest
not quite similar to the real navigation requests. We allow
asynchronous Start() call which is not the case for browser-side
navigation requests which come with synchronous response.

We plan to commit navigation synchronously after receiving
response, and tests should be ready for that.

Changes in this patch:
- SimRequest now starts immediately when response is received.
  Most SimRequests in tests are navigation requests, so they are
  now compatible to the browser-side navigation flow.
- To emulate subresources which may start asynchronously, a new
  SimSubresourceRequest is introduced. This one is currently used
  for all existing subresources in tests, to preserve the
  behavior. In reality, there should rarely be a need for
  asynchronous response, even for subresources.

Bug: 855189
Change-Id: I125fd6dbe5522947d34ae755b653783246eb4695
Reviewed-on: https://chromium-review.googlesource.com/c/1387667
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Nate Chapin <japhet@chromium.org>
Cr-Commit-Position: refs/heads/master@{#618804}
[modify] https://crrev.com/d378f7615e3234e64440dca96813dfdc7f4b8d8e/third_party/blink/renderer/core/exported/web_meaningful_layouts_test.cc
[modify] https://crrev.com/d378f7615e3234e64440dca96813dfdc7f4b8d8e/third_party/blink/renderer/core/exported/web_node_test.cc
[modify] https://crrev.com/d378f7615e3234e64440dca96813dfdc7f4b8d8e/third_party/blink/renderer/core/frame/ad_tracker_test.cc
[modify] https://crrev.com/d378f7615e3234e64440dca96813dfdc7f4b8d8e/third_party/blink/renderer/core/frame/document_loading_rendering_test.cc
[modify] https://crrev.com/d378f7615e3234e64440dca96813dfdc7f4b8d8e/third_party/blink/renderer/core/frame/local_frame_view_test.cc
[modify] https://crrev.com/d378f7615e3234e64440dca96813dfdc7f4b8d8e/third_party/blink/renderer/core/html/anchor_element_metrics_test.cc
[modify] https://crrev.com/d378f7615e3234e64440dca96813dfdc7f4b8d8e/third_party/blink/renderer/core/html/imports/html_import_sheets_test.cc
[modify] https://crrev.com/d378f7615e3234e64440dca96813dfdc7f4b8d8e/third_party/blink/renderer/core/html/link_element_loading_test.cc
[modify] https://crrev.com/d378f7615e3234e64440dca96813dfdc7f4b8d8e/third_party/blink/renderer/core/html/parser/html_document_parser_loading_test.cc
[modify] https://crrev.com/d378f7615e3234e64440dca96813dfdc7f4b8d8e/third_party/blink/renderer/core/loader/programmatic_scroll_test.cc
[modify] https://crrev.com/d378f7615e3234e64440dca96813dfdc7f4b8d8e/third_party/blink/renderer/core/page/scrolling/root_scroller_test.cc
[modify] https://crrev.com/d378f7615e3234e64440dca96813dfdc7f4b8d8e/third_party/blink/renderer/core/resize_observer/resize_observer_test.cc
[modify] https://crrev.com/d378f7615e3234e64440dca96813dfdc7f4b8d8e/third_party/blink/renderer/core/scheduler/virtual_time_test.cc
[modify] https://crrev.com/d378f7615e3234e64440dca96813dfdc7f4b8d8e/third_party/blink/renderer/core/svg/graphics/svg_image_test.cc
[modify] https://crrev.com/d378f7615e3234e64440dca96813dfdc7f4b8d8e/third_party/blink/renderer/core/testing/sim/sim_network.cc
[modify] https://crrev.com/d378f7615e3234e64440dca96813dfdc7f4b8d8e/third_party/blink/renderer/core/testing/sim/sim_network.h
[modify] https://crrev.com/d378f7615e3234e64440dca96813dfdc7f4b8d8e/third_party/blink/renderer/core/testing/sim/sim_request.cc
[modify] https://crrev.com/d378f7615e3234e64440dca96813dfdc7f4b8d8e/third_party/blink/renderer/core/testing/sim/sim_request.h

Comment 44 by bugdroid1@chromium.org, Jan 4

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a2104ecf418b33d79f03560a551e902a40b341d3

commit a2104ecf418b33d79f03560a551e902a40b341d3
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Fri Jan 04 01:12:08 2019

Only use navigation SourceLocation when no local available

We should not replace source location with good stack trace
and line number with a poor one coming from document loader.

This is currently not an issue, but synchronous navigation
commits will have a better location because there is JavaScript
on the stack, and existing solution will ignore it.

Bug: 855189
Change-Id: Ic40b307e206a87849dc7cc3a83dde878ec948dbb
Reviewed-on: https://chromium-review.googlesource.com/c/1395140
Reviewed-by: Joel Einbinder <einbinder@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#619846}
[modify] https://crrev.com/a2104ecf418b33d79f03560a551e902a40b341d3/third_party/blink/renderer/core/frame/frame_console.cc

Comment 45 by bugdroid1@chromium.org, Jan 5

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/12acf017d124b24d270e84a5e3dc42469379adb8

commit 12acf017d124b24d270e84a5e3dc42469379adb8
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Sat Jan 05 00:42:45 2019

Web tests: always dump didStartProvisionalLoad

This brings two benefits:
- Dump what we actually call on RenderFrameObservers.
- Remove dependency on DocumentLoader::GetRequest which goes away
  (see the doc linked to bug).

Bug: 855189
Change-Id: I7c869d870dcb2d51cddea1998335af0e6162af5e
Reviewed-on: https://chromium-review.googlesource.com/c/1390237
Reviewed-by: Nate Chapin <japhet@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620129}
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/content/shell/test_runner/web_frame_test_proxy.cc
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/fast/frames/location-redirect-user-gesture-expected.txt
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/fast/frames/meta-refresh-user-gesture-expected.txt
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/fast/loader/subframe-removes-itself-expected.txt
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/http/tests/loading/307-after-303-after-post-expected.txt
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/http/tests/loading/bad-server-subframe-expected.txt
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/http/tests/loading/dont-preload-non-img-srcset-expected.txt
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/http/tests/loading/link-preload-image-sizes-2x-expected.txt
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/http/tests/loading/link-preload-image-srcset-2x-expected.txt
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/http/tests/loading/link-preload-image-srcset-expected.txt
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/http/tests/loading/onbeforeunload-detach-expected.txt
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/http/tests/loading/onload-vs-immediate-refresh-expected.txt
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/http/tests/loading/onreadystatechange-detach-expected.txt
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/http/tests/loading/preload-image-sizes-2x-expected.txt
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/http/tests/loading/preload-image-srcset-2x-expected.txt
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/http/tests/loading/preload-image-srcset-duplicate-expected.txt
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/http/tests/loading/preload-image-srcset-expected.txt
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/http/tests/loading/preload-image-srcset-reverse-order-expected.txt
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/http/tests/loading/preload-image-srcset-src-preloaded-expected.txt
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/http/tests/loading/preload-image-srcset-src-preloaded-reverse-order-expected.txt
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/http/tests/loading/preload-picture-sizes-2x-expected.txt
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/http/tests/loading/redirect-methods-expected.txt
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/http/tests/loading/redirect-with-no-location-crash-expected.txt
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/http/tests/loading/simple-subframe-expected.txt
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/http/tests/loading/simple-subframe.html
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/http/tests/loading/slow-parsing-subframe-expected.txt
[modify] https://crrev.com/12acf017d124b24d270e84a5e3dc42469379adb8/third_party/blink/web_tests/http/tests/loading/stop-load-at-commit-expected.txt
[delete] https://crrev.com/4f6af61998e5ddb3d47d4959854141e1dc91339a/third_party/blink/web_tests/platform/linux/http/tests/loading/simple-subframe-expected.png
[delete] https://crrev.com/4f6af61998e5ddb3d47d4959854141e1dc91339a/third_party/blink/web_tests/platform/mac/http/tests/loading/simple-subframe-expected.png
[delete] https://crrev.com/4f6af61998e5ddb3d47d4959854141e1dc91339a/third_party/blink/web_tests/platform/win/http/tests/loading/simple-subframe-expected.png

Comment 46 by bugdroid1@chromium.org, Jan 5

Project Member

Comment 47 by bugdroid1@chromium.org, Jan 5

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4bbb3621b0854a3a3792f87c24e2c9283e9c7a88

commit 4bbb3621b0854a3a3792f87c24e2c9283e9c7a88
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Sat Jan 05 14:26:46 2019

Handle main resource timings in DocumentLoader

This is a preparation to not using WebURLLoader
for main resource. See step 6.d in the doc linked
to the bug.

Bug: 855189
Change-Id: I4464daabca68a24bb5272481af379c91b4d67d5e
Reviewed-on: https://chromium-review.googlesource.com/c/1392498
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Hiroshige Hayashizaki <hiroshige@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620183}
[modify] https://crrev.com/4bbb3621b0854a3a3792f87c24e2c9283e9c7a88/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/4bbb3621b0854a3a3792f87c24e2c9283e9c7a88/third_party/blink/public/platform/web_url_request.h
[modify] https://crrev.com/4bbb3621b0854a3a3792f87c24e2c9283e9c7a88/third_party/blink/renderer/core/loader/document_loader.cc
[modify] https://crrev.com/4bbb3621b0854a3a3792f87c24e2c9283e9c7a88/third_party/blink/renderer/core/loader/document_loader.h
[modify] https://crrev.com/4bbb3621b0854a3a3792f87c24e2c9283e9c7a88/third_party/blink/renderer/core/loader/frame_fetch_context.cc
[modify] https://crrev.com/4bbb3621b0854a3a3792f87c24e2c9283e9c7a88/third_party/blink/renderer/core/loader/frame_fetch_context.h
[modify] https://crrev.com/4bbb3621b0854a3a3792f87c24e2c9283e9c7a88/third_party/blink/renderer/core/loader/frame_fetch_context_test.cc
[modify] https://crrev.com/4bbb3621b0854a3a3792f87c24e2c9283e9c7a88/third_party/blink/renderer/platform/exported/web_url_request.cc
[modify] https://crrev.com/4bbb3621b0854a3a3792f87c24e2c9283e9c7a88/third_party/blink/renderer/platform/loader/fetch/fetch_context.h
[modify] https://crrev.com/4bbb3621b0854a3a3792f87c24e2c9283e9c7a88/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
[modify] https://crrev.com/4bbb3621b0854a3a3792f87c24e2c9283e9c7a88/third_party/blink/renderer/platform/loader/fetch/resource_request.cc
[modify] https://crrev.com/4bbb3621b0854a3a3792f87c24e2c9283e9c7a88/third_party/blink/renderer/platform/loader/fetch/resource_request.h

Comment 48 by bugdroid1@chromium.org, Jan 7

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ea97f32c659e40039a993cd6bfb2b9ff7f16060a

commit ea97f32c659e40039a993cd6bfb2b9ff7f16060a
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Mon Jan 07 18:36:50 2019

Prepare CachedMetadataSender to be used without Resource

This patch decouples CachedMetadataSender from Resource and
provides a factory method to create one of the three
implementations.

This is a preparation to not using WebURLLoader
for main resource. See step 6.d in the doc linked
to the bug.

Bug: 855189
Change-Id: Ia04dd1c549fbb53970032e6dcae9cfa6587e7dc8
Reviewed-on: https://chromium-review.googlesource.com/c/1393783
Reviewed-by: Hiroshige Hayashizaki <hiroshige@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620393}
[modify] https://crrev.com/ea97f32c659e40039a993cd6bfb2b9ff7f16060a/third_party/blink/renderer/platform/loader/BUILD.gn
[add] https://crrev.com/ea97f32c659e40039a993cd6bfb2b9ff7f16060a/third_party/blink/renderer/platform/loader/fetch/cached_metadata_handler.cc
[modify] https://crrev.com/ea97f32c659e40039a993cd6bfb2b9ff7f16060a/third_party/blink/renderer/platform/loader/fetch/cached_metadata_handler.h
[modify] https://crrev.com/ea97f32c659e40039a993cd6bfb2b9ff7f16060a/third_party/blink/renderer/platform/loader/fetch/resource.cc
[modify] https://crrev.com/ea97f32c659e40039a993cd6bfb2b9ff7f16060a/third_party/blink/renderer/platform/loader/fetch/resource.h

Comment 49 by wanderview@chromium.org, Jan 7

Blocking: 917414

Comment 50 by bugdroid1@chromium.org, Jan 8

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2d871961a1a2328b23f729bd954beda1f4f3b68f

commit 2d871961a1a2328b23f729bd954beda1f4f3b68f
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Tue Jan 08 00:05:02 2019

RenderFrameImpl: do not retrieve PreviewsState from request

Instead, we can save previews state to InternalDocumentStateData,
similarly to EffectiveConnectionType, and read it from there when
needed. This allows to remove WebDocumentLoader::GetRequest, which
will not be needed soon (see doc linked from a bug).

Bug: 855189
Change-Id: I1f8324685db86e2112b7e2537c2d8602919edb07
Reviewed-on: https://chromium-review.googlesource.com/c/1389121
Reviewed-by: Ryan Sturm <ryansturm@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620542}
[modify] https://crrev.com/2d871961a1a2328b23f729bd954beda1f4f3b68f/content/renderer/internal_document_state_data.cc
[modify] https://crrev.com/2d871961a1a2328b23f729bd954beda1f4f3b68f/content/renderer/internal_document_state_data.h
[modify] https://crrev.com/2d871961a1a2328b23f729bd954beda1f4f3b68f/content/renderer/render_frame_impl.cc

Comment 51 by bugdroid1@chromium.org, Jan 8

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ae872ca32aacde2d3449ceb40c1160dd7b304bd4

commit ae872ca32aacde2d3449ceb40c1160dd7b304bd4
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Tue Jan 08 04:51:47 2019

Do not commit navigation to an arbitrary request in TestRenderFrame

As a part of removing provisional document loader (see doc linked
from the bug, step 6.d), we plan to stop using WebURLLoader for
navigation requests. This means there will be no artificial
WebURLRequest created for the main resource, DocumentLoader::request_
and WebNavigationParams::request will be gone.

Passing arbitrary request to CommitNavigation will not work anyway,
since we are not faking network in these tests. In fact, we are only
using about:blank, about:srcdoc and data urls for subframes,
which we can explicitly handle.

Bug: 855189
Change-Id: Ia87d2584dc0fb8d6a6142dc15cc12492f29dfdfb
Reviewed-on: https://chromium-review.googlesource.com/c/1385473
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620623}
[modify] https://crrev.com/ae872ca32aacde2d3449ceb40c1160dd7b304bd4/content/test/test_render_frame.cc

Comment 52 by bugdroid1@chromium.org, Jan 8

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a313523de7459067fcf26947447ca768a1d34fa9

commit a313523de7459067fcf26947447ca768a1d34fa9
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Tue Jan 08 19:39:33 2019

Prepare various places to synchronous navigation commit

Once we start committing synchronously, some assumptions
about asynchronous flow will be broken. This patch updates
multilple places which can be updated separately (mostly tests).

WebFrameTest.ReplaceNavigationAfterHistoryNavigation is committing
a failing url, which does not happen in production anymore - we
commit an error page instead. It's functionality is covered
by RendererErrorPageTest, so removing.

WebFrameTest.BackDuringChildFrameReload has been migrated to
web_tests/http/tests/navigation/back-during-child-frame-reload.html.

WebFrameTest.LoadHistoryItemReload is only checking CacheMode
when committing navigation, which is useless since in production
this cache mode is handled on the browser and ignored in renderer.

See an example of synchronous commit for SubstitueData,
which requires all these changes:
https://chromium-review.googlesource.com/c/chromium/src/+/1389945.

Bug: 855189
Change-Id: Ib198d2373539113b4721ff5767da00794cb1a42f
Reviewed-on: https://chromium-review.googlesource.com/c/1392099
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Tommy Li <tommycli@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620839}
[modify] https://crrev.com/a313523de7459067fcf26947447ca768a1d34fa9/components/plugins/renderer/webview_plugin.cc
[modify] https://crrev.com/a313523de7459067fcf26947447ca768a1d34fa9/components/plugins/renderer/webview_plugin.h
[modify] https://crrev.com/a313523de7459067fcf26947447ca768a1d34fa9/content/public/test/render_view_test.cc
[modify] https://crrev.com/a313523de7459067fcf26947447ca768a1d34fa9/content/renderer/render_frame_impl_browsertest.cc
[modify] https://crrev.com/a313523de7459067fcf26947447ca768a1d34fa9/content/renderer/render_view_browsertest.cc
[modify] https://crrev.com/a313523de7459067fcf26947447ca768a1d34fa9/content/test/data/accessibility/aria/aria-hidden-iframe-body-expected-blink.txt
[modify] https://crrev.com/a313523de7459067fcf26947447ca768a1d34fa9/content/test/data/accessibility/aria/aria-hidden-iframe-body.html
[modify] https://crrev.com/a313523de7459067fcf26947447ca768a1d34fa9/content/test/test_render_frame.cc
[modify] https://crrev.com/a313523de7459067fcf26947447ca768a1d34fa9/content/test/test_render_frame.h
[modify] https://crrev.com/a313523de7459067fcf26947447ca768a1d34fa9/third_party/blink/renderer/core/css/style_environment_variables_test.cc
[modify] https://crrev.com/a313523de7459067fcf26947447ca768a1d34fa9/third_party/blink/renderer/core/exported/web_frame_test.cc
[modify] https://crrev.com/a313523de7459067fcf26947447ca768a1d34fa9/third_party/blink/renderer/core/exported/worker_shadow_page.cc
[modify] https://crrev.com/a313523de7459067fcf26947447ca768a1d34fa9/third_party/blink/renderer/core/frame/frame_serializer_test.cc
[modify] https://crrev.com/a313523de7459067fcf26947447ca768a1d34fa9/third_party/blink/renderer/core/frame/frame_test.cc
[modify] https://crrev.com/a313523de7459067fcf26947447ca768a1d34fa9/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
[modify] https://crrev.com/a313523de7459067fcf26947447ca768a1d34fa9/third_party/blink/renderer/core/html/anchor_element_metrics_test.cc
[modify] https://crrev.com/a313523de7459067fcf26947447ca768a1d34fa9/third_party/blink/renderer/core/loader/ping_loader_test.cc
[modify] https://crrev.com/a313523de7459067fcf26947447ca768a1d34fa9/third_party/blink/renderer/core/testing/page_test_base.cc
[modify] https://crrev.com/a313523de7459067fcf26947447ca768a1d34fa9/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc
[add] https://crrev.com/a313523de7459067fcf26947447ca768a1d34fa9/third_party/blink/web_tests/http/tests/navigation/back-during-child-frame-reload-expected.txt
[add] https://crrev.com/a313523de7459067fcf26947447ca768a1d34fa9/third_party/blink/web_tests/http/tests/navigation/back-during-child-frame-reload.html

Comment 53 by bugdroid1@chromium.org, Jan 9

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b2eae2e418e97abae74cb26d5d0141bbf5a04d4b

commit b2eae2e418e97abae74cb26d5d0141bbf5a04d4b
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Wed Jan 09 00:23:52 2019

Make Blink's unit tests closer to real world

... by replicating async navigation logic from RenderFrameImpl.

Some tests have to change to account for new asynchrony.

Bug: 855189
Change-Id: Ib92d8f4a9f6afc6527e9db7fc03765e0f6138e76
Reviewed-on: https://chromium-review.googlesource.com/c/1396399
Reviewed-by: Nate Chapin <japhet@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620960}
[modify] https://crrev.com/b2eae2e418e97abae74cb26d5d0141bbf5a04d4b/third_party/blink/renderer/core/exported/web_frame_test.cc
[modify] https://crrev.com/b2eae2e418e97abae74cb26d5d0141bbf5a04d4b/third_party/blink/renderer/core/frame/ad_tracker_test.cc
[modify] https://crrev.com/b2eae2e418e97abae74cb26d5d0141bbf5a04d4b/third_party/blink/renderer/core/frame/frame_test_helpers.cc
[modify] https://crrev.com/b2eae2e418e97abae74cb26d5d0141bbf5a04d4b/third_party/blink/renderer/core/frame/frame_test_helpers.h
[modify] https://crrev.com/b2eae2e418e97abae74cb26d5d0141bbf5a04d4b/third_party/blink/renderer/core/page/scrolling/root_scroller_test.cc
[modify] https://crrev.com/b2eae2e418e97abae74cb26d5d0141bbf5a04d4b/third_party/blink/renderer/core/testing/sim/sim_network.cc
[modify] https://crrev.com/b2eae2e418e97abae74cb26d5d0141bbf5a04d4b/third_party/blink/renderer/core/testing/sim/sim_request.cc
[modify] https://crrev.com/b2eae2e418e97abae74cb26d5d0141bbf5a04d4b/third_party/blink/renderer/core/testing/sim/sim_request.h
[modify] https://crrev.com/b2eae2e418e97abae74cb26d5d0141bbf5a04d4b/third_party/blink/renderer/core/testing/sim/sim_test.cc
[modify] https://crrev.com/b2eae2e418e97abae74cb26d5d0141bbf5a04d4b/third_party/blink/renderer/core/workers/worker_thread_test.cc

Comment 54 by bugdroid1@chromium.org, Jan 9

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/99961f26c92a7e0d2be86cb3bde125d95196ebe3

commit 99961f26c92a7e0d2be86cb3bde125d95196ebe3
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Wed Jan 09 13:34:39 2019

Extract utilities from ResourceDispatcher to be reused for navigation

This is a preparation to not using WebURLLoader for main resource.
See step 6.c in the doc linked to the bug.

Extracted various NotifyRequestXXX methods which record histograms
and send stats to the browser process.
Also extracted WebURLError creation helper.

Bug: 855189
Change-Id: Ic1321e442da8b1f887fb76905a867fa10b6802ee
Reviewed-on: https://chromium-review.googlesource.com/c/1395779
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621127}
[modify] https://crrev.com/99961f26c92a7e0d2be86cb3bde125d95196ebe3/content/renderer/BUILD.gn
[modify] https://crrev.com/99961f26c92a7e0d2be86cb3bde125d95196ebe3/content/renderer/loader/resource_dispatcher.cc
[add] https://crrev.com/99961f26c92a7e0d2be86cb3bde125d95196ebe3/content/renderer/loader/resource_load_stats.cc
[add] https://crrev.com/99961f26c92a7e0d2be86cb3bde125d95196ebe3/content/renderer/loader/resource_load_stats.h
[modify] https://crrev.com/99961f26c92a7e0d2be86cb3bde125d95196ebe3/content/renderer/loader/web_url_loader_impl.cc
[modify] https://crrev.com/99961f26c92a7e0d2be86cb3bde125d95196ebe3/content/renderer/loader/web_url_loader_impl.h

Comment 55 by bugdroid1@chromium.org, Jan 11

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/174ae9ff79683da4e3338e3f10c8a1bc9650c14a

commit 174ae9ff79683da4e3338e3f10c8a1bc9650c14a
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Fri Jan 11 01:36:38 2019

DocumentLoader: get rid of some usages of ResourceRequest

Request is going away on CommitNavigation path, so replace
request usage with specific fields we need.
Also, DocumentLoader will be loading body by itself, so
it needs to know about deferring now.

This corresponds to the step 6.e from the doc linked to the bug.

Bug: 855189
Change-Id: Id08ce34533728951e67b150e1974444d8fb86b2a
Reviewed-on: https://chromium-review.googlesource.com/c/1401054
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Nate Chapin <japhet@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621852}
[modify] https://crrev.com/174ae9ff79683da4e3338e3f10c8a1bc9650c14a/third_party/blink/renderer/core/loader/document_loader.cc
[modify] https://crrev.com/174ae9ff79683da4e3338e3f10c8a1bc9650c14a/third_party/blink/renderer/core/loader/document_loader.h
[modify] https://crrev.com/174ae9ff79683da4e3338e3f10c8a1bc9650c14a/third_party/blink/renderer/core/loader/frame_loader.cc
[modify] https://crrev.com/174ae9ff79683da4e3338e3f10c8a1bc9650c14a/third_party/blink/renderer/core/loader/frame_loader.h
[modify] https://crrev.com/174ae9ff79683da4e3338e3f10c8a1bc9650c14a/third_party/blink/renderer/core/loader/history_item.cc
[modify] https://crrev.com/174ae9ff79683da4e3338e3f10c8a1bc9650c14a/third_party/blink/renderer/core/loader/history_item.h

Comment 56 by bugdroid1@chromium.org, Jan 11

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/165183f6f66c736a181785068172e80927a4cbe7

commit 165183f6f66c736a181785068172e80927a4cbe7
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Fri Jan 11 17:27:40 2019

Prepare ResourceFetcher to not loading main resource

- Trigger static locals on main frame. We used to do that
  as a part of loading main resource, but now we don't.
- Allow null Resource in DispatchDidReceiveResponse, it's
  not actually needed and will be missing for main resources.

Bug: 855189
Change-Id: I51d2a433501bfdff4dba677d61210b62bec58802
Reviewed-on: https://chromium-review.googlesource.com/c/1401674
Reviewed-by: Hiroshige Hayashizaki <hiroshige@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#622045}
[modify] https://crrev.com/165183f6f66c736a181785068172e80927a4cbe7/third_party/blink/renderer/core/loader/frame_fetch_context.cc
[modify] https://crrev.com/165183f6f66c736a181785068172e80927a4cbe7/third_party/blink/renderer/core/loader/frame_fetch_context.h
[modify] https://crrev.com/165183f6f66c736a181785068172e80927a4cbe7/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc

Comment 57 by bugdroid1@chromium.org, Jan 11

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cd352982e6003fb452afd4783e75f48cee8643ca

commit cd352982e6003fb452afd4783e75f48cee8643ca
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Fri Jan 11 21:12:16 2019

Introduce WebNavigationBodyLoader

WebNavigationBodyLoader interface (and two implementations)
will be used for loading navigation response body, instead of
going through WebURLLoader. This patch only contains the
implementation, but does not include the usage just yet.

WIP usage can be seen here:
https://chromium-review.googlesource.com/c/chromium/src/+/1388212.

The advantages of a separate code path for navigations:
- Possible to commit navigations synchronously, instead
  of waiting for RawResourceClient callbacks from the loader.
  This is a primary motivation.
- Makes it easier to Onion Soupify navigation code separately
  from loading code.
- All navigation-related special cases can be handled directly
  in DocumentLoader now.
- We don't need a "replay fake request" mode in loader anymore.
- We stop abusing ResourceRequest/ResourceResponse for navigation
  information (e.g. RequestorOrigin, OriginPolicy and many more).

Disadvantages:
- Two URLLoaderClient and body pipe consumer implementations
  to maintain.
- Future loading features might have to touch navigation body
  loader as well. Although most of the navigation-related features
  currently have to touch navigation url request in the browser,
  there is a small chance that NavigationBodyLoader will be
  affected as well.

Larger cleanups possible after this:
- Remove ResourceType::kMainResource and any code related to it.
- Remove ResourceRequest::GetFrameType and any code related to it.

Ideally, NavigationBodyLoader could be implemented directly in Blink,
but there are some dependencies on resource load statistics in content.
Also, Blink is not quite ready to talk to Network Service directly.

This patch corresponds to step 6.g of the doc linked in the bug.

Bug: 855189
Change-Id: I3ac7b33db60e7b50e583e2006dd194c4bf843921
Reviewed-on: https://chromium-review.googlesource.com/c/1399052
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Reviewed-by: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#622147}
[modify] https://crrev.com/cd352982e6003fb452afd4783e75f48cee8643ca/content/renderer/BUILD.gn
[modify] https://crrev.com/cd352982e6003fb452afd4783e75f48cee8643ca/content/renderer/loader/code_cache_loader_impl.h
[add] https://crrev.com/cd352982e6003fb452afd4783e75f48cee8643ca/content/renderer/loader/navigation_body_loader.cc
[add] https://crrev.com/cd352982e6003fb452afd4783e75f48cee8643ca/content/renderer/loader/navigation_body_loader.h
[add] https://crrev.com/cd352982e6003fb452afd4783e75f48cee8643ca/content/renderer/loader/navigation_body_loader_unittest.cc
[modify] https://crrev.com/cd352982e6003fb452afd4783e75f48cee8643ca/content/test/BUILD.gn
[modify] https://crrev.com/cd352982e6003fb452afd4783e75f48cee8643ca/third_party/blink/public/BUILD.gn
[add] https://crrev.com/cd352982e6003fb452afd4783e75f48cee8643ca/third_party/blink/public/platform/web_navigation_body_loader.h
[modify] https://crrev.com/cd352982e6003fb452afd4783e75f48cee8643ca/third_party/blink/renderer/platform/loader/BUILD.gn
[add] https://crrev.com/cd352982e6003fb452afd4783e75f48cee8643ca/third_party/blink/renderer/platform/loader/static_data_navigation_body_loader.cc
[add] https://crrev.com/cd352982e6003fb452afd4783e75f48cee8643ca/third_party/blink/renderer/platform/loader/static_data_navigation_body_loader.h
[add] https://crrev.com/cd352982e6003fb452afd4783e75f48cee8643ca/third_party/blink/renderer/platform/loader/static_data_navigation_body_loader_test.cc

Comment 58 by bugdroid1@chromium.org, Jan 17

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/98e8b198a41eb507a0b55f3b9f5930c6e5beda6e

commit 98e8b198a41eb507a0b55f3b9f5930c6e5beda6e
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Thu Jan 17 13:15:24 2019

NavigationBodyLoader: allow SetDefersLoading before Start

This scenario can trigger with a nested message loop. We should
not actually try to read the body if it has not been received yet.

Bug: 855189
Change-Id: Idbe0b10dc868302083dcb173f9d79c5d719a61e7
Reviewed-on: https://chromium-review.googlesource.com/c/1416137
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#623662}
[modify] https://crrev.com/98e8b198a41eb507a0b55f3b9f5930c6e5beda6e/content/renderer/loader/navigation_body_loader.cc
[modify] https://crrev.com/98e8b198a41eb507a0b55f3b9f5930c6e5beda6e/content/renderer/loader/navigation_body_loader_unittest.cc

Comment 59 by bugdroid1@chromium.org, Jan 20

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6899796671705603bab3ee6eefd21ac385ca9bc8

commit 6899796671705603bab3ee6eefd21ac385ca9bc8
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Sun Jan 20 02:33:15 2019

DocumentLoader: make srcdoc navigations async (attempt #2)

about:srcdoc is not actually an empty document, so there is no real need
to load it synchronously.

data-saver.html is split in two, because it relied on specific order
between calling internals.setSaveDataEnabled and committing navigation
for two separate srcdoc iframes.

Includes the following fixes comparing to attempt #1:

1. When script removes iframe's srcdoc attribute after the navigation
has been scheduled, but before we retrieve the srcdoc content from
the attribute, we could try to load about:srcdoc from the network.
Instead, we should just load an empty document.

2. Iframe with src="about:srcdoc" should just load blank instead
of issuing a network request for about:srcdoc.

3. Simplify how we pass "is srcdoc" to the document
itself, now using DocumentInit instead of calling a method on
FrameLoader. This avoids a similar race between starting the main
resource load and creating a document.

Bug: 919839, 855189
Change-Id: Ie5a9cbcf66ab93b9deea09ee8e756d10e48c741b
Reviewed-on: https://chromium-review.googlesource.com/c/1409809
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Nate Chapin <japhet@chromium.org>
Cr-Commit-Position: refs/heads/master@{#624479}
[modify] https://crrev.com/6899796671705603bab3ee6eefd21ac385ca9bc8/third_party/blink/renderer/core/dom/document.cc
[modify] https://crrev.com/6899796671705603bab3ee6eefd21ac385ca9bc8/third_party/blink/renderer/core/dom/document_init.cc
[modify] https://crrev.com/6899796671705603bab3ee6eefd21ac385ca9bc8/third_party/blink/renderer/core/dom/document_init.h
[modify] https://crrev.com/6899796671705603bab3ee6eefd21ac385ca9bc8/third_party/blink/renderer/core/loader/document_loader.cc
[modify] https://crrev.com/6899796671705603bab3ee6eefd21ac385ca9bc8/third_party/blink/renderer/core/loader/document_loader.h
[modify] https://crrev.com/6899796671705603bab3ee6eefd21ac385ca9bc8/third_party/blink/renderer/core/loader/frame_loader.cc
[modify] https://crrev.com/6899796671705603bab3ee6eefd21ac385ca9bc8/third_party/blink/renderer/core/loader/frame_loader.h
[add] https://crrev.com/6899796671705603bab3ee6eefd21ac385ca9bc8/third_party/blink/web_tests/http/tests/fetch/chromium/data-saver-enabled.html
[modify] https://crrev.com/6899796671705603bab3ee6eefd21ac385ca9bc8/third_party/blink/web_tests/http/tests/fetch/chromium/data-saver.html
[add] https://crrev.com/6899796671705603bab3ee6eefd21ac385ca9bc8/third_party/blink/web_tests/http/tests/navigation/srcdoc-as-src-expected.txt
[add] https://crrev.com/6899796671705603bab3ee6eefd21ac385ca9bc8/third_party/blink/web_tests/http/tests/navigation/srcdoc-as-src.html
[add] https://crrev.com/6899796671705603bab3ee6eefd21ac385ca9bc8/third_party/blink/web_tests/http/tests/navigation/srcdoc-attribute-reset-expected.txt
[add] https://crrev.com/6899796671705603bab3ee6eefd21ac385ca9bc8/third_party/blink/web_tests/http/tests/navigation/srcdoc-attribute-reset.html

Comment 60 by bugdroid, Jan 23

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/eda26ee36ba1ddfdd09d10ae8d2c1c9df7085ca2

commit eda26ee36ba1ddfdd09d10ae8d2c1c9df7085ca2
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Wed Jan 23 03:31:30 2019

DocumentLoader: drop the redirect check in the renderer

Browser process already did redirect checks for the navigation request
in NavigationURLLoaderImpl::URLLoaderRequestController::OnReceiveRedirect
and NavigationRequest::OnRequestRedirected.

We can just CHECK in the renderer to be on the safe side.

Bug: 855189
Change-Id: I5321713e7d6ba3b2dfcd1f5d54a007503dfd3117
Reviewed-on: https://chromium-review.googlesource.com/c/1424139
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#625065}

Comment 61 by bugdroid, Jan 25

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/00fd5bbe7fb266480a80b54940ce072d2f20eda2

commit 00fd5bbe7fb266480a80b54940ce072d2f20eda2
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Fri Jan 25 20:25:33 2019

Use WebNavigationBodyLoader instead of WebURLLoader for main resource

Previously introduced WebNavigationBodyLoader is now used for
loading the navigation request body, instead of faking the
WebURLRequest.

Brief list of changes in this patch:
- WebNavigationParams take a bunch of request- and response-related
  fields instead of WebURLRequest.
- RenderFrameImpl fills the params instead of constructing a fake
  WebURLRequest, and constructs NavigationBodyLoader.
- DocumentLoader synchronously processes params, and then starts
  body loader to receive the main resource data. Multiple places
  in Blink are interested in main resource loading process, so
  DocumentLoader notifies them by calling DispatchXXX methods
  on FrameFetchContext. We should be able to clean this up later
  if needed.
- webkit_unit_tests mimic production and create a body loader
  of their own.
- Some unrelevant test cases are removed (e.g. checking main
  resource request priority).

With this patch we are just two steps away from committing
navigation synchronously:
- Preload mhtml archives in advance to retrieve the mime type of
  the main document.
- Move commit from "received first byte" to "handle response" step.

Things which could be cleaned up:
- Elegantly notify interested parties about main resource load.
- Simplify the loading flow in DocumentLoader, making it linear.
  Currently, we keep the flow similar to original one, where we
  call StopLoading() from various places to minimize the CL and
  potential risk.

This patch corresponds to step 6.g of the doc linked in the bug.

TBR=mmenke@chromium.org

Bug: 855189
Change-Id: I379172a94d2d59f694d0cbb99f22b147339a5090
Reviewed-on: https://chromium-review.googlesource.com/c/1401238
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Cr-Commit-Position: refs/heads/master@{#626179}

Comment 62 by bugdroid, Jan 28

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/12b5f0c5fd680ff17c218237d2e824feeef2dafe

commit 12b5f0c5fd680ff17c218237d2e824feeef2dafe
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Mon Jan 28 04:04:32 2019

Remove FetchMainResource and SubstituteData

We are not using loader for main resources anymore.

Bug: 855189
Change-Id: I56c5d04e0088f1ae2c1ce6fe2cee9cbfe3ac90d2
Reviewed-on: https://chromium-review.googlesource.com/c/1424166
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Cr-Commit-Position: refs/heads/master@{#626439}

Comment 63 by bugdroid, Jan 28

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c944cb2bf87cd5cbba205200aad3c2fdb22ca3c3

commit c944cb2bf87cd5cbba205200aad3c2fdb22ca3c3
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Mon Jan 28 20:30:14 2019

Remove WebNavigationParams::cache_mode

It has no effect on the request which belongs to WebNavigationInfo struct,
and is actually issued from the browser process.

It is also read back by error pages, which compare it with BypassCache.
We never set that value in production, only in
TestWebFrameClient::CommitNavigation. This change removes all assignments
to WebNavigationParams::cache_mode, so it's easy to check.

Bug: 855189
Change-Id: Icab0af329a976edbdf869ceb442d2bb12d96cda0
Reviewed-on: https://chromium-review.googlesource.com/c/1436074
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Nate Chapin <japhet@chromium.org>
Cr-Commit-Position: refs/heads/master@{#626708}

Comment 64 by bugdroid, Jan 28

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dd615d635e791b74a9ef3d2cb4da23fc12b86ac2

commit dd615d635e791b74a9ef3d2cb4da23fc12b86ac2
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Mon Jan 28 21:15:38 2019

Remove RenderFrameImpl::committing_main_request_

This is not needed since we are not using WebURLRequest
for navigations anymore.

Bug: 855189
Change-Id: I61131ded0d6e4ab1b05834d278209a3c095ca0ea
Reviewed-on: https://chromium-review.googlesource.com/c/1424163
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#626731}

Comment 65 by bugdroid, Jan 29

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/38314cbc8f5026244f6fc00a12fa9c14b3b5789b

commit 38314cbc8f5026244f6fc00a12fa9c14b3b5789b
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Tue Jan 29 01:26:35 2019

Remove blink::ResourceType::kMainResource

Since we are not loading main resources in blink anymore, we can
get rid of kMainResource type and all the code related to main
resources.

Removing kMainResource from probe::willSendRequest requires splitting
that probe into two: one for subresources, and one for navigation
request. We now pass different parameters to these functions and handle
them separately.

Bug: 855189
Change-Id: I67624e40d9ffddabd685805c0e35acb699685c1c
Reviewed-on: https://chromium-review.googlesource.com/c/1434074
Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#626831}
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/core/frame/ad_tracker_test.cc
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/core/html/parser/preload_request.cc
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/core/inspector/inspector_network_agent.cc
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/core/inspector/inspector_network_agent.h
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/core/inspector/inspector_page_agent.cc
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/core/inspector/inspector_trace_events.cc
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/core/inspector/inspector_trace_events.h
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/core/loader/base_fetch_context.cc
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/core/loader/base_fetch_context.h
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/core/loader/base_fetch_context_test.cc
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/core/loader/document_loader.cc
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/core/loader/document_loader.h
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/core/loader/frame_fetch_context.h
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/core/loader/frame_fetch_context_test.cc
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/core/loader/frame_resource_fetcher_properties.cc
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/core/loader/frame_resource_fetcher_properties.h
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/core/loader/preload_helper.cc
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/core/loader/worker_fetch_context.cc
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/core/loader/worker_fetch_context.h
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/core/loader/worker_resource_fetcher_properties.h
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/core/probe/core_probes.json5
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/core/probe/core_probes.pidl
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/modules/service_worker/fetch_event.cc
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/platform/loader/fetch/fetch_context.cc
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/platform/loader/fetch/fetch_context.h
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/platform/loader/fetch/memory_cache_correctness_test.cc
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/platform/loader/fetch/null_resource_fetcher_properties.h
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/platform/loader/fetch/preload_key.h
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/platform/loader/fetch/raw_resource.cc
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/platform/loader/fetch/raw_resource.h
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/platform/loader/fetch/resource.cc
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/platform/loader/fetch/resource.h
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher_properties.h
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher_test.cc
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/platform/loader/fetch/resource_load_scheduler_test.cc
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/platform/loader/fetch/resource_timing_info.h
[modify] https://crrev.com/38314cbc8f5026244f6fc00a12fa9c14b3b5789b/third_party/blink/renderer/platform/loader/testing/test_resource_fetcher_properties.h

Comment 67 by bugdroid, Feb 5

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/655ae699d385e5baf2c06a9ac1e67c9bb67306d8

commit 655ae699d385e5baf2c06a9ac1e67c9bb67306d8
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Tue Feb 05 00:15:12 2019

Simplify MixedContentChecker::HandleCertificateError

1. Settings are the same for all the frames on the page,
so we don't need to call EffectiveFrameForFrameType.
2. Check for top-level frame outside.

This change allows to call HandleCertificateError for main
resources outside of FrameFetchContext.

Bug: 855189
Change-Id: If7aba4a8039ddcfecd4e831f4eefde41f65c4a8b
Reviewed-on: https://chromium-review.googlesource.com/c/1450424
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#628955}
[modify] https://crrev.com/655ae699d385e5baf2c06a9ac1e67c9bb67306d8/third_party/blink/renderer/core/loader/frame_fetch_context.cc
[modify] https://crrev.com/655ae699d385e5baf2c06a9ac1e67c9bb67306d8/third_party/blink/renderer/core/loader/mixed_content_checker.cc
[modify] https://crrev.com/655ae699d385e5baf2c06a9ac1e67c9bb67306d8/third_party/blink/renderer/core/loader/mixed_content_checker.h
[modify] https://crrev.com/655ae699d385e5baf2c06a9ac1e67c9bb67306d8/third_party/blink/renderer/core/loader/mixed_content_checker_test.cc

Comment 68 by bugdroid, Feb 5

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0e4f0ec28c33167fc3259d1bfe3537535068eff2

commit 0e4f0ec28c33167fc3259d1bfe3537535068eff2
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Tue Feb 05 18:33:50 2019

Remove fake request from DocumentLoader

We only used this to call into FrameFetchContext::DispatchDidReceiveResponse.
Instead, we can simplify that method by removing support for main resources
and inline required pieces to DocumentLoader.

Bug: 855189
Change-Id: Ia814c9b5c3febf357831afebe6e1b6ba32b09d87
Reviewed-on: https://chromium-review.googlesource.com/c/1441791
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Cr-Commit-Position: refs/heads/master@{#629230}
[modify] https://crrev.com/0e4f0ec28c33167fc3259d1bfe3537535068eff2/third_party/blink/renderer/core/loader/document_loader.cc
[modify] https://crrev.com/0e4f0ec28c33167fc3259d1bfe3537535068eff2/third_party/blink/renderer/core/loader/document_loader.h
[modify] https://crrev.com/0e4f0ec28c33167fc3259d1bfe3537535068eff2/third_party/blink/renderer/core/loader/frame_fetch_context.cc
[modify] https://crrev.com/0e4f0ec28c33167fc3259d1bfe3537535068eff2/third_party/blink/renderer/core/loader/frame_fetch_context.h

Comment 69 by bugdroid, Feb 5

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4e18bc0ea769193cb353003b8e4c969016ccfa34

commit 4e18bc0ea769193cb353003b8e4c969016ccfa34
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Tue Feb 05 23:06:19 2019

Do not handle data urls in DocumentLoader

This functionality is only used in tests and interstitial pages.
We can instead parse data urls on the call sites and require body
loader to always be present.

Ideally, we should get rid of the special case in RenderFrameImpl,
but current implementation of interstitial pages prevents that.

Bug: 855189
Change-Id: Ic09b2ac641f2a3742d5f38b2f5f8cea2283b43f5
Reviewed-on: https://chromium-review.googlesource.com/c/1436138
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: Nate Chapin <japhet@chromium.org>
Cr-Commit-Position: refs/heads/master@{#629343}
[modify] https://crrev.com/4e18bc0ea769193cb353003b8e4c969016ccfa34/content/public/test/render_view_test.cc
[modify] https://crrev.com/4e18bc0ea769193cb353003b8e4c969016ccfa34/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/4e18bc0ea769193cb353003b8e4c969016ccfa34/content/renderer/render_view_browsertest.cc
[modify] https://crrev.com/4e18bc0ea769193cb353003b8e4c969016ccfa34/third_party/blink/renderer/core/frame/frame_test_helpers.cc
[modify] https://crrev.com/4e18bc0ea769193cb353003b8e4c969016ccfa34/third_party/blink/renderer/core/loader/document_loader.cc
[modify] https://crrev.com/4e18bc0ea769193cb353003b8e4c969016ccfa34/third_party/blink/renderer/platform/testing/DEPS
[modify] https://crrev.com/4e18bc0ea769193cb353003b8e4c969016ccfa34/third_party/blink/renderer/platform/testing/weburl_loader_mock_factory_impl.cc

Comment 70 by bugdroid, Feb 7

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f5b5c5cd80975a0b22cef102a06cab8e35bd730a

commit f5b5c5cd80975a0b22cef102a06cab8e35bd730a
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Thu Feb 07 00:32:32 2019

Preload mhtml document before committing a navigation

This patch makes RenderFrameImpl load the full mhtml response body
before trying to commit it. This is required for synchronous commit
(see doc linked to the bug, steps 8.a and 8.b), because we have
to parse the archive to retrieve the main resource and its mime type
and commit a correct document type.

Brief summary:
- Introduced MHTMLBodyLoader which consumes data from existing
  NavigationBodyLoader and puts it all to WebNavigationParams.
- Split RenderFrameImpl::CommitNavigationWithParams from
  CommitNavigationInternal so that we can commit mhtml after loading
  the response asynchronously. Most of the time we just call
  CommitNavigationWithParams synchronously.
- DocumentLoader now tries to commit mhtml synchronously, and loads
  empty document if that fails (similarly to archive parsing failure).

Bug: 855189

Change-Id: Id27a4e593c1586e1f48591ee0685fdb93aaf8827
Reviewed-on: https://chromium-review.googlesource.com/c/1408351
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#629802}
[modify] https://crrev.com/f5b5c5cd80975a0b22cef102a06cab8e35bd730a/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/f5b5c5cd80975a0b22cef102a06cab8e35bd730a/content/renderer/render_frame_impl.h
[modify] https://crrev.com/f5b5c5cd80975a0b22cef102a06cab8e35bd730a/third_party/blink/public/platform/web_data.h
[modify] https://crrev.com/f5b5c5cd80975a0b22cef102a06cab8e35bd730a/third_party/blink/public/web/web_navigation_params.h
[modify] https://crrev.com/f5b5c5cd80975a0b22cef102a06cab8e35bd730a/third_party/blink/renderer/core/exported/web_navigation_params.cc
[modify] https://crrev.com/f5b5c5cd80975a0b22cef102a06cab8e35bd730a/third_party/blink/renderer/core/frame/mhtml_loading_test.cc
[modify] https://crrev.com/f5b5c5cd80975a0b22cef102a06cab8e35bd730a/third_party/blink/renderer/core/loader/document_loader.cc
[modify] https://crrev.com/f5b5c5cd80975a0b22cef102a06cab8e35bd730a/third_party/blink/renderer/core/loader/document_loader.h
[modify] https://crrev.com/f5b5c5cd80975a0b22cef102a06cab8e35bd730a/third_party/blink/renderer/platform/exported/web_data.cc

Sign in to add a comment