Chromium Code Reviews| 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..ec1ade88f4938e007011eceebf6562d1729a9a34 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)); |
|
Eugene But (OOO till 7-30)
2017/02/23 18:00:12
web::NavigationItem* lastCommittedItem = self.last
liaoyuke
2017/02/23 18:37:11
Done.
|
| + 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. |