Chromium Code Reviews| Index: third_party/WebKit/Source/platform/heap/Handle.h |
| diff --git a/third_party/WebKit/Source/platform/heap/Handle.h b/third_party/WebKit/Source/platform/heap/Handle.h |
| index 49d3f33e2e717c08c92c3d0f119052c99b777240..d0238d094600b4e0a118c79318f7065dd1d8a1af 100644 |
| --- a/third_party/WebKit/Source/platform/heap/Handle.h |
| +++ b/third_party/WebKit/Source/platform/heap/Handle.h |
| @@ -1300,10 +1300,10 @@ private: |
| }; |
| template<typename T> |
| -class AllowCrossThreadWeakPersistent { |
| +class CrossThreadWeakPersistentThisPointer { |
| STACK_ALLOCATED(); |
| public: |
| - explicit AllowCrossThreadWeakPersistent(T* value) : m_value(value) { } |
| + explicit CrossThreadWeakPersistentThisPointer(T* value) : m_value(value) { } |
| CrossThreadWeakPersistent<T> value() const { return m_value; } |
| private: |
| CrossThreadWeakPersistent<T> m_value; |
| @@ -1569,15 +1569,15 @@ struct ParamStorageTraits<RawPtr<T>> : public PointerParamStorageTraits<T*, blin |
| }; |
| template<typename T> |
| -struct ParamStorageTraits<blink::AllowCrossThreadWeakPersistent<T>> { |
| +struct ParamStorageTraits<blink::CrossThreadWeakPersistentThisPointer<T>> { |
|
haraken
2016/01/12 00:04:57
CrossThreadWeakPersistentThisPointer => WeakPersis
sof
2016/01/12 07:23:40
That name promises a little bit more than I want i
|
| static_assert(sizeof(T), "T must be fully defined"); |
| using StorageType = blink::CrossThreadWeakPersistent<T>; |
| - static StorageType wrap(const blink::AllowCrossThreadWeakPersistent<T>& value) { return value.value(); } |
| + static StorageType wrap(const blink::CrossThreadWeakPersistentThisPointer<T>& value) { return value.value(); } |
| - // Currently assume that the call sites of this unwrap() account for cleared weak references also. |
| - // TODO(sof): extend WTF::FunctionWrapper call overloading to also handle (CrossThread)WeakPersistent. |
| - static T* unwrap(const StorageType& value) { return value.get(); } |
| + // WTF::FunctionWrapper<> handles WeakPtr<>, so recast this weak persistent |
| + // into it. |
| + static WeakPtr<T> unwrap(const StorageType& value) { return WeakPtr<T>(WeakReference<T>::create(value.get())); } |
| }; |
| template<typename T> |