Chromium Code Reviews| 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 31356fbb2a44a2876d05b1a63083384a7cc2d317..4db5b1c4143f46969394f1d6b91a4797d0127aed 100644 |
| --- a/ios/web/web_state/ui/crw_web_controller.mm |
| +++ b/ios/web/web_state/ui/crw_web_controller.mm |
| @@ -1201,6 +1201,8 @@ const NSTimeInterval kSnapshotOverlayTransition = 0.5; |
| // Don't create the web view; let it be lazy created as needed. |
| } else { |
| [self clearTransientContentView]; |
| + if ([self.nativeController respondsToSelector:@selector(willBeDismissed)]) |
| + [self.nativeController willBeDismissed]; |
| [self removeWebViewAllowingCachedReconstruction:YES]; |
| _touchTrackingRecognizer.get().touchTrackingDelegate = nil; |
| _touchTrackingRecognizer.reset(); |
| @@ -1278,6 +1280,8 @@ const NSTimeInterval kSnapshotOverlayTransition = 0.5; |
| self.nativeProvider = nil; |
| self.swipeRecognizerProvider = nil; |
| + if ([self.nativeController respondsToSelector:@selector(willBeDismissed)]) |
| + [self.nativeController willBeDismissed]; |
| if ([self.nativeController respondsToSelector:@selector(close)]) |
| [self.nativeController close]; |
| @@ -2018,6 +2022,9 @@ const NSTimeInterval kSnapshotOverlayTransition = 0.5; |
| // addPendingEntry is called. |
| [_delegate webWillInitiateLoadWithParams:params]; |
| + if ([self.nativeController respondsToSelector:@selector(willBeDismissed)]) { |
| + [self.nativeController willBeDismissed]; |
| + } |
| GURL navUrl = params.url; |
| ui::PageTransition transition = params.transition_type; |
| @@ -2076,6 +2083,9 @@ const NSTimeInterval kSnapshotOverlayTransition = 0.5; |
| // Reset current WebUI if one exists. |
| [self clearWebUI]; |
| + if ([self.nativeController respondsToSelector:@selector(willBeDismissed)]) |
| + [self.nativeController willBeDismissed]; |
|
Eugene But (OOO till 7-30)
2016/12/19 18:47:05
It looks like |willBeDismissed| should be called o
Olivier
2016/12/20 12:29:47
Done.
|
| + |
| // Abort any outstanding page load. This ensures the delegate gets informed |
| // about the outgoing page, and further messages from the page are suppressed. |
| if (_loadPhase != web::PAGE_LOADED) |
| @@ -2279,6 +2289,9 @@ const NSTimeInterval kSnapshotOverlayTransition = 0.5; |
| if (!_webStateImpl->IsShowingWebInterstitial()) |
| [self recordStateInHistory]; |
| + if ([self.nativeController respondsToSelector:@selector(willBeDismissed)]) |
|
Eugene But (OOO till 7-30)
2016/12/19 18:47:05
|goToItemAtIndex:| calls |loadCurrentURL| or |load
Olivier
2016/12/20 12:29:47
Done.
|
| + [self.nativeController willBeDismissed]; |
| + |
| CRWSessionEntry* fromEntry = self.sessionController.currentEntry; |
| NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults]; |
| @@ -4863,6 +4876,8 @@ const NSTimeInterval kSnapshotOverlayTransition = 0.5; |
| - (void)loadHTML:(NSString*)HTML forURL:(const GURL&)URL { |
| // Remove the transient content view. |
| [self clearTransientContentView]; |
| + if ([self.nativeController respondsToSelector:@selector(willBeDismissed)]) |
| + [self.nativeController willBeDismissed]; |
| _loadPhase = web::LOAD_REQUESTED; |