| Index: third_party/WebKit/Source/bindings/core/v8/V8PerContextData.h
|
| diff --git a/third_party/WebKit/Source/bindings/core/v8/V8PerContextData.h b/third_party/WebKit/Source/bindings/core/v8/V8PerContextData.h
|
| index 4a57a3a73c9d33c6563c4e96086aae56559f9d74..3623aa196d52fd958b7856ec09c134fbe4ba8fe0 100644
|
| --- a/third_party/WebKit/Source/bindings/core/v8/V8PerContextData.h
|
| +++ b/third_party/WebKit/Source/bindings/core/v8/V8PerContextData.h
|
| @@ -49,7 +49,6 @@
|
|
|
| namespace blink {
|
|
|
| -class Modulator;
|
| class V8DOMActivityLogger;
|
| class V8PerContextData;
|
|
|
| @@ -104,9 +103,14 @@ class CORE_EXPORT V8PerContextData final {
|
| m_activityLogger = activityLogger;
|
| }
|
|
|
| - Modulator* modulator() const { return m_modulator.get(); }
|
| - void setModulator(Modulator*);
|
| - void clearModulator();
|
| + // Garbage collected classes that use V8PerContextData to hold an instance
|
| + // should subclass Data, and use addData / clearData / getData to manage the
|
| + // instance.
|
| + class CORE_EXPORT Data : public GarbageCollectedMixin {};
|
| +
|
| + void addData(const char* key, Data*);
|
| + void clearData(const char* key);
|
| + Data* getData(const char* key);
|
|
|
| private:
|
| V8PerContextData(v8::Local<v8::Context>);
|
| @@ -138,7 +142,8 @@ class CORE_EXPORT V8PerContextData final {
|
| // This is owned by a static hash map in V8DOMActivityLogger.
|
| V8DOMActivityLogger* m_activityLogger;
|
|
|
| - Persistent<Modulator> m_modulator;
|
| + using DataMap = PersistentHeapHashMap<const char*, Member<Data>>;
|
| + DataMap m_dataMap;
|
| };
|
|
|
| } // namespace blink
|
|
|