diff options
Diffstat (limited to 'Source/WebCore/bindings/js/JSDictionary.h')
-rw-r--r-- | Source/WebCore/bindings/js/JSDictionary.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/Source/WebCore/bindings/js/JSDictionary.h b/Source/WebCore/bindings/js/JSDictionary.h index 3e7ee55b2..5cadb1413 100644 --- a/Source/WebCore/bindings/js/JSDictionary.h +++ b/Source/WebCore/bindings/js/JSDictionary.h @@ -27,11 +27,14 @@ #define JSDictionary_h #include "MessagePort.h" +#include <heap/Strong.h> +#include <heap/StrongInlines.h> #include <interpreter/CallFrame.h> #include <wtf/Forward.h> namespace WebCore { +class ArrayValue; class Dictionary; class DOMWindow; class EventTarget; @@ -45,7 +48,7 @@ class JSDictionary { public: JSDictionary(JSC::ExecState* exec, JSC::JSObject* initializerObject) : m_exec(exec) - , m_initializerObject(initializerObject) + , m_initializerObject(exec->globalData(), initializerObject) { } @@ -61,7 +64,7 @@ public: bool getWithUndefinedOrNullCheck(const String& propertyName, String& value) const; JSC::ExecState* execState() const { return m_exec; } - JSC::JSObject* initializerObject() const { return m_initializerObject; } + JSC::JSObject* initializerObject() const { return m_initializerObject.get(); } bool isValid() const { return m_exec && m_initializerObject; } private: @@ -105,9 +108,10 @@ private: #if ENABLE(MUTATION_OBSERVERS) || ENABLE(WEB_INTENTS) static void convertValue(JSC::ExecState*, JSC::JSValue, HashSet<AtomicString>& result); #endif + static void convertValue(JSC::ExecState*, JSC::JSValue, ArrayValue& result); JSC::ExecState* m_exec; - JSC::JSObject* m_initializerObject; + JSC::Strong<JSC::JSObject> m_initializerObject; }; template <typename T, typename Result> |