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}
63 files changed