Commit 6a414f77 authored by Benoit Lize's avatar Benoit Lize Committed by Chromium LUCI CQ

[discardable] Don't use weak pointers.

The scheduled purge task now retains the manager, but will not
reschedule itself, ensuring that it will be destroyed.

Bug: 1131857
Change-Id: Ifbb20e0c51902c8104630e35da6b025da1869639
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2586346Reviewed-by: default avatarPeng Huang <penghuang@chromium.org>
Commit-Queue: Benoit L <lizeb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#836130}
parent a2697205
...@@ -257,7 +257,7 @@ ClientDiscardableSharedMemoryManager::AllocateLockedDiscardableMemory( ...@@ -257,7 +257,7 @@ ClientDiscardableSharedMemoryManager::AllocateLockedDiscardableMemory(
task_runner_->PostDelayedTask( task_runner_->PostDelayedTask(
FROM_HERE, FROM_HERE,
base::BindOnce(&ClientDiscardableSharedMemoryManager::ScheduledPurge, base::BindOnce(&ClientDiscardableSharedMemoryManager::ScheduledPurge,
weak_factory_.GetWeakPtr()), this),
kScheduledPurgeInterval); kScheduledPurgeInterval);
is_purge_scheduled_ = true; is_purge_scheduled_ = true;
} }
...@@ -444,7 +444,7 @@ void ClientDiscardableSharedMemoryManager::ScheduledPurge() { ...@@ -444,7 +444,7 @@ void ClientDiscardableSharedMemoryManager::ScheduledPurge() {
task_runner_->PostDelayedTask( task_runner_->PostDelayedTask(
FROM_HERE, FROM_HERE,
base::BindOnce(&ClientDiscardableSharedMemoryManager::ScheduledPurge, base::BindOnce(&ClientDiscardableSharedMemoryManager::ScheduledPurge,
weak_factory_.GetWeakPtr()), this),
kScheduledPurgeInterval); kScheduledPurgeInterval);
} }
} }
......
...@@ -203,9 +203,6 @@ class DISCARDABLE_MEMORY_EXPORT ClientDiscardableSharedMemoryManager ...@@ -203,9 +203,6 @@ class DISCARDABLE_MEMORY_EXPORT ClientDiscardableSharedMemoryManager
const bool may_schedule_periodic_purge_; const bool may_schedule_periodic_purge_;
THREAD_CHECKER(thread_checker_); THREAD_CHECKER(thread_checker_);
base::WeakPtrFactory<ClientDiscardableSharedMemoryManager> weak_factory_{
this};
DISALLOW_COPY_AND_ASSIGN(ClientDiscardableSharedMemoryManager); DISALLOW_COPY_AND_ASSIGN(ClientDiscardableSharedMemoryManager);
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment