summaryrefslogtreecommitdiff
path: root/daemon/jskitobjects.cpp
diff options
context:
space:
mode:
authorTomasz Sterna <tomek@xiaoka.com>2015-11-27 20:46:29 +0100
committerTomasz Sterna <tomek@xiaoka.com>2015-11-27 20:46:29 +0100
commitf498a49bfebcd2b535fcb54aaa8c0008fb320232 (patch)
tree4fa6bbfa4c8f6faf22bc51170c11fa5621a50767 /daemon/jskitobjects.cpp
parent20cab6e9b75642536f8f3f619ed3ffd44cfa6acd (diff)
parent625962e90a0646f48e13fff5e2f88f781c5dd9b5 (diff)
Merge pull request #97 from abranson/master
Add support for onreadystatechange JS callback from XMLHttpRequest
Diffstat (limited to 'daemon/jskitobjects.cpp')
-rw-r--r--daemon/jskitobjects.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/daemon/jskitobjects.cpp b/daemon/jskitobjects.cpp
index d9ef02f..481c077 100644
--- a/daemon/jskitobjects.cpp
+++ b/daemon/jskitobjects.cpp
@@ -413,6 +413,16 @@ void JSKitXMLHttpRequest::setOnload(const QJSValue &value)
_onload = value;
}
+QJSValue JSKitXMLHttpRequest::onreadystatechange() const
+{
+ return _onreadystatechange;
+}
+
+void JSKitXMLHttpRequest::setOnreadystatechange(const QJSValue &value)
+{
+ _onreadystatechange = value;
+}
+
QJSValue JSKitXMLHttpRequest::ontimeout() const
{
return _ontimeout;
@@ -541,6 +551,16 @@ void JSKitXMLHttpRequest::handleReplyFinished()
} else {
qCDebug(l) << "No onload set";
}
+
+ if (_onreadystatechange.isCallable()) {
+ qCDebug(l) << "going to call onreadystatechange handler:" << _onreadystatechange.toString();
+ QJSValue result = _onreadystatechange.callWithInstance(_mgr->engine()->newQObject(this));
+ if (result.isError()) {
+ qCWarning(l) << "JS error on onreadystatechange handler:" << JSKitManager::describeError(result);
+ }
+ } else {
+ qCDebug(l) << "No onreadystatechange set";
+ }
}
void JSKitXMLHttpRequest::handleReplyError(QNetworkReply::NetworkError code)