Move NavigationRequest creation to NavigationController 3/3

This CL creates a new function in NavigationController following the move of
the NavigationRequest creation to the NavigationController. This function,
NavigateWithoutEntry is called for new navigations, for which we don't have a
NavigationEntry. It creates a pending NavigationEntry and a single
NavigationRequest based on the LoadURLParams, then asks the Navigator to
navigate to it. This allows the creation of NavigationRequests based on
LoadURLParams in a function that has access to LoadURLParams.

This is part of a larger refactoring effort. I plan to follow up this
CL by additional work:
1) Adding another method for creating NavigationRequests that only uses the
LoadURLParams and does not depend on the pending NavigationEntry.

2) Introduce a NavigateToExistingEntry method that will be used for navigations
to existing NavigationEntries.

3) Unifying code in StartHistoryNavigationInNewChild and NavigateFromFrameProxy
with NavigateToExistingEntry and NavigateWithoutEntry.

4) Removing the pending NavigationEntry and instead create NavigationEntries
from the NavigationRequests when the navigation commits.

Bug: 803365, 803859
Change-Id: I325ddbab2309ce88c138e7e92755aa31cc6c4617
Reviewed-on: https://chromium-review.googlesource.com/904988
Commit-Queue: Camille Lamy <clamy@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Charlie Reis <creis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566817}
2 files changed