Index: ios/web/navigation/crw_session_controller.mm |
diff --git a/ios/web/navigation/crw_session_controller.mm b/ios/web/navigation/crw_session_controller.mm |
index d03bf9481386425669ff7c8f9bbaf4f29a8a8796..7f7eec763044f42cc71f4adbadc558bfcb7f17de 100644 |
--- a/ios/web/navigation/crw_session_controller.mm |
+++ b/ios/web/navigation/crw_session_controller.mm |
@@ -74,10 +74,6 @@ @interface CRWSessionController () { |
// interval since 1970. |
NSTimeInterval _lastVisitedTimestamp; |
- // If |YES|, override |currentEntry.useDesktopUserAgent| and create the |
- // pending entry using the desktop user agent. |
- BOOL _useDesktopUserAgentForNextPendingItem; |
- |
// The browser state associated with this CRWSessionController; |
web::BrowserState* _browserState; // weak |
@@ -496,11 +492,14 @@ - (void)pushNewItemWithURL:(const GURL&)URL |
transition:(ui::PageTransition)transition { |
DCHECK(![self pendingEntry]); |
DCHECK([self currentEntry]); |
- web::NavigationItem* currentItem = [self currentEntry].navigationItem; |
+ |
+ web::NavigationItem* lastCommittedItem = |
+ self.lastCommittedEntry.navigationItem; |
CHECK(web::history_state_util::IsHistoryStateChangeValid( |
- currentItem->GetURL(), URL)); |
- web::Referrer referrer(currentItem->GetURL(), web::ReferrerPolicyDefault); |
+ lastCommittedItem->GetURL(), URL)); |
+ web::Referrer referrer(lastCommittedItem->GetURL(), |
+ web::ReferrerPolicyDefault); |
base::scoped_nsobject<CRWSessionEntry> pushedEntry([self |
sessionEntryWithURL:URL |
referrer:referrer |
@@ -508,11 +507,11 @@ - (void)pushNewItemWithURL:(const GURL&)URL |
initiationType:web::NavigationInitiationType::USER_INITIATED]); |
web::NavigationItemImpl* pushedItem = [pushedEntry navigationItemImpl]; |
- pushedItem->SetIsOverridingUserAgent(currentItem->IsOverridingUserAgent()); |
+ pushedItem->SetIsOverridingUserAgent( |
+ lastCommittedItem->IsOverridingUserAgent()); |
pushedItem->SetSerializedStateObject(stateObject); |
pushedItem->SetIsCreatedFromPushState(true); |
- web::SSLStatus& sslStatus = [self currentEntry].navigationItem->GetSSL(); |
- pushedEntry.get().navigationItem->GetSSL() = sslStatus; |
+ pushedItem->GetSSL() = lastCommittedItem->GetSSL(); |
[self clearForwardItems]; |
// Add the new entry at the end. |