summaryrefslogtreecommitdiffstats
path: root/cc/managed_memory_policy.h
diff options
context:
space:
mode:
authorccameron@chromium.org <ccameron@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-22 22:50:28 +0000
committerccameron@chromium.org <ccameron@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-22 22:50:28 +0000
commita0a008420151bf3f117f294250e35641af25f213 (patch)
tree7cd0378a4d4b0570d1654a695b97c0957568aff6 /cc/managed_memory_policy.h
parent6c12c50736a7f2cce5d8776c9d64b85e3435aec6 (diff)
downloadchromium_src-a0a008420151bf3f117f294250e35641af25f213.zip
chromium_src-a0a008420151bf3f117f294250e35641af25f213.tar.gz
chromium_src-a0a008420151bf3f117f294250e35641af25f213.tar.bz2
Conditionalize memory allocation limit based on visibility
Replace the single value with a ManagedMemoryPolicy structure which has the limit in bytes when visible and when not visible, and also has a priority cutoff when visible and when not visible. In CCRendererClient, separate the methods for specifying and enforcing a memory policy. This is so that one may decrease the consumption of a renderer that has grown over time, without disallowing growth in the future. BUG=134750 Review URL: https://chromiumcodereview.appspot.com/11196038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163420 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/managed_memory_policy.h')
-rw-r--r--cc/managed_memory_policy.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/cc/managed_memory_policy.h b/cc/managed_memory_policy.h
new file mode 100644
index 0000000..eba13c3
--- /dev/null
+++ b/cc/managed_memory_policy.h
@@ -0,0 +1,29 @@
+// Copyright 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef managed_memory_policy_h
+#define managed_memory_policy_h
+
+#include "base/basictypes.h"
+
+namespace cc {
+
+struct ManagedMemoryPolicy {
+ ManagedMemoryPolicy(size_t bytesLimitWhenVisible);
+ ManagedMemoryPolicy(size_t bytesLimitWhenVisible,
+ int priorityCutoffWhenVisible,
+ size_t bytesLimitWhenNotVisible,
+ int priorityCutoffWhenNotVisible);
+ bool operator==(const ManagedMemoryPolicy&) const;
+ bool operator!=(const ManagedMemoryPolicy&) const;
+
+ size_t bytesLimitWhenVisible;
+ int priorityCutoffWhenVisible;
+ size_t bytesLimitWhenNotVisible;
+ int priorityCutoffWhenNotVisible;
+};
+
+} // namespace cc
+
+#endif