Index: Source/modules/quota/DOMWindowQuota.h |
diff --git a/Source/modules/quota/DOMWindowQuota.h b/Source/modules/quota/DOMWindowQuota.h |
index dab72266c7042e8c04abd0133912ace93e3e3291..b510a1dd86f8a2ae615a7e44f08b4462f45002f3 100644 |
--- a/Source/modules/quota/DOMWindowQuota.h |
+++ b/Source/modules/quota/DOMWindowQuota.h |
@@ -32,6 +32,7 @@ |
#define DOMWindowQuota_h |
#include "core/frame/DOMWindowProperty.h" |
+#include "heap/Handle.h" |
#include "platform/Supplementable.h" |
namespace WebCore { |
@@ -39,20 +40,35 @@ namespace WebCore { |
class DeprecatedStorageInfo; |
class DOMWindow; |
+#ifdef DOMWindow_IS_GARBAGE_COLLECTED |
+#define RefPtrWillBePersistentThenMember RefPtrWillBeMember |
+#else |
+#define RefPtrWillBePersistentThenMember RefPtrWillBePersistent |
haraken
2014/02/10 01:34:58
I understand your intention, but I'm not really ha
sof
2014/02/10 07:35:12
...
haraken
2014/02/10 07:42:14
Yeah, that's a valid concern. Fortunately, if we f
|
+#endif |
+ |
class DOMWindowQuota FINAL : public Supplement<DOMWindow>, public DOMWindowProperty { |
+#ifdef DOMWindow_IS_GARBAGE_COLLECTED |
+ DECLARE_GC_INFO; |
+#endif |
public: |
- virtual ~DOMWindowQuota(); |
+ virtual ~DOMWindowQuota() { } |
static DOMWindowQuota* from(DOMWindow*); |
static DeprecatedStorageInfo* webkitStorageInfo(DOMWindow*); |
DeprecatedStorageInfo* webkitStorageInfo() const; |
+#ifdef DOMWindow_IS_GARBAGE_COLLECTED |
+ void trace(Visitor*); |
+#endif |
+ |
private: |
explicit DOMWindowQuota(DOMWindow*); |
static const char* supplementName(); |
- mutable RefPtr<DeprecatedStorageInfo> m_storageInfo; |
+ mutable RefPtrWillBePersistentThenMember<DeprecatedStorageInfo> m_storageInfo; |
}; |
+#undef RefPtrWillBePersistentThenMember |
+ |
} // namespace WebCore |
#endif // DOMWindowQuota_h |