Index: ios/chrome/browser/ui/browser_view_controller.mm |
diff --git a/ios/chrome/browser/ui/browser_view_controller.mm b/ios/chrome/browser/ui/browser_view_controller.mm |
index 6a4a6377932b8bb80bc74322b25a863d130bcf91..9d1a6bfb421b1fd72832044152a7b607ab025501 100644 |
--- a/ios/chrome/browser/ui/browser_view_controller.mm |
+++ b/ios/chrome/browser/ui/browser_view_controller.mm |
@@ -3678,15 +3678,15 @@ - (void)loadURL:(const GURL&)url |
Tab* newTab = [_preloadController releasePrerenderContents]; |
DCHECK(oldTab); |
DCHECK(newTab); |
- if (oldTab && newTab) { |
+ BOOL canPruneItems = |
Eugene But (OOO till 7-30)
2017/03/15 19:54:51
s/BOOL/bool
kkhorimoto
2017/03/15 21:04:38
Done.
|
+ [newTab navigationManager]->CanPruneAllButLastCommittedItem(); |
+ if (oldTab && newTab && canPruneItems) { |
[oldTab recordStateInHistory]; |
- DCHECK([newTab navigationManager]); |
CRWSessionController* newHistory = |
[newTab navigationManagerImpl]->GetSessionController(); |
- DCHECK([oldTab navigationManager]); |
CRWSessionController* oldHistory = |
[oldTab navigationManagerImpl]->GetSessionController(); |
- [newHistory insertStateFromSessionController:oldHistory]; |
+ [newHistory copyStateFromSessionControllerAndPrune:oldHistory]; |
[[newTab nativeAppNavigationController] |
copyStateFrom:[oldTab nativeAppNavigationController]]; |
[_model replaceTab:oldTab withTab:newTab]; |