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 cfb46fa77cd6ab229719410cd9b0f1f223dc198a..40fca7bcebdea062cc9e27249245640fa8b992e4 100644 |
--- a/third_party/WebKit/Source/platform/CrossThreadCopier.h |
+++ b/third_party/WebKit/Source/platform/CrossThreadCopier.h |
@@ -35,11 +35,11 @@ |
#include "platform/heap/Handle.h" |
#include "wtf/Assertions.h" |
#include "wtf/Forward.h" |
+#include "wtf/PassOwnPtr.h" |
#include "wtf/PassRefPtr.h" |
#include "wtf/RefPtr.h" |
#include "wtf/ThreadSafeRefCounted.h" |
#include "wtf/TypeTraits.h" |
-#include <memory> |
class SkRefCnt; |
@@ -134,6 +134,16 @@ struct CrossThreadCopier<IntSize> : public CrossThreadCopierPassThrough<IntSize> |
STATIC_ONLY(CrossThreadCopier); |
}; |
+template <typename T> |
+struct CrossThreadCopier<PassOwnPtr<T>> { |
+ STATIC_ONLY(CrossThreadCopier); |
+ typedef PassOwnPtr<T> Type; |
+ static Type copy(Type ownPtr) |
+ { |
+ return ownPtr; |
+ } |
+}; |
+ |
template <typename T, typename Deleter> |
struct CrossThreadCopier<std::unique_ptr<T, Deleter>> { |
STATIC_ONLY(CrossThreadCopier); |
@@ -195,14 +205,14 @@ struct CrossThreadCopier<ResourceError> { |
template <> |
struct CrossThreadCopier<ResourceRequest> { |
STATIC_ONLY(CrossThreadCopier); |
- typedef WTF::PassedWrapper<std::unique_ptr<CrossThreadResourceRequestData>> Type; |
+ typedef WTF::PassedWrapper<PassOwnPtr<CrossThreadResourceRequestData>> Type; |
PLATFORM_EXPORT static Type copy(const ResourceRequest&); |
}; |
template <> |
struct CrossThreadCopier<ResourceResponse> { |
STATIC_ONLY(CrossThreadCopier); |
- typedef WTF::PassedWrapper<std::unique_ptr<CrossThreadResourceResponseData>> Type; |
+ typedef WTF::PassedWrapper<PassOwnPtr<CrossThreadResourceResponseData>> Type; |
PLATFORM_EXPORT static Type copy(const ResourceResponse&); |
}; |