diff options
Diffstat (limited to 'WebCore/bindings/v8/ScriptArray.cpp')
-rw-r--r-- | WebCore/bindings/v8/ScriptArray.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/WebCore/bindings/v8/ScriptArray.cpp b/WebCore/bindings/v8/ScriptArray.cpp index a199a6c..7119b27 100644 --- a/WebCore/bindings/v8/ScriptArray.cpp +++ b/WebCore/bindings/v8/ScriptArray.cpp @@ -31,11 +31,11 @@ #include "config.h" #include "ScriptArray.h" -#include "ScriptScope.h" -#include "ScriptState.h" - #include "Document.h" #include "Frame.h" +#include "ScriptScope.h" +#include "ScriptState.h" +#include "SerializedScriptValue.h" #include "V8Binding.h" #include "V8Proxy.h" @@ -57,6 +57,19 @@ bool ScriptArray::set(unsigned index, const ScriptObject& value) return scope.success(); } +bool ScriptArray::set(unsigned index, SerializedScriptValue* value) +{ + ScriptValue scriptValue = ScriptValue::deserialize(m_scriptState, value); + if (scriptValue.hasNoValue()) { + ASSERT_NOT_REACHED(); + return false; + } + + ScriptScope scope(m_scriptState); + v8Object()->Set(v8::Integer::New(index), scriptValue.v8Value()); + return scope.success(); +} + bool ScriptArray::set(unsigned index, const String& value) { ScriptScope scope(m_scriptState); |