]> git.parisson.com Git - pdf.js.git/commitdiff
Kill global vars FontsMap, FontLoadedCounter, objIdCounter.
authorJulian Viereck <julian.viereck@gmail.com>
Tue, 11 Oct 2011 18:17:35 +0000 (20:17 +0200)
committerJulian Viereck <julian.viereck@gmail.com>
Tue, 11 Oct 2011 20:09:16 +0000 (22:09 +0200)
pdf.js
web/viewer.js

diff --git a/pdf.js b/pdf.js
index 7530865c5e0ea2575d8a66da19e72ba2115120e4..4c2b19b219f36512aa1db81c4a92cecf29d0d27f 100644 (file)
--- a/pdf.js
+++ b/pdf.js
@@ -3580,10 +3580,9 @@ var Page = (function pagePage() {
         content = new StreamsSequenceStream(content);
       }
 
-      var pe = this.pe = new PartialEvaluator();
+      var pe = this.pe = new PartialEvaluator(xref, handler, 'p' + this.pageNumber + '_');
       var IRQueue = {};
-      return this.IRQueue = pe.getIRQueue(content, xref, resources, IRQueue,
-                              handler, 'p' + this.pageNumber + '_', dependency);
+      return this.IRQueue = pe.getIRQueue(content, resources, IRQueue, dependency);
     },
 
     ensureFonts: function(fonts, callback) {
@@ -4451,15 +4450,15 @@ var EvalState = (function evalState() {
   return constructor;
 })();
 
-var FontsMap = {};
-var FontLoadedCounter = 0;
-
-var objIdCounter = 0;
-
 var PartialEvaluator = (function partialEvaluator() {
-  function constructor() {
+  function constructor(xref, handler, uniquePrefix) {
     this.state = new EvalState();
     this.stateStack = [];
+
+    this.xref = xref;
+    this.handler = handler;
+    this.uniquePrefix = uniquePrefix;
+    this.objIdCounter = 0;
   }
 
   var OP_MAP = {
@@ -4560,8 +4559,12 @@ var PartialEvaluator = (function partialEvaluator() {
   };
 
   constructor.prototype = {
-    getIRQueue: function partialEvaluatorGetIRQueue(stream, xref, resources,
-                                    queue, handler, uniquePrefix, dependency) {
+    getIRQueue: function partialEvaluatorGetIRQueue(stream, resources,
+                                    queue, dependency) {
+
+      var xref = this.xref;
+      var handler = this.handler;
+      var uniquePrefix = this.uniquePrefix;
 
       function insertDependency(depList) {
         fnArray.push('dependency');
@@ -4590,10 +4593,9 @@ var PartialEvaluator = (function partialEvaluator() {
             if (font.translated) {
               // keep track of each font we translated so the caller can
               // load them asynchronously before calling display on a page
-              loadedName = 'font_' + uniquePrefix + (FontLoadedCounter++);
+              loadedName = 'font_' + uniquePrefix + ++this.objIdCounter;
               font.translated.properties.loadedName = loadedName;
               font.loadedName = loadedName;
-              FontsMap[loadedName] = font;
 
               handler.send('obj', [
                   loadedName,
@@ -4625,7 +4627,7 @@ var PartialEvaluator = (function partialEvaluator() {
         var h = dict.get('Height', 'H');
 
         if (image instanceof JpegStream) {
-          var objId = 'img_' + ++objIdCounter;
+          var objId = 'img_' + uniquePrefix + ++self.objIdCounter;
           handler.send('obj', [objId, 'JpegStream', image.getIR()]);
 
           // Add the dependency on the image object.
@@ -4735,9 +4737,8 @@ var PartialEvaluator = (function partialEvaluator() {
                 if (typeNum == 1) {
                   // Create an IR of the pattern code.
                   var depIdx = dependency.length;
-                  var codeIR = this.getIRQueue(pattern, xref,
-                                    dict.get('Resources'), {}, handler,
-                                    uniquePrefix, dependency);
+                  var codeIR = this.getIRQueue(pattern,
+                                    dict.get('Resources'), {}, dependency);
 
                   // Add the dependencies that are required to execute the
                   // codeIR.
@@ -4781,8 +4782,7 @@ var PartialEvaluator = (function partialEvaluator() {
                 // This adds the IRQueue of the xObj to the current queue.
                 var depIdx = dependency.length;
 
-                this.getIRQueue(xobj, xref, xobj.dict.get('Resources'), queue,
-                                         handler, uniquePrefix, dependency);
+                this.getIRQueue(xobj, xobj.dict.get('Resources'), queue, dependency);
 
                // Add the dependencies that are required to execute the
                // codeIR.
@@ -5318,8 +5318,8 @@ var PartialEvaluator = (function partialEvaluator() {
         for (var key in charProcs.map) {
           var glyphStream = xref.fetchIfRef(charProcs.map[key]);
           var queue = {};
-          properties.glyphs[key].IRQueue = this.getIRQueue(glyphStream, xref,
-                      fontResources, queue, handler, uniquePrefix, dependency);
+          properties.glyphs[key].IRQueue = this.getIRQueue(glyphStream,
+                      fontResources, queue, dependency);
         }
       }
 
index b85950548defbb3a730769f9639a5a19d2b84040..81ca523361d0ecd6f0cec5d980e8ee8043beefcf 100644 (file)
@@ -1,10 +1,10 @@
-/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+ewer/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
 
 'use strict';
 
 var kDefaultURL = 'compressed.tracemonkey-pldi-09.pdf';
-var kDefaultScale = 1;
+var kDefaultScale = 1.5;
 var kDefaultScaleDelta = 1.1;
 var kCacheSize = 20;
 var kCssUnits = 96.0 / 72.0;