This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

insert a setTimeout between two main phases of assertion generation t…

…o prevent unresponsive script warnings in IE8 - issue #1575
  • Loading branch information...
lloyd committed May 10, 2012
1 parent 31fdd88 commit 71a537509b3f9fc4e8548d877946b9e85275a7fb
Showing with 14 additions and 12 deletions.
  1. +14 −12 resources/static/shared/user.js
@@ -943,18 +943,20 @@ BrowserID.User = (function() {
network.serverTime(function(serverTime) {
var sk = jwcrypto.loadSecretKeyFromObject(idInfo.priv);
- // assertions are valid for 2 minutes
- var expirationMS = serverTime.getTime() + (2 * 60 * 1000);
- var expirationDate = new Date(expirationMS);
-
- jwcrypto.assertion.sign(
- {}, {audience: audience, expiresAt: expirationDate},
- sk,
- function(err, signedAssertion) {
- assertion = jwcrypto.cert.bundle([idInfo.cert], signedAssertion);
- storage.site.set(audience, "email", email);
- complete(assertion);
- });
+ setTimeout(function() {
+ // assertions are valid for 2 minutes
+ var expirationMS = serverTime.getTime() + (2 * 60 * 1000);
+ var expirationDate = new Date(expirationMS);
+
+ jwcrypto.assertion.sign(
+ {}, {audience: audience, expiresAt: expirationDate},
+ sk,
+ function(err, signedAssertion) {
+ assertion = jwcrypto.cert.bundle([idInfo.cert], signedAssertion);
+ storage.site.set(audience, "email", email);
+ complete(assertion);
+ });
+ }, 0);
}, onFailure);
}

0 comments on commit 71a5375

Please sign in to comment.