Reland "[Nav Experiment] Call LoadIfNecessary() in CWVWebView session restore."

This is a reland of b21bf2bb2df4dd44c41bb463e883b9930a116a70

Original change's description:
> [Nav Experiment] Call LoadIfNecessary() in CWVWebView session restore.
> 
> The web view load scheduled by WKBasedNavigationManager::Restore() is
> deferred when used in CWVWebView's |resetWebStateWithSessionStorage|
> because the |_containerView| is not created until later. This CL calls
> LoadIfNecessary() explicitly after the view is created to trigger the
> session restoration.
> 
> This fixes WebViewRestorableStateTest when WKBasedNavigationManger is
> enabled. A better approach would be to turn this test into a
> programmatic test so both navigation managers implementations are
> tested, but web::features symbols are not exposed in ios/web_view.
> 
> Bug: 862714
> Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;luci.chromium.try:ios-simulator-cronet
> Change-Id: I21e694e3fef6a833f1cce04ff9cebd3784349111
> Reviewed-on: https://chromium-review.googlesource.com/c/1135435
> Commit-Queue: Danyao Wang <danyao@chromium.org>
> Reviewed-by: Eugene But <eugenebut@chromium.org>
> Reviewed-by: Hiroshi Ichikawa <ichikawa@chromium.org>
> Reviewed-by: Justin Cohen <justincohen@chromium.org>
> Auto-Submit: Danyao Wang <danyao@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#626170}

Bug: 862714
Change-Id: I853a8e030bef9f812605eac24c65d8237027f107
Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;luci.chromium.try:ios-simulator-cronet
Reviewed-on: https://chromium-review.googlesource.com/c/1437574
Reviewed-by: Justin Cohen <justincohen@chromium.org>
Reviewed-by: Eugene But <eugenebut@chromium.org>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#626206}
2 files changed