| 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
|
|
|