diff options
Diffstat (limited to 'Source/WebKit2/UIProcess/API/qt/qwebchannelwebkittransport.cpp')
-rw-r--r-- | Source/WebKit2/UIProcess/API/qt/qwebchannelwebkittransport.cpp | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/Source/WebKit2/UIProcess/API/qt/qwebchannelwebkittransport.cpp b/Source/WebKit2/UIProcess/API/qt/qwebchannelwebkittransport.cpp index b74c45b3c..c6f96f094 100644 --- a/Source/WebKit2/UIProcess/API/qt/qwebchannelwebkittransport.cpp +++ b/Source/WebKit2/UIProcess/API/qt/qwebchannelwebkittransport.cpp @@ -42,7 +42,7 @@ #include "config.h" #include "qwebchannelwebkittransport_p.h" -#ifdef HAVE_WEBCHANNEL +#if ENABLE(QT_WEBCHANNEL) #include "qquickwebview_p.h" @@ -57,23 +57,16 @@ QWebChannelWebKitTransport::QWebChannelWebKitTransport(QQuickWebViewExperimental void QWebChannelWebKitTransport::sendMessage(const QJsonObject& message) { - const QByteArray data = QJsonDocument(message).toJson(QJsonDocument::Compact); + QByteArray data = QJsonDocument(message).toBinaryData(); m_experimental->postQtWebChannelTransportMessage(data); } -void QWebChannelWebKitTransport::receiveMessage(const QByteArray& message) +void QWebChannelWebKitTransport::receiveMessage(const char* message, int size) { - QJsonParseError error; - const QJsonDocument doc = QJsonDocument::fromJson(message, &error); - if (error.error != QJsonParseError::NoError) { - qWarning() << "Failed to parse the client WebKit QWebChannel message as JSON: " << message - << "Error message is:" << error.errorString(); - return; - } else if (!doc.isObject()) { - qWarning() << "Received WebKit QWebChannel message is not a JSON object: " << message; - return; - } + QJsonDocument doc = QJsonDocument::fromRawData(message, size, QJsonDocument::BypassValidation); emit messageReceived(doc.object(), this); } -#endif // HAVE_WEBCHANNEL +#include "moc_qwebchannelwebkittransport_p.cpp" + +#endif // ENABLE(QT_WEBCHANNEL) |