Index: ios/web/navigation/legacy_navigation_manager_impl.mm |
diff --git a/ios/web/navigation/navigation_manager_impl.mm b/ios/web/navigation/legacy_navigation_manager_impl.mm |
similarity index 77% |
rename from ios/web/navigation/navigation_manager_impl.mm |
rename to ios/web/navigation/legacy_navigation_manager_impl.mm |
index 46f7e407b98a18cecf4850e256a2c44e3b3414e7..8609620fec1e017a9b05c94b2b76db40096f3397 100644 |
--- a/ios/web/navigation/navigation_manager_impl.mm |
+++ b/ios/web/navigation/legacy_navigation_manager_impl.mm |
@@ -1,8 +1,8 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
+// Copyright 2017 The Chromium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#import "ios/web/navigation/navigation_manager_impl.h" |
+#import "ios/web/navigation/legacy_navigation_manager_impl.h" |
#include <stddef.h> |
@@ -71,34 +71,35 @@ NavigationManager::WebLoadParams& NavigationManager::WebLoadParams::operator=( |
return *this; |
} |
-NavigationManagerImpl::NavigationManagerImpl() |
+LegacyNavigationManagerImpl::LegacyNavigationManagerImpl() |
: delegate_(nullptr), browser_state_(nullptr) {} |
-NavigationManagerImpl::~NavigationManagerImpl() { |
+LegacyNavigationManagerImpl::~LegacyNavigationManagerImpl() { |
[session_controller_ setNavigationManager:nullptr]; |
} |
-void NavigationManagerImpl::SetDelegate(NavigationManagerDelegate* delegate) { |
+void LegacyNavigationManagerImpl::SetDelegate( |
+ NavigationManagerDelegate* delegate) { |
delegate_ = delegate; |
} |
-void NavigationManagerImpl::SetBrowserState(BrowserState* browser_state) { |
+void LegacyNavigationManagerImpl::SetBrowserState(BrowserState* browser_state) { |
browser_state_ = browser_state; |
[session_controller_ setBrowserState:browser_state]; |
} |
-void NavigationManagerImpl::SetSessionController( |
+void LegacyNavigationManagerImpl::SetSessionController( |
CRWSessionController* session_controller) { |
session_controller_.reset(session_controller); |
[session_controller_ setNavigationManager:this]; |
} |
-void NavigationManagerImpl::InitializeSession() { |
+void LegacyNavigationManagerImpl::InitializeSession() { |
SetSessionController( |
[[CRWSessionController alloc] initWithBrowserState:browser_state_]); |
} |
-void NavigationManagerImpl::ReplaceSessionHistory( |
+void LegacyNavigationManagerImpl::ReplaceSessionHistory( |
std::vector<std::unique_ptr<web::NavigationItem>> items, |
int lastCommittedItemIndex) { |
SetSessionController([[CRWSessionController alloc] |
@@ -107,15 +108,16 @@ void NavigationManagerImpl::ReplaceSessionHistory( |
lastCommittedItemIndex:lastCommittedItemIndex]); |
} |
-void NavigationManagerImpl::OnNavigationItemsPruned(size_t pruned_item_count) { |
+void LegacyNavigationManagerImpl::OnNavigationItemsPruned( |
+ size_t pruned_item_count) { |
delegate_->OnNavigationItemsPruned(pruned_item_count); |
} |
-void NavigationManagerImpl::OnNavigationItemChanged() { |
+void LegacyNavigationManagerImpl::OnNavigationItemChanged() { |
delegate_->OnNavigationItemChanged(); |
} |
-void NavigationManagerImpl::OnNavigationItemCommitted() { |
+void LegacyNavigationManagerImpl::OnNavigationItemCommitted() { |
LoadCommittedDetails details; |
details.item = GetLastCommittedItem(); |
DCHECK(details.item); |
@@ -133,11 +135,12 @@ void NavigationManagerImpl::OnNavigationItemCommitted() { |
delegate_->OnNavigationItemCommitted(details); |
} |
-CRWSessionController* NavigationManagerImpl::GetSessionController() { |
+CRWSessionController* LegacyNavigationManagerImpl::GetSessionController() |
+ const { |
return session_controller_; |
} |
-void NavigationManagerImpl::AddTransientItem(const GURL& url) { |
+void LegacyNavigationManagerImpl::AddTransientItem(const GURL& url) { |
[session_controller_ addTransientItemWithURL:url]; |
// TODO(crbug.com/676129): Transient item is only supposed to be added for |
@@ -150,7 +153,7 @@ void NavigationManagerImpl::AddTransientItem(const GURL& url) { |
GetTransientItem()->SetUserAgentType(item->GetUserAgentType()); |
} |
-void NavigationManagerImpl::AddPendingItem( |
+void LegacyNavigationManagerImpl::AddPendingItem( |
const GURL& url, |
const web::Referrer& referrer, |
ui::PageTransition navigation_type, |
@@ -204,44 +207,44 @@ void NavigationManagerImpl::AddPendingItem( |
} |
} |
-void NavigationManagerImpl::CommitPendingItem() { |
+void LegacyNavigationManagerImpl::CommitPendingItem() { |
[session_controller_ commitPendingItem]; |
} |
-BrowserState* NavigationManagerImpl::GetBrowserState() const { |
+BrowserState* LegacyNavigationManagerImpl::GetBrowserState() const { |
return browser_state_; |
} |
-WebState* NavigationManagerImpl::GetWebState() const { |
+WebState* LegacyNavigationManagerImpl::GetWebState() const { |
return delegate_->GetWebState(); |
} |
-NavigationItem* NavigationManagerImpl::GetVisibleItem() const { |
+NavigationItem* LegacyNavigationManagerImpl::GetVisibleItem() const { |
return [session_controller_ visibleItem]; |
} |
-NavigationItem* NavigationManagerImpl::GetLastCommittedItem() const { |
+NavigationItem* LegacyNavigationManagerImpl::GetLastCommittedItem() const { |
return [session_controller_ lastCommittedItem]; |
} |
-NavigationItem* NavigationManagerImpl::GetPendingItem() const { |
+NavigationItem* LegacyNavigationManagerImpl::GetPendingItem() const { |
return [session_controller_ pendingItem]; |
} |
-NavigationItem* NavigationManagerImpl::GetTransientItem() const { |
+NavigationItem* LegacyNavigationManagerImpl::GetTransientItem() const { |
return [session_controller_ transientItem]; |
} |
-void NavigationManagerImpl::DiscardNonCommittedItems() { |
+void LegacyNavigationManagerImpl::DiscardNonCommittedItems() { |
[session_controller_ discardNonCommittedItems]; |
} |
-void NavigationManagerImpl::LoadURLWithParams( |
+void LegacyNavigationManagerImpl::LoadURLWithParams( |
const NavigationManager::WebLoadParams& params) { |
delegate_->LoadURLWithParams(params); |
} |
-void NavigationManagerImpl::AddTransientURLRewriter( |
+void LegacyNavigationManagerImpl::AddTransientURLRewriter( |
BrowserURLRewriter::URLRewriter rewriter) { |
DCHECK(rewriter); |
if (!transient_url_rewriters_) { |
@@ -251,20 +254,26 @@ void NavigationManagerImpl::AddTransientURLRewriter( |
transient_url_rewriters_->push_back(rewriter); |
} |
-int NavigationManagerImpl::GetItemCount() const { |
+int LegacyNavigationManagerImpl::GetItemCount() const { |
return [session_controller_ items].size(); |
} |
-NavigationItem* NavigationManagerImpl::GetItemAtIndex(size_t index) const { |
+NavigationItem* LegacyNavigationManagerImpl::GetItemAtIndex( |
+ size_t index) const { |
+ return GetNavigationItemImplAtIndex(index); |
+} |
+ |
+NavigationItemImpl* LegacyNavigationManagerImpl::GetNavigationItemImplAtIndex( |
+ size_t index) const { |
return [session_controller_ itemAtIndex:index]; |
} |
-int NavigationManagerImpl::GetIndexOfItem( |
+int LegacyNavigationManagerImpl::GetIndexOfItem( |
const web::NavigationItem* item) const { |
return [session_controller_ indexOfItem:item]; |
} |
-int NavigationManagerImpl::GetPendingItemIndex() const { |
+int LegacyNavigationManagerImpl::GetPendingItemIndex() const { |
if (GetPendingItem()) { |
if ([session_controller_ pendingItemIndex] != -1) { |
return [session_controller_ pendingItemIndex]; |
@@ -276,13 +285,13 @@ int NavigationManagerImpl::GetPendingItemIndex() const { |
return -1; |
} |
-int NavigationManagerImpl::GetLastCommittedItemIndex() const { |
+int LegacyNavigationManagerImpl::GetLastCommittedItemIndex() const { |
if (GetItemCount() == 0) |
return -1; |
return [session_controller_ lastCommittedItemIndex]; |
} |
-bool NavigationManagerImpl::RemoveItemAtIndex(int index) { |
+bool LegacyNavigationManagerImpl::RemoveItemAtIndex(int index) { |
if (index == GetLastCommittedItemIndex() || index == GetPendingItemIndex()) |
return false; |
@@ -293,41 +302,41 @@ bool NavigationManagerImpl::RemoveItemAtIndex(int index) { |
return true; |
} |
-bool NavigationManagerImpl::CanGoBack() const { |
+bool LegacyNavigationManagerImpl::CanGoBack() const { |
return CanGoToOffset(-1); |
} |
-bool NavigationManagerImpl::CanGoForward() const { |
+bool LegacyNavigationManagerImpl::CanGoForward() const { |
return CanGoToOffset(1); |
} |
-bool NavigationManagerImpl::CanGoToOffset(int offset) const { |
+bool LegacyNavigationManagerImpl::CanGoToOffset(int offset) const { |
int index = GetIndexForOffset(offset); |
return 0 <= index && index < GetItemCount(); |
} |
-void NavigationManagerImpl::GoBack() { |
+void LegacyNavigationManagerImpl::GoBack() { |
delegate_->GoToIndex(GetIndexForOffset(-1)); |
} |
-void NavigationManagerImpl::GoForward() { |
+void LegacyNavigationManagerImpl::GoForward() { |
delegate_->GoToIndex(GetIndexForOffset(1)); |
} |
-void NavigationManagerImpl::GoToIndex(int index) { |
+void LegacyNavigationManagerImpl::GoToIndex(int index) { |
delegate_->GoToIndex(index); |
} |
-NavigationItemList NavigationManagerImpl::GetBackwardItems() const { |
+NavigationItemList LegacyNavigationManagerImpl::GetBackwardItems() const { |
return [session_controller_ backwardItems]; |
} |
-NavigationItemList NavigationManagerImpl::GetForwardItems() const { |
+NavigationItemList LegacyNavigationManagerImpl::GetForwardItems() const { |
return [session_controller_ forwardItems]; |
} |
-void NavigationManagerImpl::Reload(ReloadType reload_type, |
- bool check_for_reposts) { |
+void LegacyNavigationManagerImpl::Reload(ReloadType reload_type, |
+ bool check_for_reposts) { |
if (!GetTransientItem() && !GetPendingItem() && !GetLastCommittedItem()) |
return; |
@@ -355,28 +364,29 @@ void NavigationManagerImpl::Reload(ReloadType reload_type, |
delegate_->Reload(); |
} |
-void NavigationManagerImpl::CopyStateFromAndPrune( |
+void LegacyNavigationManagerImpl::CopyStateFromAndPrune( |
const NavigationManager* manager) { |
DCHECK(manager); |
CRWSessionController* other_session = |
- static_cast<const NavigationManagerImpl*>(manager)->session_controller_; |
+ static_cast<const NavigationManagerImpl*>(manager) |
+ ->GetSessionController(); |
[session_controller_ copyStateFromSessionControllerAndPrune:other_session]; |
} |
-bool NavigationManagerImpl::CanPruneAllButLastCommittedItem() const { |
+bool LegacyNavigationManagerImpl::CanPruneAllButLastCommittedItem() const { |
return [session_controller_ canPruneAllButLastCommittedItem]; |
} |
std::unique_ptr<std::vector<BrowserURLRewriter::URLRewriter>> |
-NavigationManagerImpl::GetTransientURLRewriters() { |
+LegacyNavigationManagerImpl::GetTransientURLRewriters() { |
return std::move(transient_url_rewriters_); |
} |
-void NavigationManagerImpl::RemoveTransientURLRewriters() { |
+void LegacyNavigationManagerImpl::RemoveTransientURLRewriters() { |
transient_url_rewriters_.reset(); |
} |
-int NavigationManagerImpl::GetIndexForOffset(int offset) const { |
+int LegacyNavigationManagerImpl::GetIndexForOffset(int offset) const { |
int result = [session_controller_ pendingItemIndex] == -1 |
? GetLastCommittedItemIndex() |
: static_cast<int>([session_controller_ pendingItemIndex]); |
@@ -424,15 +434,15 @@ int NavigationManagerImpl::GetIndexForOffset(int offset) const { |
return result; |
} |
-bool NavigationManagerImpl::IsRedirectItemAtIndex(int index) const { |
+bool LegacyNavigationManagerImpl::IsRedirectItemAtIndex(int index) const { |
DCHECK_GE(index, 0); |
DCHECK_LT(index, GetItemCount()); |
ui::PageTransition transition = GetItemAtIndex(index)->GetTransitionType(); |
return transition & ui::PAGE_TRANSITION_IS_REDIRECT_MASK; |
} |
-NavigationItem* NavigationManagerImpl::GetLastCommittedNonAppSpecificItem() |
- const { |
+NavigationItem* |
+LegacyNavigationManagerImpl::GetLastCommittedNonAppSpecificItem() const { |
int index = GetLastCommittedItemIndex(); |
if (index == -1) |
return nullptr; |
@@ -446,4 +456,8 @@ NavigationItem* NavigationManagerImpl::GetLastCommittedNonAppSpecificItem() |
return nullptr; |
} |
+size_t LegacyNavigationManagerImpl::GetPreviousItemIndex() const { |
+ return [session_controller_ previousItemIndex]; |
+} |
+ |
} // namespace web |