Commit 9be6ec5e authored by Wez's avatar Wez Committed by Commit Bot

DCHECK that |ptr| is valid when creating WeakPtrFactory

We already DCHECK that |ptr_| is valid in GetWeakPtr(), but this extra
check ensures we catch mis-use earlier.

Change-Id: Id62dc3cbe6c4e33f08bb1d5c5c2e304aa01c53a8
Reviewed-on: https://chromium-review.googlesource.com/1042485Reviewed-by: default avatarDevlin <rdevlin.cronin@chromium.org>
Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
Commit-Queue: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#556346}
parent f448abde
......@@ -70,9 +70,13 @@ WeakPtrBase::WeakPtrBase() : ptr_(0) {}
WeakPtrBase::~WeakPtrBase() = default;
WeakPtrBase::WeakPtrBase(const WeakReference& ref, uintptr_t ptr)
: ref_(ref), ptr_(ptr) {}
: ref_(ref), ptr_(ptr) {
DCHECK(ptr_);
}
WeakPtrFactoryBase::WeakPtrFactoryBase(uintptr_t ptr) : ptr_(ptr) {}
WeakPtrFactoryBase::WeakPtrFactoryBase(uintptr_t ptr) : ptr_(ptr) {
DCHECK(ptr_);
}
WeakPtrFactoryBase::~WeakPtrFactoryBase() {
ptr_ = 0;
......
......@@ -307,7 +307,6 @@ class WeakPtrFactory : public internal::WeakPtrFactoryBase {
~WeakPtrFactory() = default;
WeakPtr<T> GetWeakPtr() {
DCHECK(ptr_);
return WeakPtr<T>(weak_reference_owner_.GetRef(),
reinterpret_cast<T*>(ptr_));
}
......
......@@ -87,7 +87,7 @@ RulesRegistry::RulesRegistry(content::BrowserContext* browser_context,
ready_(/*signaled=*/!cache_delegate), // Immediately ready if no cache
// delegate to wait for.
last_generated_rule_identifier_id_(0),
weak_ptr_factory_(browser_context_ ? this : NULL) {
weak_ptr_factory_(this) {
if (cache_delegate) {
cache_delegate_ = cache_delegate->GetWeakPtr();
cache_delegate->Init(this);
......
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