| 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.
|
|
|