Merge pull request #685 from twiss/workers-random

Use crypto.getRandomValues in Workers
This commit is contained in:
Sanjana Rajan 2018-04-23 12:42:49 -07:00 committed by GitHub
commit ce973be6ba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -28,15 +28,13 @@
* @module worker/worker
*/
self.window = {}; // to make UMD bundles work
self.window = self; // to make UMD bundles work
importScripts('openpgp.js');
var openpgp = window.openpgp;
var randomQueue = [];
var MIN_SIZE_RANDOM_BUFFER = 40000;
var MAX_SIZE_RANDOM_BUFFER = 60000;
var MIN_SIZE_RANDOM_REQUEST = 20000;
/**
* Handle random buffer exhaustion by requesting more random bytes from the main window
@ -132,8 +130,5 @@ function delegate(id, method, options) {
* @param {Object} event Contains event type and data
*/
function response(event) {
if (!randomQueue.length && openpgp.crypto.random.randomBuffer.size < MIN_SIZE_RANDOM_BUFFER) {
self.postMessage({ event: 'request-seed', amount: MIN_SIZE_RANDOM_REQUEST });
}
self.postMessage(event, openpgp.util.getTransferables(event.data));
}