diff options
| author | Tomasz Sterna <tomek@xiaoka.com> | 2015-11-27 20:46:29 +0100 |
|---|---|---|
| committer | Tomasz Sterna <tomek@xiaoka.com> | 2015-11-27 20:46:29 +0100 |
| commit | f498a49bfebcd2b535fcb54aaa8c0008fb320232 (patch) | |
| tree | 4fa6bbfa4c8f6faf22bc51170c11fa5621a50767 /daemon/jskitobjects.cpp | |
| parent | 20cab6e9b75642536f8f3f619ed3ffd44cfa6acd (diff) | |
| parent | 625962e90a0646f48e13fff5e2f88f781c5dd9b5 (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.cpp | 20 |
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) |
