for loading url
This CL ensures that chrome::AddWebContents() always returns the web
contents in which navigation has happened via ::Navigate() all the
way to WebContentsImpl::CreateNewWindow(), during a new top level
creation.
This allows url loading in the web contents to be done via the same
LoadUrlParams that the blink layer initially sent to complete
navigation, leading to its properties still being maintained, which
is more secure. Currently, the NavigationParams being created from
this function do not maintain that information, which could be
problematic.
This helps solve the following PWA navigation capturing use-case:
1. App A creates a new top level traversable of App B for url b.com
2. App B already has an open window with a launch_handling of
Navigate existing, in which case, App B's window is focussed.
3. Navigation to b.com/ happens in App B's window.
Currently, the navigation to url b.com/ does not accurately
populate all the LoadUrlParams, leading to dropped information. More
details are in https://docs.google.com/document/d/1a8NgBD26ovh3rqpt5QWMAI6wQ-V68OJoEtJ-W--cNMY/edit#heading=h.ybqtwkw0flyr
Bug: 359599878, 359600606, 351775835
Change-Id: I368119eb848259a4092a280c671b015dddcfde04
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5791853
Reviewed-by: Zijie He <zijiehe@google.com>
Reviewed-by: Max Curran <curranmax@chromium.org>
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Commit-Queue: Dibyajyoti Pal <dibyapal@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Peter Kvitek <kvitekp@chromium.org>
Reviewed-by: Nate Fischer <ntfschr@chromium.org>
Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1346275}