Chromium Code Reviews| Index: Source/platform/MemoryPurgeController.cpp |
| diff --git a/Source/platform/MemoryPurgeController.cpp b/Source/platform/MemoryPurgeController.cpp |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..3f944bce39e1789d05ecc232c8b724c2654c60b9 |
| --- /dev/null |
| +++ b/Source/platform/MemoryPurgeController.cpp |
| @@ -0,0 +1,40 @@ |
| +// Copyright 2015 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. |
| + |
| +#include "config.h" |
| +#include "platform/MemoryPurgeController.h" |
| + |
| +#include "public/platform/Platform.h" |
| + |
| +namespace blink { |
| + |
| +MemoryPurgeController::MemoryPurgeController() |
| + : m_deviceKind(Platform::current()->isLowEndDeviceMode() ? DeviceKind::LowEnd : DeviceKind::NotSpecified) |
| +{ |
| +} |
| + |
| +void MemoryPurgeController::pageBecameVisible() |
| +{ |
| +} |
| + |
| +void MemoryPurgeController::pageBecameHidden() |
| +{ |
| + // TODO(bashi): Invoke this few seconds later. |
| + purgeMemory(MemoryPurgeMode::InactiveTab); |
|
haraken
2015/08/25 03:46:08
This method will be actually dispatched. I'd remov
bashi
2015/08/25 04:52:58
Removed.
|
| +} |
| + |
| +void MemoryPurgeController::purgeMemory(MemoryPurgeMode purgeMode) |
| +{ |
| + for (auto& client : m_clients) |
| + client->purgeMemory(purgeMode, m_deviceKind); |
| +} |
| + |
| +DEFINE_TRACE(MemoryPurgeController) |
| +{ |
| +#if ENABLE(OILPAN) |
| + visitor->trace(m_clients); |
| +#endif |
| +} |
| + |
| +} // namespace blink |