Index: third_party/WebKit/Source/platform/heap/Persistent.h |
diff --git a/third_party/WebKit/Source/platform/heap/Persistent.h b/third_party/WebKit/Source/platform/heap/Persistent.h |
index 62ae0943988b600eeec328b449920b31dc98c31e..52133f20b1ece8bbe0fadfe3de405bfc12ac2f3d 100644 |
--- a/third_party/WebKit/Source/platform/heap/Persistent.h |
+++ b/third_party/WebKit/Source/platform/heap/Persistent.h |
@@ -383,7 +383,7 @@ public: |
CrossThreadPersistent(const Member<U>& other) : Parent(other) { } |
CrossThreadPersistent(WTF::HashTableDeletedValueType x) : Parent(x) { } |
- T* atomicGet() { return Parent::atomicGet(); } |
+ T* unsafeGet() const { return Parent::get(); } |
template<typename U> |
CrossThreadPersistent& operator=(U* other) |
@@ -417,6 +417,13 @@ public: |
Parent::operator=(other); |
return *this; |
} |
+ |
+protected: |
+ friend class CrossThreadPersistentRegion; |
+ friend struct WTF::PointerParamStorageTraits<T*, true>; |
+ |
+ T* get() const { return Parent::get(); } |
sof
2016/06/02 07:00:12
Could you add a comment (here or next to unsafeGet
|
+ T* atomicGet() { return Parent::atomicGet(); } |
}; |
// Combines the behavior of CrossThreadPersistent and WeakPersistent. |
@@ -677,6 +684,12 @@ CrossThreadPersistent<T> wrapCrossThreadPersistent(T* value) |
return CrossThreadPersistent<T>(value); |
} |
+template <typename T> |
+CrossThreadPersistent<T> wrapCrossThreadPersistent(CrossThreadPersistent<T> value) |
+{ |
+ return CrossThreadPersistent<T>(value); |
+} |
+ |
// Comparison operators between (Weak)Members, Persistents, and UntracedMembers. |
template<typename T, typename U> inline bool operator==(const Member<T>& a, const Member<U>& b) { return a.get() == b.get(); } |
template<typename T, typename U> inline bool operator!=(const Member<T>& a, const Member<U>& b) { return a.get() != b.get(); } |