Index: skia/config/sk_ref_cnt_ext_debug.h |
diff --git a/skia/config/sk_ref_cnt_ext_debug.h b/skia/config/sk_ref_cnt_ext_debug.h |
index 78a39a3789f23cb5cbc2a9f23c74a60ec4a5c5ae..8a4e448a3d13016ad1b2bbe942519368dacc138a 100644 |
--- a/skia/config/sk_ref_cnt_ext_debug.h |
+++ b/skia/config/sk_ref_cnt_ext_debug.h |
@@ -11,16 +11,23 @@ |
#include <atomic> |
+class SkRefCnt; |
+ |
+namespace WTF { |
+ void adopted(const SkRefCnt*); |
+ void requireAdoption(const SkRefCnt*); |
+} |
+ |
// Alternate implementation of SkRefCnt for Chromium debug builds |
class SK_API SkRefCnt : public SkRefCntBase { |
public: |
SkRefCnt(); |
~SkRefCnt() override; |
void ref() const { SkASSERT(flags_.load() != AdoptionRequired_Flag); SkRefCntBase::ref(); } |
- void adopted() const { flags_ |= Adopted_Flag; } |
- void requireAdoption() const { flags_ |= AdoptionRequired_Flag; } |
void deref() const { SkRefCntBase::unref(); } |
private: |
+ void adopted() const { flags_ |= Adopted_Flag; } |
+ void requireAdoption() const { flags_ |= AdoptionRequired_Flag; } |
enum { |
Adopted_Flag = 0x1, |
@@ -28,6 +35,9 @@ private: |
}; |
mutable std::atomic<int> flags_; |
+ |
+ friend void WTF::adopted(const SkRefCnt*); |
+ friend void WTF::requireAdoption(const SkRefCnt*); |
}; |
inline SkRefCnt::SkRefCnt() : flags_(0) { } |