Chromium Code Reviews| 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 |