summaryrefslogtreecommitdiff
path: root/daemon
diff options
context:
space:
mode:
Diffstat (limited to 'daemon')
-rw-r--r--daemon/jskitobjects.cpp20
-rw-r--r--daemon/jskitobjects.h4
2 files changed, 24 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)
diff --git a/daemon/jskitobjects.h b/daemon/jskitobjects.h
index 9f5308f..2840a3b 100644
--- a/daemon/jskitobjects.h
+++ b/daemon/jskitobjects.h
@@ -100,6 +100,7 @@ class JSKitXMLHttpRequest : public QObject
Q_PROPERTY(QJSValue onload READ onload WRITE setOnload)
Q_PROPERTY(QJSValue ontimeout READ ontimeout WRITE setOntimeout)
+ Q_PROPERTY(QJSValue onreadystatechange READ onreadystatechange WRITE setOnreadystatechange)
Q_PROPERTY(QJSValue onerror READ onerror WRITE setOnerror)
Q_PROPERTY(uint readyState READ readyState NOTIFY readyStateChanged)
Q_PROPERTY(uint timeout READ timeout WRITE setTimeout)
@@ -128,6 +129,8 @@ public:
QJSValue onload() const;
void setOnload(const QJSValue &value);
+ QJSValue onreadystatechange() const;
+ void setOnreadystatechange(const QJSValue &value);
QJSValue ontimeout() const;
void setOntimeout(const QJSValue &value);
QJSValue onerror() const;
@@ -173,6 +176,7 @@ private:
QJSValue _onload;
QJSValue _ontimeout;
QJSValue _onerror;
+ QJSValue _onreadystatechange;
};
class JSKitGeolocation : public QObject