Index: third_party/WebKit/Source/core/dom/WeakIdentifierMap.h |
diff --git a/third_party/WebKit/Source/core/dom/WeakIdentifierMap.h b/third_party/WebKit/Source/core/dom/WeakIdentifierMap.h |
index 07599c6ef06dcd7670197596f24c57b9e0f0cb06..b62279eb3188dc5f99aa19004198b217c2039163 100644 |
--- a/third_party/WebKit/Source/core/dom/WeakIdentifierMap.h |
+++ b/third_party/WebKit/Source/core/dom/WeakIdentifierMap.h |
@@ -39,6 +39,7 @@ |
USING_FAST_MALLOC(WeakIdentifierMap); |
public: |
using IdentifierType = typename Generator::IdentifierType; |
+ using ReferenceType = RawPtr<WeakIdentifierMap<T, Generator, Traits, false>>; |
static IdentifierType identifier(T* object) |
{ |
@@ -92,6 +93,7 @@ |
: public GarbageCollected<WeakIdentifierMap<T, Generator, Traits, true>> { |
public: |
using IdentifierType = typename Generator::IdentifierType; |
+ using ReferenceType = Persistent<WeakIdentifierMap<T, Generator, Traits, true>>; |
static IdentifierType identifier(T* object) |
{ |
@@ -144,15 +146,14 @@ |
template<> WeakIdentifierMap<T, ##__VA_ARGS__>& WeakIdentifierMap<T, ##__VA_ARGS__>::instance(); \ |
extern template class WeakIdentifierMap<T, ##__VA_ARGS__>; |
-#define DEFINE_WEAK_IDENTIFIER_MAP(T, ...) \ |
+#define DEFINE_WEAK_IDENTIFIER_MAP(T, ...) \ |
template class WeakIdentifierMap<T, ##__VA_ARGS__>; \ |
template<> WeakIdentifierMap<T, ##__VA_ARGS__>& WeakIdentifierMap<T, ##__VA_ARGS__>::instance() \ |
{ \ |
- using RefType = WeakIdentifierMap<T, ##__VA_ARGS__>; \ |
+ using RefType = WeakIdentifierMap<T, ##__VA_ARGS__>::ReferenceType; \ |
DEFINE_STATIC_LOCAL(RefType, mapInstance, (new WeakIdentifierMap<T, ##__VA_ARGS__>())); \ |
- return mapInstance; \ |
+ return *mapInstance; \ |
} |
- |
} // namespace blink |
#endif // WeakIdentifierMap_h |