| 
														
															@@ -27,23 +27,36 @@ var _pdf_rendering_queue = require('./pdf_rendering_queue'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var THUMBNAIL_WIDTH = 98; 
														 | 
														
														 | 
														
															 var THUMBNAIL_WIDTH = 98; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var THUMBNAIL_CANVAS_BORDER_WIDTH = 1; 
														 | 
														
														 | 
														
															 var THUMBNAIL_CANVAS_BORDER_WIDTH = 1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-var PDFThumbnailView = function PDFThumbnailViewClosure() { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  function getTempCanvas(width, height) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    var tempCanvas = PDFThumbnailView.tempImageCache; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    if (!tempCanvas) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      tempCanvas = document.createElement('canvas'); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      PDFThumbnailView.tempImageCache = tempCanvas; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+var TempImageFactory = function TempImageFactoryClosure() { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  var tempCanvasCache = null; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  return { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    getCanvas: function getCanvas(width, height) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      var tempCanvas = tempCanvasCache; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      if (!tempCanvas) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        tempCanvas = document.createElement('canvas'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        tempCanvasCache = tempCanvas; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      tempCanvas.width = width; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      tempCanvas.height = height; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      tempCanvas.mozOpaque = true; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      var ctx = tempCanvas.getContext('2d', { alpha: false }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      ctx.save(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      ctx.fillStyle = 'rgb(255, 255, 255)'; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      ctx.fillRect(0, 0, width, height); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      ctx.restore(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      return tempCanvas; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    }, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    destroyCanvas: function destroyCanvas() { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      var tempCanvas = tempCanvasCache; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      if (tempCanvas) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        tempCanvas.width = 0; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        tempCanvas.height = 0; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      tempCanvasCache = null; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    tempCanvas.width = width; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    tempCanvas.height = height; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    tempCanvas.mozOpaque = true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    var ctx = tempCanvas.getContext('2d', { alpha: false }); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    ctx.save(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    ctx.fillStyle = 'rgb(255, 255, 255)'; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    ctx.fillRect(0, 0, width, height); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    ctx.restore(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    return tempCanvas; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+var PDFThumbnailView = function PDFThumbnailViewClosure() { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   function PDFThumbnailView(options) { 
														 | 
														
														 | 
														
															   function PDFThumbnailView(options) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     var container = options.container; 
														 | 
														
														 | 
														
															     var container = options.container; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     var id = options.id; 
														 | 
														
														 | 
														
															     var id = options.id; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -269,7 +282,7 @@ var PDFThumbnailView = function PDFThumbnailViewClosure() { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															       var MAX_NUM_SCALING_STEPS = 3; 
														 | 
														
														 | 
														
															       var MAX_NUM_SCALING_STEPS = 3; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															       var reducedWidth = canvas.width << MAX_NUM_SCALING_STEPS; 
														 | 
														
														 | 
														
															       var reducedWidth = canvas.width << MAX_NUM_SCALING_STEPS; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															       var reducedHeight = canvas.height << MAX_NUM_SCALING_STEPS; 
														 | 
														
														 | 
														
															       var reducedHeight = canvas.height << MAX_NUM_SCALING_STEPS; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      var reducedImage = getTempCanvas(reducedWidth, reducedHeight); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      var reducedImage = TempImageFactory.getCanvas(reducedWidth, reducedHeight); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															       var reducedImageCtx = reducedImage.getContext('2d'); 
														 | 
														
														 | 
														
															       var reducedImageCtx = reducedImage.getContext('2d'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															       while (reducedWidth > img.width || reducedHeight > img.height) { 
														 | 
														
														 | 
														
															       while (reducedWidth > img.width || reducedHeight > img.height) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         reducedWidth >>= 1; 
														 | 
														
														 | 
														
															         reducedWidth >>= 1; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -301,7 +314,9 @@ var PDFThumbnailView = function PDFThumbnailViewClosure() { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															       } 
														 | 
														
														 | 
														
															       } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   }; 
														 | 
														
														 | 
														
															   }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  PDFThumbnailView.cleanup = function () { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    TempImageFactory.destroyCanvas(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   return PDFThumbnailView; 
														 | 
														
														 | 
														
															   return PDFThumbnailView; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }(); 
														 | 
														
														 | 
														
															 }(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-PDFThumbnailView.tempImageCache = null; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 exports.PDFThumbnailView = PDFThumbnailView; 
														 | 
														
														 | 
														
															 exports.PDFThumbnailView = PDFThumbnailView; 
														 |