Add a worker

Offload all the asm.js code to a second thread. This is usually the
source of intermittent frontend freezes when running single-threaded.
This commit is contained in:
lilia 2015-08-26 16:07:44 -07:00
parent d07357ce9a
commit 0b98043c1c
3 changed files with 2 additions and 6 deletions

View File

@ -39483,8 +39483,6 @@ function generateKeys(count, progressCallback) {
throw new Error('Invalid signedKeyId');
}
textsecure.protocol_wrapper.startWorker();
var store = textsecure.storage.axolotl;
return store.getMyIdentityKey().then(function(identityKey) {
var result = { preKeys: [], identityKey: identityKey.pubKey };
@ -39518,7 +39516,6 @@ function generateKeys(count, progressCallback) {
textsecure.storage.put('maxPreKeyId', startId + count);
textsecure.storage.put('signedKeyId', signedKeyId + 1);
return Promise.all(promises).then(function() {
textsecure.protocol_wrapper.stopWorker();
return result;
});
});

View File

@ -22,6 +22,8 @@
window.Whisper = window.Whisper || {};
textsecure.protocol_wrapper.startWorker();
var windowMap = new Whisper.Bimap('windowId', 'modelId');
var conversations = new Whisper.ConversationCollection();

View File

@ -134,8 +134,6 @@ function generateKeys(count, progressCallback) {
throw new Error('Invalid signedKeyId');
}
textsecure.protocol_wrapper.startWorker();
var store = textsecure.storage.axolotl;
return store.getMyIdentityKey().then(function(identityKey) {
var result = { preKeys: [], identityKey: identityKey.pubKey };
@ -169,7 +167,6 @@ function generateKeys(count, progressCallback) {
textsecure.storage.put('maxPreKeyId', startId + count);
textsecure.storage.put('signedKeyId', signedKeyId + 1);
return Promise.all(promises).then(function() {
textsecure.protocol_wrapper.stopWorker();
return result;
});
});