Index: base/memory/memory_coordinator_proxy.h |
diff --git a/base/memory/memory_coordinator_proxy.h b/base/memory/memory_coordinator_proxy.h |
index 4148da5dceec0c59e39462a6f740569263432ba9..ce6192c6876840ac7e066f003e33acdb1fa536a7 100644 |
--- a/base/memory/memory_coordinator_proxy.h |
+++ b/base/memory/memory_coordinator_proxy.h |
@@ -14,10 +14,13 @@ namespace base { |
// The proxy of MemoryCoordinator to be accessed from components that are not |
// in content/browser e.g. net. |
+// TODO(chrisha): Consider moving these individual callbacks to a delegate that |
+// is injected. |
bashi
2016/11/07 00:16:37
+1 :)
chrisha
2016/11/07 19:33:41
I'll do this in a follow-up CL, as it's going to b
bashi
2016/11/07 23:17:08
Oh, I didn't mean I wanted this refactoring in thi
|
class BASE_EXPORT MemoryCoordinatorProxy { |
public: |
using GetCurrentMemoryStateCallback = base::Callback<MemoryState()>; |
using SetCurrentMemoryStateCallback = base::Callback<void(MemoryState)>; |
+ using GetRemainingGlobalBudgetCallback = base::Callback<int64_t()>; |
static MemoryCoordinatorProxy* GetInstance(); |
@@ -27,6 +30,13 @@ class BASE_EXPORT MemoryCoordinatorProxy { |
// Sets the current memory state. This function is for testing only. |
void SetCurrentMemoryStateForTesting(MemoryState memory_state); |
+ // Returns the remaining global budget usable in aggregate by all Chrome |
+ // processes. This indicates how many MB of memory are remaining for Chrome |
+ // processes to use before the memory coordinator will take efforts to reclaim |
+ // memory. A negative amount indicates that the coordinator is actively trying |
+ // to reclaim that much memory. |
+ int64_t GetRemainingGlobalBudget() const; |
bashi
2016/11/07 00:16:37
nit: we use int for MemoryMonitor::GetFreeMemoryUn
chrisha
2016/11/07 19:33:41
Well, an auto-scaled 'int' is sufficient for each
bashi
2016/11/07 23:17:08
I see.
|
+ |
// Sets state-getter callback. |
void SetGetCurrentMemoryStateCallback(GetCurrentMemoryStateCallback callback); |
@@ -34,6 +44,10 @@ class BASE_EXPORT MemoryCoordinatorProxy { |
void SetSetCurrentMemoryStateForTestingCallback( |
SetCurrentMemoryStateCallback callback); |
+ // Sets the remaining global budget callback. |
+ void SetGetRemainingGlobalBudgetCallback( |
+ GetRemainingGlobalBudgetCallback get_remaining_budget_callback); |
+ |
private: |
friend struct base::DefaultSingletonTraits<MemoryCoordinatorProxy>; |
@@ -42,6 +56,7 @@ class BASE_EXPORT MemoryCoordinatorProxy { |
GetCurrentMemoryStateCallback getter_callback_; |
SetCurrentMemoryStateCallback setter_callback_; |
+ GetRemainingGlobalBudgetCallback get_remaining_budget_callback_; |
DISALLOW_COPY_AND_ASSIGN(MemoryCoordinatorProxy); |
}; |