| 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 7f7eec763044f42cc71f4adbadc558bfcb7f17de..d03bf9481386425669ff7c8f9bbaf4f29a8a8796 100644
|
| --- a/ios/web/navigation/crw_session_controller.mm
|
| +++ b/ios/web/navigation/crw_session_controller.mm
|
| @@ -73,6 +73,10 @@
|
| // The timestamp of the last time this tab is visited, represented in time
|
| // 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
|
| @@ -492,14 +496,11 @@
|
| transition:(ui::PageTransition)transition {
|
| DCHECK(![self pendingEntry]);
|
| DCHECK([self currentEntry]);
|
| -
|
| - web::NavigationItem* lastCommittedItem =
|
| - self.lastCommittedEntry.navigationItem;
|
| + web::NavigationItem* currentItem = [self currentEntry].navigationItem;
|
| CHECK(web::history_state_util::IsHistoryStateChangeValid(
|
| - lastCommittedItem->GetURL(), URL));
|
| -
|
| - web::Referrer referrer(lastCommittedItem->GetURL(),
|
| - web::ReferrerPolicyDefault);
|
| + currentItem->GetURL(), URL));
|
| + web::Referrer referrer(currentItem->GetURL(), web::ReferrerPolicyDefault);
|
| +
|
| base::scoped_nsobject<CRWSessionEntry> pushedEntry([self
|
| sessionEntryWithURL:URL
|
| referrer:referrer
|
| @@ -507,11 +508,11 @@
|
| initiationType:web::NavigationInitiationType::USER_INITIATED]);
|
|
|
| web::NavigationItemImpl* pushedItem = [pushedEntry navigationItemImpl];
|
| - pushedItem->SetIsOverridingUserAgent(
|
| - lastCommittedItem->IsOverridingUserAgent());
|
| + pushedItem->SetIsOverridingUserAgent(currentItem->IsOverridingUserAgent());
|
| pushedItem->SetSerializedStateObject(stateObject);
|
| pushedItem->SetIsCreatedFromPushState(true);
|
| - pushedItem->GetSSL() = lastCommittedItem->GetSSL();
|
| + web::SSLStatus& sslStatus = [self currentEntry].navigationItem->GetSSL();
|
| + pushedEntry.get().navigationItem->GetSSL() = sslStatus;
|
|
|
| [self clearForwardItems];
|
| // Add the new entry at the end.
|
|
|