Index: public/platform/WebPrivatePtr.h |
diff --git a/public/platform/WebPrivatePtr.h b/public/platform/WebPrivatePtr.h |
index cc718fed7fcaea68a7f9acd2d386eef699c9aa52..0d66cb4610fbd34e2eaf1c933de3552f5cd4e67c 100644 |
--- a/public/platform/WebPrivatePtr.h |
+++ b/public/platform/WebPrivatePtr.h |
@@ -53,19 +53,10 @@ enum LifetimeManagementType { |
template<typename T> |
class LifetimeOf { |
- typedef char TreeSharedType; |
- typedef struct { |
- char padding[8]; |
- } NotTreeSharedType; |
- |
- template<typename U> static TreeSharedType checkTreeShared(WebCore::TreeShared<U>*); |
- static NotTreeSharedType checkTreeShared(...); |
- |
static const bool isGarbageCollected = WTF::IsSubclassOfTemplate<T, WebCore::GarbageCollected>::value; |
static const bool isRefCountedGarbageCollected = WTF::IsSubclassOfTemplate<T, WebCore::RefCountedGarbageCollected>::value; |
public: |
static const LifetimeManagementType value = |
- sizeof(checkTreeShared(static_cast<T*>(0))) == sizeof(TreeSharedType) ? RefCountedLifetime : |
!isGarbageCollected ? RefCountedLifetime : |
isRefCountedGarbageCollected ? RefCountedGarbageCollectedLifetime : GarbageCollectedLifetime; |
}; |