| Index: ios/web/web_state/ui/crw_web_controller.mm
 | 
| diff --git a/ios/web/web_state/ui/crw_web_controller.mm b/ios/web/web_state/ui/crw_web_controller.mm
 | 
| index 5d3d172b208b6c4a1e921e4a8ed74959b443cbcc..e162b1a18f0827149c95b2c8217c80a24fbd7e26 100644
 | 
| --- a/ios/web/web_state/ui/crw_web_controller.mm
 | 
| +++ b/ios/web/web_state/ui/crw_web_controller.mm
 | 
| @@ -2332,7 +2332,7 @@ - (BOOL)shouldClosePageOnNativeApplicationLoad {
 | 
|  
 | 
|  - (BOOL)usesDesktopUserAgent {
 | 
|    web::NavigationItem* item = [self currentNavItem];
 | 
| -  return item && item->IsOverridingUserAgent();
 | 
| +  return item && item->GetUserAgentType() == web::UserAgentType::DESKTOP;
 | 
|  }
 | 
|  
 | 
|  - (web::MojoFacade*)mojoFacade {
 | 
| @@ -2382,12 +2382,11 @@ - (void)updateDesktopUserAgentForEntry:(CRWSessionEntry*)entry
 | 
|                               fromEntry:(CRWSessionEntry*)fromEntry {
 | 
|    web::NavigationItemImpl* item = entry.navigationItemImpl;
 | 
|    web::NavigationItemImpl* fromItem = fromEntry.navigationItemImpl;
 | 
| -  if (!item || !fromItem)
 | 
| +  web::UserAgentType itemUserAgentType = item->GetUserAgentType();
 | 
| +  if (!item || !fromItem || itemUserAgentType == web::UserAgentType::NONE)
 | 
|      return;
 | 
| -  bool useDesktopUserAgent = item->IsOverridingUserAgent();
 | 
| -  if (useDesktopUserAgent != fromItem->IsOverridingUserAgent()) {
 | 
| +  if (itemUserAgentType != fromItem->GetUserAgentType())
 | 
|      [self requirePageReconstruction];
 | 
| -  }
 | 
|  }
 | 
|  
 | 
|  #pragma mark -
 | 
| 
 |