From 7036bcd4c74025080ee09f22d4db18ace33bab61 Mon Sep 17 00:00:00 2001 From: notmasteryet Date: Sun, 18 Sep 2011 14:44:57 -0500 Subject: [PATCH] Zero gjslint warnings mark --- pdf.js | 4 +- test/driver.js | 2 +- worker/client.js | 101 +++++++++++++++++++++++++---------------------- worker/font.js | 4 +- worker/pdf.js | 22 ++++++----- 5 files changed, 70 insertions(+), 63 deletions(-) diff --git a/pdf.js b/pdf.js index 1ee56e7ed..6ce70215f 100644 --- a/pdf.js +++ b/pdf.js @@ -3226,8 +3226,8 @@ var XRef = (function() { if (this.encrypt && !suppressEncryption) { try { e = parser.getObj(this.encrypt.createCipherTransform(num, gen)); - } catch(ex) { - // almost all streams must to encrypted, but sometimes + } catch (ex) { + // almost all streams must be encrypted, but sometimes // they are not probably due to some broken generators // re-trying without encryption return this.fetch(ref, true); diff --git a/test/driver.js b/test/driver.js index 14f1280a6..92beaf78f 100644 --- a/test/driver.js +++ b/test/driver.js @@ -49,7 +49,7 @@ function load() { }; r.send(null); } -window.onload = load; +documet.addEventListener('DOMContentLoaded', load); function nextTask() { if (currentTaskIdx == manifest.length) { diff --git a/worker/client.js b/worker/client.js index 36a0ae03a..a51484c64 100644 --- a/worker/client.js +++ b/worker/client.js @@ -3,23 +3,26 @@ 'use strict'; -if (typeof console.time == 'undefined') { +var consoleUtils = (function() { var consoleTimer = {}; - console.time = function(name) { + + var obj = {}; + obj.time = function(name) { consoleTimer[name] = Date.now(); }; - - console.timeEnd = function(name) { + obj.timeEnd = function(name) { var time = consoleTimer[name]; if (time == null) { throw 'Unkown timer name ' + name; } - this.log('Timer:', name, Date.now() - time); + console.log('Timer:', name, Date.now() - time); }; -} + + return obj; +})(); function FontWorker() { - this.worker = new Worker('worker/font.js'); + this.worker = new Worker('../worker/font.js'); this.fontsWaiting = 0; this.fontsWaitingCallbacks = []; @@ -96,7 +99,7 @@ FontWorker.prototype = { this.fontsWaiting++; } - console.time('ensureFonts'); + consoleUtils.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) { @@ -124,7 +127,7 @@ function WorkerPDFDoc(canvas) { this.ctx = canvas.getContext('2d'); this.canvas = canvas; - this.worker = new Worker('worker/pdf.js'); + this.worker = new Worker('../worker/pdf.js'); this.fontWorker = new FontWorker(); this.waitingForFonts = false; this.waitingForFontsCallback = []; @@ -167,7 +170,8 @@ function WorkerPDFDoc(canvas) { }, '$putImageData': function(imageData, x, y) { - var imgData = this.getImageData(0, 0, imageData.width, imageData.height); + var imgData = this.getImageData(0, 0, + imageData.width, imageData.height); // Store the .data property to avaid property lookups. var imageRealData = imageData.data; @@ -339,7 +343,7 @@ function WorkerPDFDoc(canvas) { var renderData = function() { if (id == 0) { - console.time('main canvas rendering'); + consoleUtils.time('main canvas rendering'); var ctx = this.ctx; ctx.save(); ctx.fillStyle = 'rgb(255, 255, 255)'; @@ -348,8 +352,8 @@ function WorkerPDFDoc(canvas) { } renderProxyCanvas(canvasList[id], cmdQueue); if (id == 0) { - console.timeEnd('main canvas rendering'); - console.timeEnd('>>> total page display time:'); + consoleUtils.timeEnd('main canvas rendering'); + consoleUtils.timeEnd('>>> total page display time:'); } }.bind(this); @@ -368,51 +372,52 @@ function WorkerPDFDoc(canvas) { }; // Listen to the WebWorker for data and call actionHandler on it. - this.worker.onmessage = function(event) { + this.worker.addEventListener('message', function(event) { var data = event.data; if (data.action in actionHandler) { actionHandler[data.action].call(this, data.data); } else { throw 'Unkown action from worker: ' + data.action; } - }.bind(this); + }.bind(this)); } -WorkerPDFDoc.prototype.open = function(url, callback) { - var req = new XMLHttpRequest(); - req.open('GET', url); - req.mozResponseType = req.responseType = 'arraybuffer'; - req.expected = (document.URL.indexOf('file:') == 0) ? 0 : 200; - req.onreadystatechange = function() { - if (req.readyState == 4 && req.status == req.expected) { - var data = req.mozResponseArrayBuffer || req.mozResponse || - req.responseArrayBuffer || req.response; +WorkerPDFDoc.prototype = { + open: function(url, callback) { + var req = new XMLHttpRequest(); + req.open('GET', url); + req.mozResponseType = req.responseType = 'arraybuffer'; + req.expected = (document.URL.indexOf('file:') == 0) ? 0 : 200; + req.onreadystatechange = function() { + if (req.readyState == 4 && req.status == req.expected) { + var data = req.mozResponseArrayBuffer || req.mozResponse || + req.responseArrayBuffer || req.response; - this.loadCallback = callback; - this.worker.postMessage(data); - this.showPage(this.numPage); + this.loadCallback = callback; + this.worker.postMessage(data); + this.showPage(this.numPage); + } + }.bind(this); + req.send(null); + }, + + showPage: function(numPage) { + this.numPage = parseInt(numPage, 10); + console.log('=== start rendering page ' + numPage + ' ==='); + consoleUtils.time('>>> total page display time:'); + this.worker.postMessage(numPage); + if (this.onChangePage) { + this.onChangePage(numPage); } - }.bind(this); - req.send(null); -}; + }, -WorkerPDFDoc.prototype.showPage = function(numPage) { - this.numPage = parseInt(numPage, 10); - console.log('=== start rendering page ' + numPage + ' ==='); - console.time('>>> total page display time:'); - this.worker.postMessage(numPage); - if (this.onChangePage) { - this.onChangePage(numPage); + nextPage: function() { + if (this.numPage != this.numPages) + this.showPage(++this.numPage); + }, + + prevPage: function() { + if (this.numPage != 1) + this.showPage(--this.numPage); } }; - -WorkerPDFDoc.prototype.nextPage = function() { - if (this.numPage != this.numPages) - this.showPage(++this.numPage); -}; - -WorkerPDFDoc.prototype.prevPage = function() { - if (this.numPage != 1) - this.showPage(--this.numPage); -}; - diff --git a/worker/font.js b/worker/font.js index 44a4782f0..4319de7b9 100644 --- a/worker/font.js +++ b/worker/font.js @@ -56,12 +56,12 @@ var actionHandler = { }; // Listen to the MainThread for data and call actionHandler on it. -this.onmessage = function(event) { +addEventListener('message', function(event) { var data = event.data; if (data.action in actionHandler) { actionHandler[data.action].call(this, data.data); } else { throw 'Unkown action from worker: ' + data.action; } -}; +}); diff --git a/worker/pdf.js b/worker/pdf.js index 7a72ac824..f205547ab 100644 --- a/worker/pdf.js +++ b/worker/pdf.js @@ -11,8 +11,10 @@ var console = { action: 'log', data: args }); - }, + } +}; +var consoleUtils = { time: function(name) { consoleTimer[name] = Date.now(); }, @@ -22,7 +24,7 @@ var console = { if (time == null) { throw 'Unkown timer name ' + name; } - this.log('Timer:', name, Date.now() - time); + console.log('Timer:', name, Date.now() - time); } }; @@ -42,7 +44,7 @@ var canvas = new CanvasProxy(1224, 1584); // Listen for messages from the main thread. var pdfDocument = null; -onmessage = function(event) { +addEventListener('message', function(event) { var data = event.data; // If there is no pdfDocument yet, then the sent data is the PDFDocument. if (!pdfDocument) { @@ -55,7 +57,7 @@ onmessage = function(event) { } // User requested to render a certain page. else { - console.time('compile'); + consoleUtils.time('compile'); // Let's try to render the first page... var page = pdfDocument.getPage(parseInt(data, 10)); @@ -77,19 +79,19 @@ onmessage = function(event) { var fonts = []; var gfx = new CanvasGraphics(canvas.getContext('2d'), CanvasProxy); page.compile(gfx, fonts); - console.timeEnd('compile'); + consoleUtils.timeEnd('compile'); // Send fonts to the main thread. - console.time('fonts'); + consoleUtils.time('fonts'); postMessage({ action: 'fonts', data: fonts }); - console.timeEnd('fonts'); + consoleUtils.timeEnd('fonts'); - console.time('display'); + consoleUtils.time('display'); page.display(gfx); canvas.flush(); - console.timeEnd('display'); + consoleUtils.timeEnd('display'); } -}; +});