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 |