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 | // QHash<QUrl, QString> _scriptCache; | 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 | if (_scriptCache.contains(url)) { | 31 | if (_scriptCache.contains(url)) { |
| 31 | scriptUser->scriptContentsAvailable(url, _scriptCache[url]); | 32 | scriptContents = _scriptCache[url]; |
| 32 | return; | 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); | 44 | return scriptContents; |
| 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); | ||
| 40 | } | 45 | } |
| 41 | 46 | ||
| 42 | void ScriptCache::scriptDownloaded() { | 47 | void ScriptCache::scriptDownloaded() { |
| @@ -61,6 +66,8 @@ void ScriptCache::scriptDownloaded() { · 18 unmodified lines | |||
| 61 | reply->deleteLater(); | 66 | reply->deleteLater(); |
| 62 | } | 67 | } |
| 63 | 68 | ||
| 69 | |||
| 70 | #if 0 | ||
| 64 | QString ScriptCache::getScript(const QUrl& url) { | 71 | QString ScriptCache::getScript(const QUrl& url) { |
| 65 | qDebug() << "Script requested: " << url.toString(); | 72 | qDebug() << "Script requested: " << url.toString(); |
| 66 | QString scriptContents; | 73 | QString scriptContents; |
| @@ -143,4 +150,6 @@ void ScriptCache::scriptDownloadedSyncronously() { · 76 unmodified lines | |||
| 143 | _blockingScriptsPending.remove(url); | 150 | _blockingScriptsPending.remove(url); |
| 144 | qDebug() << "_blockingScriptsPending: " << _blockingScriptsPending; | 151 | qDebug() << "_blockingScriptsPending: " << _blockingScriptsPending; |
| 145 | } | 152 | } |
| 153 | |||
| 154 | #endif | ||
| 146 | 155 | ||