Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(35)

Side by Side Diff: ios/web/navigation/navigation_manager_impl.mm

Issue 2745873002: Created NavigationManager::CopyStateFromAndPrune(). (Closed)
Patch Set: Added no-op tests, addressed Eugene's comments Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/web/navigation/navigation_manager_impl.h" 5 #import "ios/web/navigation/navigation_manager_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <utility> 9 #include <utility>
10 10
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
353 NavigationItem* item = GetVisibleItem(); 353 NavigationItem* item = GetVisibleItem();
354 GURL url = item ? item->GetURL() : GURL(url::kAboutBlankURL); 354 GURL url = item ? item->GetURL() : GURL(url::kAboutBlankURL);
355 web::Referrer referrer = item ? item->GetReferrer() : web::Referrer(); 355 web::Referrer referrer = item ? item->GetReferrer() : web::Referrer();
356 356
357 WebState::OpenURLParams params(url, referrer, 357 WebState::OpenURLParams params(url, referrer,
358 WindowOpenDisposition::CURRENT_TAB, 358 WindowOpenDisposition::CURRENT_TAB,
359 ui::PAGE_TRANSITION_RELOAD, NO); 359 ui::PAGE_TRANSITION_RELOAD, NO);
360 delegate_->GetWebState()->OpenURL(params); 360 delegate_->GetWebState()->OpenURL(params);
361 } 361 }
362 362
363 void NavigationManagerImpl::CopyStateFromAndPrune(
364 const NavigationManager* manager) {
365 DCHECK(manager);
366 CRWSessionController* other_session =
367 static_cast<const NavigationManagerImpl*>(manager)->session_controller_;
368 [session_controller_ copyStateFromSessionControllerAndPrune:other_session];
369 }
370
371 bool NavigationManagerImpl::CanPruneAllButLastCommittedItem() const {
372 return [session_controller_ canPruneAllButLastCommittedItem];
373 }
374
363 std::unique_ptr<std::vector<BrowserURLRewriter::URLRewriter>> 375 std::unique_ptr<std::vector<BrowserURLRewriter::URLRewriter>>
364 NavigationManagerImpl::GetTransientURLRewriters() { 376 NavigationManagerImpl::GetTransientURLRewriters() {
365 return std::move(transient_url_rewriters_); 377 return std::move(transient_url_rewriters_);
366 } 378 }
367 379
368 void NavigationManagerImpl::RemoveTransientURLRewriters() { 380 void NavigationManagerImpl::RemoveTransientURLRewriters() {
369 transient_url_rewriters_.reset(); 381 transient_url_rewriters_.reset();
370 } 382 }
371 383
372 int NavigationManagerImpl::GetIndexForOffset(int offset) const { 384 int NavigationManagerImpl::GetIndexForOffset(int offset) const {
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
455 const ScopedNavigationItemImplList& items = [session_controller_ items]; 467 const ScopedNavigationItemImplList& items = [session_controller_ items];
456 while (index >= 0) { 468 while (index >= 0) {
457 NavigationItem* item = items[index--].get(); 469 NavigationItem* item = items[index--].get();
458 if (!client->IsAppSpecificURL(item->GetVirtualURL())) 470 if (!client->IsAppSpecificURL(item->GetVirtualURL()))
459 return item; 471 return item;
460 } 472 }
461 return nullptr; 473 return nullptr;
462 } 474 }
463 475
464 } // namespace web 476 } // namespace web
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698