diff options
Diffstat (limited to 'cc/resources/managed_memory_policy.h')
-rw-r--r-- | cc/resources/managed_memory_policy.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/cc/resources/managed_memory_policy.h b/cc/resources/managed_memory_policy.h new file mode 100644 index 0000000..ae7336d --- /dev/null +++ b/cc/resources/managed_memory_policy.h @@ -0,0 +1,41 @@ +// 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 CC_RESOURCES_MANAGED_MEMORY_POLICY_H_ +#define CC_RESOURCES_MANAGED_MEMORY_POLICY_H_ + +#include "base/basictypes.h" +#include "cc/base/cc_export.h" +#include "cc/resources/tile_priority.h" + +namespace cc { + +struct CC_EXPORT ManagedMemoryPolicy { + enum PriorityCutoff { + CUTOFF_ALLOW_NOTHING, + CUTOFF_ALLOW_REQUIRED_ONLY, + CUTOFF_ALLOW_NICE_TO_HAVE, + CUTOFF_ALLOW_EVERYTHING, + }; + + ManagedMemoryPolicy(size_t bytesLimitWhenVisible); + ManagedMemoryPolicy(size_t bytesLimitWhenVisible, + PriorityCutoff priorityCutoffWhenVisible, + size_t bytesLimitWhenNotVisible, + PriorityCutoff priorityCutoffWhenNotVisible); + bool operator==(const ManagedMemoryPolicy&) const; + bool operator!=(const ManagedMemoryPolicy&) const; + + size_t bytesLimitWhenVisible; + PriorityCutoff priorityCutoffWhenVisible; + size_t bytesLimitWhenNotVisible; + PriorityCutoff priorityCutoffWhenNotVisible; + + static int priorityCutoffToValue(PriorityCutoff priorityCutoff); + static TileMemoryLimitPolicy priorityCutoffToTileMemoryLimitPolicy(PriorityCutoff priorityCutoff); +}; + +} // namespace cc + +#endif // CC_RESOURCES_MANAGED_MEMORY_POLICY_H_ |