diff --git a/src/core/renderer/web_channel_ipc_transport.cpp b/src/core/renderer/web_channel_ipc_transport.cpp index 2ca6640c6720cbfcc5067252275e4c6020c1f487..161d6f49361af1baa4c3f86c2a64cb60f7552d77 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;