summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/API/qt/qwebchannelwebkittransport.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/UIProcess/API/qt/qwebchannelwebkittransport.cpp')
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qwebchannelwebkittransport.cpp21
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)