Skip to content

Commit fb09f6a

Browse files
committed
Wait a bit and retry if mpw object not available
fix for issue 8
1 parent aa139c7 commit fb09f6a

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

ext/data/main_popup.js

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,32 @@ function update_page_password_input(data) {
3333
var mpw_session=null;
3434
var session_store={};
3535

36-
function recalculate(hide_after_copy) {
36+
function recalculate(hide_after_copy, retry) {
3737
$('#thepassword').html('(calculating..)');
3838
$('#usermessage').html("Please wait...");
3939
if ($('#sitename').val()==null || $('#sitename').val()=="") {
4040
$('#usermessage').html("need sitename");
4141
return;
4242
}
43-
if (!mpw_session)
44-
mpw_session = mpw(
45-
session_store.username,
46-
session_store.masterkey);
47-
4843

44+
if (!mpw_session) {
45+
try {
46+
mpw_session = mpw(
47+
session_store.username,
48+
session_store.masterkey);
49+
} catch(err)
50+
{
51+
if (retry) {
52+
$('#usermessage').html("Waiting didn't help :(");
53+
$('#thepassword').html('(Failed)');
54+
console.log(err.message,"\n",err.stack);
55+
} else {
56+
$('#usermessage').html("waiting for asm.js");
57+
setTimeout(function(){ recalculate(hide_after_copy, true); }, 300);
58+
}
59+
return;
60+
}
61+
}
4962

5063
console.log("calc password "+$('#sitename').val()+" . "+parseInt($('#passwdgeneration').val())+" . "+$('#passwdtype').val());
5164
var i,s="",pass=mpw_session($('#sitename').val(), parseInt($('#passwdgeneration').val()), $('#passwdtype').val());

0 commit comments

Comments
 (0)