| Index: chrome/browser/memory/tab_manager.cc
 | 
| diff --git a/chrome/browser/memory/tab_manager.cc b/chrome/browser/memory/tab_manager.cc
 | 
| index 582b2e667099f6fa0085f6721c4b9c69a37709c8..8c53fe7f154a316855deff74eb78b644af589fc2 100644
 | 
| --- a/chrome/browser/memory/tab_manager.cc
 | 
| +++ b/chrome/browser/memory/tab_manager.cc
 | 
| @@ -418,6 +418,23 @@ void TabManager::SetTabAutoDiscardableState(content::WebContents* contents,
 | 
|    GetWebContentsData(contents)->SetAutoDiscardableState(state);
 | 
|  }
 | 
|  
 | 
| +bool TabManager::CanSuspendBackgroundedRenderer(int render_process_id) {
 | 
| +  // A renderer can be suspended if it's not playing media.
 | 
| +  auto tab_stats = GetUnsortedTabStats();
 | 
| +  for (auto& tab : tab_stats) {
 | 
| +    if (tab.child_process_host_id != render_process_id)
 | 
| +      continue;
 | 
| +    TabStripModel* model;
 | 
| +    int index = FindTabStripModelById(tab.tab_contents_id, &model);
 | 
| +    if (index == -1)
 | 
| +      return false;
 | 
| +    WebContents* web_contents = model->GetWebContentsAt(index);
 | 
| +    if (IsMediaTab(web_contents))
 | 
| +      return false;
 | 
| +  }
 | 
| +  return true;
 | 
| +}
 | 
| +
 | 
|  // static
 | 
|  bool TabManager::CompareTabStats(const TabStats& first,
 | 
|                                   const TabStats& second) {
 | 
| 
 |