| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 MemoryCoordinator_h | 5 #ifndef MemoryCoordinator_h |
| 6 #define MemoryCoordinator_h | 6 #define MemoryCoordinator_h |
| 7 | 7 |
| 8 #include "platform/PlatformExport.h" | 8 #include "platform/PlatformExport.h" |
| 9 #include "platform/heap/Handle.h" | 9 #include "platform/heap/Handle.h" |
| 10 #include "platform/wtf/Noncopyable.h" | 10 #include "platform/wtf/Noncopyable.h" |
| (...skipping 27 matching lines...) Expand all Loading... |
| 38 // Whether the device Blink runs on is a low-end device. | 38 // Whether the device Blink runs on is a low-end device. |
| 39 // Can be overridden in layout tests via internals. | 39 // Can be overridden in layout tests via internals. |
| 40 static bool IsLowEndDevice(); | 40 static bool IsLowEndDevice(); |
| 41 | 41 |
| 42 // Returns the amount of physical memory in megabytes on the device. | 42 // Returns the amount of physical memory in megabytes on the device. |
| 43 static int64_t GetPhysicalMemoryMB(); | 43 static int64_t GetPhysicalMemoryMB(); |
| 44 | 44 |
| 45 // Override the value of the physical memory for testing. | 45 // Override the value of the physical memory for testing. |
| 46 static void SetPhysicalMemoryMBForTesting(int64_t); | 46 static void SetPhysicalMemoryMBForTesting(int64_t); |
| 47 | 47 |
| 48 // Returns true when available memory is low. |
| 49 // This is not cheap and should not be called repeatedly. |
| 50 // TODO(keishi): Remove when MemoryState is ready. |
| 51 static bool IsCurrentlyLowMemory(); |
| 52 |
| 48 // Caches whether this device is a low-end device and the device physical | 53 // Caches whether this device is a low-end device and the device physical |
| 49 // memory in static members. instance() is not used as it's a heap allocated | 54 // memory in static members. instance() is not used as it's a heap allocated |
| 50 // object - meaning it's not thread-safe as well as might break tests counting | 55 // object - meaning it's not thread-safe as well as might break tests counting |
| 51 // the heap size. | 56 // the heap size. |
| 52 static void Initialize(); | 57 static void Initialize(); |
| 53 | 58 |
| 54 void RegisterClient(MemoryCoordinatorClient*); | 59 void RegisterClient(MemoryCoordinatorClient*); |
| 55 void UnregisterClient(MemoryCoordinatorClient*); | 60 void UnregisterClient(MemoryCoordinatorClient*); |
| 56 | 61 |
| 57 // TODO(bashi): Deprecating. Remove this when MemoryPressureListener is | 62 // TODO(bashi): Deprecating. Remove this when MemoryPressureListener is |
| (...skipping 17 matching lines...) Expand all Loading... |
| 75 | 80 |
| 76 static bool is_low_end_device_; | 81 static bool is_low_end_device_; |
| 77 static int64_t physical_memory_mb_; | 82 static int64_t physical_memory_mb_; |
| 78 | 83 |
| 79 HeapHashSet<WeakMember<MemoryCoordinatorClient>> clients_; | 84 HeapHashSet<WeakMember<MemoryCoordinatorClient>> clients_; |
| 80 }; | 85 }; |
| 81 | 86 |
| 82 } // namespace blink | 87 } // namespace blink |
| 83 | 88 |
| 84 #endif // MemoryCoordinator_h | 89 #endif // MemoryCoordinator_h |
| OLD | NEW |