OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #import "ios/chrome/browser/tabs/tab_model.h" | 5 #import "ios/chrome/browser/tabs/tab_model.h" |
6 | 6 |
7 #include <cstdint> | 7 #include <cstdint> |
8 #include <utility> | 8 #include <utility> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 722 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
733 DCHECK([_tabRetainer containsObject:closedTab]); | 733 DCHECK([_tabRetainer containsObject:closedTab]); |
734 int closedTabIndex = _webStateList.GetIndexOfWebState(closedTab.webState); | 734 int closedTabIndex = _webStateList.GetIndexOfWebState(closedTab.webState); |
735 DCHECK_NE(closedTabIndex, WebStateList::kInvalidIndex); | 735 DCHECK_NE(closedTabIndex, WebStateList::kInvalidIndex); |
736 DCHECK_GE(closedTabIndex, 0); | 736 DCHECK_GE(closedTabIndex, 0); |
737 | 737 |
738 // Let the sessions::TabRestoreService know about that new tab. | 738 // Let the sessions::TabRestoreService know about that new tab. |
739 sessions::TabRestoreService* restoreService = | 739 sessions::TabRestoreService* restoreService = |
740 _browserState | 740 _browserState |
741 ? IOSChromeTabRestoreServiceFactory::GetForBrowserState(_browserState) | 741 ? IOSChromeTabRestoreServiceFactory::GetForBrowserState(_browserState) |
742 : nullptr; | 742 : nullptr; |
743 web::NavigationManagerImpl* navigationManager = [closedTab navigationManager]; | 743 web::NavigationManager* navigationManager = [closedTab navigationManager]; |
744 DCHECK(navigationManager); | 744 DCHECK(navigationManager); |
745 int itemCount = navigationManager->GetItemCount(); | 745 int itemCount = navigationManager->GetItemCount(); |
746 if (restoreService && (![self isNTPTab:closedTab] || itemCount > 1)) { | 746 if (restoreService && (![self isNTPTab:closedTab] || itemCount > 1)) { |
747 restoreService->CreateHistoricalTab( | 747 restoreService->CreateHistoricalTab( |
748 sessions::IOSLiveTab::GetForWebState(closedTab.webState), | 748 sessions::IOSLiveTab::GetForWebState(closedTab.webState), |
749 closedTabIndex); | 749 closedTabIndex); |
750 } | 750 } |
751 // This needs to be called before the tab is removed from the list. | 751 // This needs to be called before the tab is removed from the list. |
752 Tab* newSelection = | 752 Tab* newSelection = |
753 [_orderController determineNewSelectedTabFromRemovedTab:closedTab]; | 753 [_orderController determineNewSelectedTabFromRemovedTab:closedTab]; |
(...skipping 26 matching lines...) Expand all Loading... |
780 } | 780 } |
781 | 781 |
782 - (void)navigationCommittedInTab:(Tab*)tab { | 782 - (void)navigationCommittedInTab:(Tab*)tab { |
783 if (self.offTheRecord) | 783 if (self.offTheRecord) |
784 return; | 784 return; |
785 if (![tab navigationManager]) | 785 if (![tab navigationManager]) |
786 return; | 786 return; |
787 | 787 |
788 // See if the navigation was within a page; if so ignore it. | 788 // See if the navigation was within a page; if so ignore it. |
789 web::NavigationItem* previousItem = | 789 web::NavigationItem* previousItem = |
790 [tab navigationManager]->GetPreviousItem(); | 790 [tab navigationManagerImpl]->GetPreviousItem(); |
791 if (previousItem) { | 791 if (previousItem) { |
792 GURL previousURL = previousItem->GetURL(); | 792 GURL previousURL = previousItem->GetURL(); |
793 GURL currentURL = [tab navigationManager]->GetVisibleItem()->GetURL(); | 793 GURL currentURL = [tab navigationManager]->GetVisibleItem()->GetURL(); |
794 | 794 |
795 url::Replacements<char> replacements; | 795 url::Replacements<char> replacements; |
796 replacements.ClearRef(); | 796 replacements.ClearRef(); |
797 if (previousURL.ReplaceComponents(replacements) == | 797 if (previousURL.ReplaceComponents(replacements) == |
798 currentURL.ReplaceComponents(replacements)) { | 798 currentURL.ReplaceComponents(replacements)) { |
799 return; | 799 return; |
800 } | 800 } |
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1060 web::NavigationManager::WebLoadParams params(URL); | 1060 web::NavigationManager::WebLoadParams params(URL); |
1061 params.referrer = referrer; | 1061 params.referrer = referrer; |
1062 params.transition_type = ui::PAGE_TRANSITION_TYPED; | 1062 params.transition_type = ui::PAGE_TRANSITION_TYPED; |
1063 [[tab webController] loadWithParams:params]; | 1063 [[tab webController] loadWithParams:params]; |
1064 [tab webController].webUsageEnabled = webUsageEnabled_; | 1064 [tab webController].webUsageEnabled = webUsageEnabled_; |
1065 [self insertTab:tab atIndex:index opener:parentTab]; | 1065 [self insertTab:tab atIndex:index opener:parentTab]; |
1066 return tab; | 1066 return tab; |
1067 } | 1067 } |
1068 | 1068 |
1069 @end | 1069 @end |
OLD | NEW |