summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/webkit/WebCore/platform/CrossThreadCopier.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/webkit/WebCore/platform/CrossThreadCopier.h')
-rw-r--r--src/3rdparty/webkit/WebCore/platform/CrossThreadCopier.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/3rdparty/webkit/WebCore/platform/CrossThreadCopier.h b/src/3rdparty/webkit/WebCore/platform/CrossThreadCopier.h
index e7b4c0ef95..d12d72dc7c 100644
--- a/src/3rdparty/webkit/WebCore/platform/CrossThreadCopier.h
+++ b/src/3rdparty/webkit/WebCore/platform/CrossThreadCopier.h
@@ -32,6 +32,7 @@
#define CrossThreadCopier_h
#include <memory>
+#include <wtf/PassOwnPtr.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
#include <wtf/Threading.h>
@@ -73,6 +74,14 @@ namespace WebCore {
}
};
+ template<typename T> struct CrossThreadCopierBase<false, PassOwnPtr<T> > {
+ typedef PassOwnPtr<T> Type;
+ static Type copy(const PassOwnPtr<T>& ownPtr)
+ {
+ return PassOwnPtr<T>(static_cast<T*>(ownPtr.release()));
+ }
+ };
+
template<typename T> struct CrossThreadCopierBase<false, std::auto_ptr<T> > {
typedef std::auto_ptr<T> Type;
static Type copy(const std::auto_ptr<T>& autoPtr)