diff options
Diffstat (limited to 'src/core/renderer/web_channel_ipc_transport.cpp')
-rw-r--r-- | src/core/renderer/web_channel_ipc_transport.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/core/renderer/web_channel_ipc_transport.cpp b/src/core/renderer/web_channel_ipc_transport.cpp index 2ca6640c6..161d6f493 100644 --- a/src/core/renderer/web_channel_ipc_transport.cpp +++ b/src/core/renderer/web_channel_ipc_transport.cpp @@ -223,9 +223,12 @@ void WebChannelIPCTransport::dispatchWebChannelMessage(const std::vector<char> & } v8::Handle<v8::Object> messageObject(v8::Object::New(isolate)); - messageObject->ForceSet(v8::String::NewFromUtf8(isolate, "data") - , v8::String::NewFromUtf8(isolate, json.constData(), v8::String::kNormalString, json.size()) - , v8::PropertyAttribute(v8::ReadOnly | v8::DontDelete)); + v8::Maybe<bool> wasSet = messageObject->DefineOwnProperty( + context, + v8::String::NewFromUtf8(isolate, "data"), + v8::String::NewFromUtf8(isolate, json.constData(), v8::String::kNormalString, json.size()), + v8::PropertyAttribute(v8::ReadOnly | v8::DontDelete)); + Q_ASSERT(!wasSet.IsNothing() && wasSet.FromJust()); v8::Handle<v8::Function> callback = v8::Handle<v8::Function>::Cast(onmessageCallbackValue); const int argc = 1; |