Showing the changes to libraries/script-engine/src/ScriptCache.cpp (1 of 5 files). Show all
Unified · Split
| @@ -26,17 +26,22 @@ ScriptCache::ScriptCache(QObject* parent) { · 25 unmodified lines | ||
| 26 | 26 | |
| 27 | 27 | // QHash<QUrl, QString> _scriptCache; |
| 28 | 28 | |
| 29 | −void ScriptCache::getScript(const QUrl& url, ScriptUser* scriptUser) { | |
| 29 | +QString ScriptCache::getScript(const QUrl& url, ScriptUser* scriptUser, bool& isPending) { | |
| 30 | + QString scriptContents; | |
| 30 | 31 | if (_scriptCache.contains(url)) { |
| 31 | − scriptUser->scriptContentsAvailable(url, _scriptCache[url]); | |
| 32 | − return; | |
| 32 | + scriptContents = _scriptCache[url]; | |
| 33 | + scriptUser->scriptContentsAvailable(url, scriptContents); | |
| 34 | + isPending = false; | |
| 35 | + } else { | |
| 36 | + isPending = true; | |
| 37 | + _scriptUsers.insert(url, scriptUser); | |
| 38 | + QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance(); | |
| 39 | + QNetworkRequest networkRequest = QNetworkRequest(url); | |
| 40 | + networkRequest.setHeader(QNetworkRequest::UserAgentHeader, HIGH_FIDELITY_USER_AGENT); | |
| 41 | + QNetworkReply* reply = networkAccessManager.get(networkRequest); | |
| 42 | + connect(reply, &QNetworkReply::finished, this, &ScriptCache::scriptDownloaded); | |
| 33 | 43 | } |
| 34 | − _scriptUsers.insert(url, scriptUser); | |
| 35 | − QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance(); | |
| 36 | − QNetworkRequest networkRequest = QNetworkRequest(url); | |
| 37 | − networkRequest.setHeader(QNetworkRequest::UserAgentHeader, HIGH_FIDELITY_USER_AGENT); | |
| 38 | − QNetworkReply* reply = networkAccessManager.get(networkRequest); | |
| 39 | − connect(reply, &QNetworkReply::finished, this, &ScriptCache::scriptDownloaded); | |
| 44 | + return scriptContents; | |
| 40 | 45 | } |
| 41 | 46 | |
| 42 | 47 | void ScriptCache::scriptDownloaded() { |
| @@ -61,6 +66,8 @@ void ScriptCache::scriptDownloaded() { · 18 unmodified lines | ||
| 61 | 66 | reply->deleteLater(); |
| 62 | 67 | } |
| 63 | 68 | |
| 69 | + | |
| 70 | +#if 0 | |
| 64 | 71 | QString ScriptCache::getScript(const QUrl& url) { |
| 65 | 72 | qDebug() << "Script requested: " << url.toString(); |
| 66 | 73 | QString scriptContents; |
| @@ -143,4 +150,6 @@ void ScriptCache::scriptDownloadedSyncronously() { · 76 unmodified lines | ||
| 143 | 150 | _blockingScriptsPending.remove(url); |
| 144 | 151 | qDebug() << "_blockingScriptsPending: " << _blockingScriptsPending; |
| 145 | 152 | } |
| 153 | + | |
| 154 | +#endif | |
| 146 | 155 | |