OLD | NEW |
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CC_MANAGED_MEMORY_POLICY_H_ | 5 #ifndef CC_MANAGED_MEMORY_POLICY_H_ |
6 #define CC_MANAGED_MEMORY_POLICY_H_ | 6 #define CC_MANAGED_MEMORY_POLICY_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "cc/cc_export.h" | 9 #include "cc/cc_export.h" |
10 #include "cc/tile_priority.h" | 10 #include "cc/tile_priority.h" |
11 | 11 |
12 namespace cc { | 12 namespace cc { |
13 | 13 |
14 struct CC_EXPORT ManagedMemoryPolicy { | 14 struct CC_EXPORT ManagedMemoryPolicy { |
15 enum PriorityCutoff { | 15 enum PriorityCutoff { |
16 CUTOFF_ALLOW_NOTHING, | 16 CUTOFF_ALLOW_NOTHING, |
17 CUTOFF_ALLOW_REQUIRED_ONLY, | 17 CUTOFF_ALLOW_REQUIRED_ONLY, |
18 CUTOFF_ALLOW_NICE_TO_HAVE, | 18 CUTOFF_ALLOW_NICE_TO_HAVE, |
19 CUTOFF_ALLOW_EVERYTHING, | 19 CUTOFF_ALLOW_EVERYTHING, |
20 }; | 20 }; |
21 | 21 |
22 ManagedMemoryPolicy(size_t bytesLimitWhenVisible); | 22 explicit ManagedMemoryPolicy(size_t bytesLimitWhenVisible); |
23 ManagedMemoryPolicy(size_t bytesLimitWhenVisible, | 23 ManagedMemoryPolicy(size_t bytesLimitWhenVisible, |
24 PriorityCutoff priorityCutoffWhenVisible, | 24 PriorityCutoff priorityCutoffWhenVisible, |
25 size_t bytesLimitWhenNotVisible, | 25 size_t bytesLimitWhenNotVisible, |
26 PriorityCutoff priorityCutoffWhenNotVisible); | 26 PriorityCutoff priorityCutoffWhenNotVisible); |
27 bool operator==(const ManagedMemoryPolicy&) const; | 27 bool operator==(const ManagedMemoryPolicy&) const; |
28 bool operator!=(const ManagedMemoryPolicy&) const; | 28 bool operator!=(const ManagedMemoryPolicy&) const; |
29 | 29 |
30 size_t bytesLimitWhenVisible; | 30 size_t bytesLimitWhenVisible; |
31 PriorityCutoff priorityCutoffWhenVisible; | 31 PriorityCutoff priorityCutoffWhenVisible; |
32 size_t bytesLimitWhenNotVisible; | 32 size_t bytesLimitWhenNotVisible; |
33 PriorityCutoff priorityCutoffWhenNotVisible; | 33 PriorityCutoff priorityCutoffWhenNotVisible; |
34 | 34 |
35 static int priorityCutoffToValue(PriorityCutoff priorityCutoff); | 35 static int priorityCutoffToValue(PriorityCutoff priorityCutoff); |
36 static TileMemoryLimitPolicy priorityCutoffToTileMemoryLimitPolicy(PriorityC
utoff priorityCutoff); | 36 static TileMemoryLimitPolicy priorityCutoffToTileMemoryLimitPolicy(PriorityC
utoff priorityCutoff); |
37 }; | 37 }; |
38 | 38 |
39 } // namespace cc | 39 } // namespace cc |
40 | 40 |
41 #endif // CC_MANAGED_MEMORY_POLICY_H_ | 41 #endif // CC_MANAGED_MEMORY_POLICY_H_ |
OLD | NEW |