From: Julian Viereck Date: Sat, 25 Jun 2011 23:35:17 +0000 (+0200) Subject: Make sure to reset callbacks array and get more fonts working X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=c1834c1bb5899f7b2ff2ade812a3a4eb010e095a;p=pdf.js.git Make sure to reset callbacks array and get more fonts working --- diff --git a/worker/client.js b/worker/client.js index 7856825..41b8c13 100644 --- a/worker/client.js +++ b/worker/client.js @@ -59,6 +59,10 @@ FontWorker.prototype = { this.fontsWaiting --; } + if (this.fontsWaiting == 0) { + console.timeEnd("ensureFonts"); + } + // This timeout is necessary right now to make sure the fonts are really // loaded at the point the callbacks are called. setTimeout(function() { @@ -68,6 +72,7 @@ FontWorker.prototype = { for (var i = 0; i < callbacks.length; i++) { callbacks[i](); } + this.fontsWaitingCallbacks.length = 0; } }.bind(this), 100); } @@ -86,7 +91,7 @@ FontWorker.prototype = { // hold track on as lease memory as possible. Fonts[font.name] = { properties: { - charset: font.properties.charset + encoding: font.properties.encoding }, cache: Object.create(null) }; @@ -97,9 +102,11 @@ FontWorker.prototype = { this.fontsWaiting++; } + console.time("ensureFonts"); // If there are fonts, that need to get loaded, tell the FontWorker to get // started and push the callback on the waiting-callback-stack. if (notLoaded.length != 0) { + console.log("fonts -> FontWorker"); // Send the worker the fonts to work on. this.worker.postMessage({ action: "fonts", @@ -304,6 +311,7 @@ function WorkerPDFDoc(canvas) { for (var i = 0; i < callbacks.length; i++) { callbacks[i](); } + this.waitingForFontsCallback.length = 0; }.bind(this)); },