Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2016-03-22 20:28:54 +0300
committerVincent Petry <pvince81@owncloud.com>2016-04-01 17:55:47 +0300
commit51ff3e7443592461dba9ba3730e80ca775f2c04b (patch)
treea4f4a86c320d7201730832a1672bb00e2c7231b3 /core
parentd8261d41cc7777c460a0a240b2b6291b7962b1b9 (diff)
Stronger fix for navigate away detection
Diffstat (limited to 'core')
-rw-r--r--core/js/js.js12
1 files changed, 10 insertions, 2 deletions
diff --git a/core/js/js.js b/core/js/js.js
index 1a3b532ed4c..f4e0fa464d8 100644
--- a/core/js/js.js
+++ b/core/js/js.js
@@ -740,15 +740,23 @@ var OC={
* if an error/auth error status was returned.
*/
_processAjaxError: function(xhr) {
+ var self = this;
// purposefully aborted request ?
// this._userIsNavigatingAway needed to distinguish ajax calls cancelled by navigating away
// from calls cancelled by failed cross-domain ajax due to SSO redirect
- if (xhr.status === 0 && (xhr.statusText === 'abort' || xhr.statusText === 'timeout' || this._userIsNavigatingAway)) {
+ if (xhr.status === 0 && (xhr.statusText === 'abort' || xhr.statusText === 'timeout' || self._reloadCalled)) {
return;
}
if (_.contains([0, 302, 303, 307, 401], xhr.status)) {
- OC.reload();
+ // sometimes "beforeunload" happens later, so need to defer the reload a bit
+ setTimeout(function() {
+ if (!self._userIsNavigatingAway && !self._reloadCalled) {
+ OC.reload();
+ // only call reload once
+ self._reloadCalled = true;
+ }
+ }, 100);
}
},