From 48d7b85299ffefd1c8d05250ff0739dd4ad3cdd6 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Tue, 16 Nov 2010 18:55:28 +0000 Subject: [PATCH] Monotone-Parent: 9d07dc2dfdd810c4a1b91b9837f778527a330d96 Monotone-Revision: 88b79b72766239b6ea1ac581133967539b7f9f27 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2010-11-16T18:55:28 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 9 +++++++++ UI/WebServerResources/generic.js | 18 +++++++++++------- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 554f87236..f00191eac 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2010-11-16 Wolfgang Sourdeau + + * UI/WebServerResources/generic.js: (onCASRecoverIFrameLoaded): + the ajax recovery request is now performed from a timeout attached + to the window, to make sure it does not reference the iframe + itself. The iframe is removed from a similar timeout, to avoid + reference errors and a continuous spinning wheel after a recovery + request. + 2010-11-15 Francis Lachapelle * UI/WebServerResources/MailerUI.js (refreshMailbox): now calls diff --git a/UI/WebServerResources/generic.js b/UI/WebServerResources/generic.js index adf00e5e5..cdfb5fc9d 100644 --- a/UI/WebServerResources/generic.js +++ b/UI/WebServerResources/generic.js @@ -262,19 +262,23 @@ function onCASRecoverIFrameLoaded(event) { if (this.request) { var request = this.request; if (request.attempt == 0) { - triggerAjaxRequest(request.url, - request.callback, - request.callbackData, - request.content, - request.paramHeaders, - 1); + window.setTimeout(function() { + triggerAjaxRequest(request.url, + request.callback, + request.callbackData, + request.content, + request.paramHeaders, + 1); }, + 100); } else { window.location.href = UserFolderURL; } this.request = null; } - this.parentNode.removeChild(this); + var this_ = this; + window.setTimeout(function() { this_.parentNode.removeChild(this_); }, + 500); } function onAjaxRequestStateChange(http) {