| Index: third_party/WebKit/Source/platform/CrossThreadCopier.h
|
| diff --git a/third_party/WebKit/Source/platform/CrossThreadCopier.h b/third_party/WebKit/Source/platform/CrossThreadCopier.h
|
| index de30baa00edcbd544efed937b4cce778f137a8a7..520a8e9fdb8fdc9b3b5b5b98ae8b2a6f18a8bae0 100644
|
| --- a/third_party/WebKit/Source/platform/CrossThreadCopier.h
|
| +++ b/third_party/WebKit/Source/platform/CrossThreadCopier.h
|
| @@ -241,9 +241,15 @@ template <typename T>
|
| struct AllowCrossThreadAccessWrapper {
|
| STACK_ALLOCATED();
|
| public:
|
| - explicit AllowCrossThreadAccessWrapper(T value) : m_value(value) { }
|
| T value() const { return m_value; }
|
| private:
|
| + // Only constructible from AllowCrossThreadAccess().
|
| + explicit AllowCrossThreadAccessWrapper(T value) : m_value(value) { }
|
| + template <typename U>
|
| + friend AllowCrossThreadAccessWrapper<U*> AllowCrossThreadAccess(U*);
|
| + template <typename U>
|
| + friend AllowCrossThreadAccessWrapper<const WeakPtr<U>&> AllowCrossThreadAccess(const WeakPtr<U>&);
|
| +
|
| // This raw pointer is safe since AllowCrossThreadAccessWrapper is
|
| // always stack-allocated. Ideally this should be Member<T> if T is
|
| // garbage-collected and T* otherwise, but we don't want to introduce
|
|
|