| Index: ios/web/web_state/ui/crw_web_controller.mm
|
| diff --git a/ios/web/web_state/ui/crw_web_controller.mm b/ios/web/web_state/ui/crw_web_controller.mm
|
| index b35cdc7dcc06a5253881840741c74a8d56f0bce7..a5106aec571d441d7d34f93a9b084993b8296549 100644
|
| --- a/ios/web/web_state/ui/crw_web_controller.mm
|
| +++ b/ios/web/web_state/ui/crw_web_controller.mm
|
| @@ -5131,6 +5131,19 @@ const NSTimeInterval kSnapshotOverlayTransition = 0.5;
|
| [self registerLoadRequest:webViewURL];
|
| }
|
| }
|
| +
|
| + if (![self currentSessionEntry]) {
|
| + // In this state CRWWebController will crash in |didCommitNavigation:|
|
| + // (crbug.com/676458). It's unclear if web controller could get into this
|
| + // state but it's one of the guesses for crbug.com/676458 root cause. Report
|
| + // UMA historgam if that happens.
|
| + // TODO(crbug.com/677552): Remove this historgam.
|
| + UMA_HISTOGRAM_BOOLEAN(
|
| + "WebController."
|
| + "StartProvisionalNavigationExitedWithEmptyNavigationManager",
|
| + true);
|
| + }
|
| +
|
| // Ensure the URL is registered and loadPhase is as expected.
|
| DCHECK(_lastRegisteredRequestURL == webViewURL);
|
| DCHECK(self.loadPhase == web::LOAD_REQUESTED);
|
|
|