Chromium Code Reviews| Index: chrome/browser/memory/tab_manager_web_contents_data.cc |
| diff --git a/chrome/browser/memory/tab_manager_web_contents_data.cc b/chrome/browser/memory/tab_manager_web_contents_data.cc |
| index e3f973997c2737bd56b2cc25f79b36df503c2a23..15add56e5fc11641a177448a0266471a336e9697 100644 |
| --- a/chrome/browser/memory/tab_manager_web_contents_data.cc |
| +++ b/chrome/browser/memory/tab_manager_web_contents_data.cc |
| @@ -172,7 +172,8 @@ TabManager::WebContentsData::Data::Data() |
| last_discard_time_(TimeTicks::UnixEpoch()), |
| last_reload_time_(TimeTicks::UnixEpoch()), |
| last_inactive_time_(TimeTicks::UnixEpoch()), |
| - engagement_score_(-1.0) {} |
| + engagement_score_(-1.0), |
| + is_discardable(true) {} |
| bool TabManager::WebContentsData::Data::operator==(const Data& right) const { |
| return is_discarded_ == right.is_discarded_ && |
| @@ -188,4 +189,21 @@ bool TabManager::WebContentsData::Data::operator!=(const Data& right) const { |
| return !(*this == right); |
| } |
| +void TabManager::WebContentsData::SetDiscardableState(bool state) { |
| + if (tab_data_.is_discardable == state) |
| + return; |
| + |
| + tab_data_.is_discardable = state; |
| + |
| + // TabManager could not exist in tests. |
|
Georges Khalil
2016/07/21 20:51:51
I don't think that's true anymore. We don't need t
Anderson Silva
2016/07/21 21:14:49
Done.
|
| + if (g_browser_process->GetTabManager()) { |
| + g_browser_process->GetTabManager()->OnDiscardableStateChange(web_contents(), |
| + state); |
| + } |
| +} |
| + |
| +bool TabManager::WebContentsData::IsDiscardable() { |
| + return tab_data_.is_discardable; |
| +} |
| + |
| } // namespace memory |