diff options
Diffstat (limited to 'src/3rdparty/webkit/WebCore/platform/CrossThreadCopier.h')
-rw-r--r-- | src/3rdparty/webkit/WebCore/platform/CrossThreadCopier.h | 9 |
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) |