| Index: ios/chrome/browser/metrics/tab_usage_recorder.mm | 
| diff --git a/ios/chrome/browser/metrics/tab_usage_recorder.mm b/ios/chrome/browser/metrics/tab_usage_recorder.mm | 
| index b8cd3ba755c83c10c1579699f08b611a79172efe..f4d1b87b78d0bbb2c0a24b610b608d1203b5c8f3 100644 | 
| --- a/ios/chrome/browser/metrics/tab_usage_recorder.mm | 
| +++ b/ios/chrome/browser/metrics/tab_usage_recorder.mm | 
| @@ -8,6 +8,9 @@ | 
| #include "ios/chrome/browser/chrome_url_constants.h" | 
| #import "ios/chrome/browser/metrics/previous_session_info.h" | 
| #import "ios/chrome/browser/tabs/tab.h" | 
| +#import "ios/web/public/navigation_item.h" | 
| +#import "ios/web/public/navigation_manager.h" | 
| +#import "ios/web/public/web_state/web_state.h" | 
| #import "ios/web/web_state/ui/crw_web_controller.h" | 
|  | 
| #if !defined(__has_feature) || !__has_feature(objc_arc) | 
| @@ -298,7 +301,11 @@ | 
| bool TabUsageRecorder::ShouldIgnoreTab(Tab* tab) { | 
| // Do not count chrome:// urls to avoid data noise.  For example, if they were | 
| // counted, every new tab created would add noise to the page load count. | 
| -  return [tab url].SchemeIs(kChromeUIScheme); | 
| +  web::NavigationItem* pending_item = | 
| +      tab.webState->GetNavigationManager()->GetPendingItem(); | 
| +  if (pending_item) | 
| +    return pending_item->GetURL().SchemeIs(kChromeUIScheme); | 
| +  return tab.lastCommittedURL.SchemeIs(kChromeUIScheme); | 
| } | 
|  | 
| bool TabUsageRecorder::TabAlreadyEvicted(Tab* tab) { | 
|  |