Merge pull request #12885 from Snuffleupagus/worker-tweak-caching
Simplify the `PDFFunctionFactory._localFunctionCache` initialization (PR 12034 follow-up); Fix the `gStateObj` lookup in `TranslatedFont._removeType3ColorOperators` (PR 12718 follow-up)
This commit is contained in:
		
						commit
						6ffb6b1c0c
					
				| @ -3683,7 +3683,7 @@ class TranslatedFont { | |||||||
|           continue; |           continue; | ||||||
| 
 | 
 | ||||||
|         case OPS.setGState: |         case OPS.setGState: | ||||||
|           const gStateObj = operatorList.argsArray[i]; |           const [gStateObj] = operatorList.argsArray[i]; | ||||||
|           let j = 0, |           let j = 0, | ||||||
|             jj = gStateObj.length; |             jj = gStateObj.length; | ||||||
|           while (j < jj) { |           while (j < jj) { | ||||||
|  | |||||||
| @ -20,6 +20,7 @@ import { | |||||||
|   info, |   info, | ||||||
|   isBool, |   isBool, | ||||||
|   IsEvalSupportedCached, |   IsEvalSupportedCached, | ||||||
|  |   shadow, | ||||||
|   unreachable, |   unreachable, | ||||||
| } from "../shared/util.js"; | } from "../shared/util.js"; | ||||||
| import { PostScriptLexer, PostScriptParser } from "./ps_parser.js"; | import { PostScriptLexer, PostScriptParser } from "./ps_parser.js"; | ||||||
| @ -29,7 +30,6 @@ class PDFFunctionFactory { | |||||||
|   constructor({ xref, isEvalSupported = true }) { |   constructor({ xref, isEvalSupported = true }) { | ||||||
|     this.xref = xref; |     this.xref = xref; | ||||||
|     this.isEvalSupported = isEvalSupported !== false; |     this.isEvalSupported = isEvalSupported !== false; | ||||||
|     this._localFunctionCache = null; // Initialized lazily.
 |  | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   create(fn) { |   create(fn) { | ||||||
| @ -76,9 +76,6 @@ class PDFFunctionFactory { | |||||||
|       fnRef = cacheKey.dict && cacheKey.dict.objId; |       fnRef = cacheKey.dict && cacheKey.dict.objId; | ||||||
|     } |     } | ||||||
|     if (fnRef) { |     if (fnRef) { | ||||||
|       if (!this._localFunctionCache) { |  | ||||||
|         this._localFunctionCache = new LocalFunctionCache(); |  | ||||||
|       } |  | ||||||
|       const localFunction = this._localFunctionCache.getByRef(fnRef); |       const localFunction = this._localFunctionCache.getByRef(fnRef); | ||||||
|       if (localFunction) { |       if (localFunction) { | ||||||
|         return localFunction; |         return localFunction; | ||||||
| @ -105,12 +102,16 @@ class PDFFunctionFactory { | |||||||
|       fnRef = cacheKey.dict && cacheKey.dict.objId; |       fnRef = cacheKey.dict && cacheKey.dict.objId; | ||||||
|     } |     } | ||||||
|     if (fnRef) { |     if (fnRef) { | ||||||
|       if (!this._localFunctionCache) { |  | ||||||
|         this._localFunctionCache = new LocalFunctionCache(); |  | ||||||
|       } |  | ||||||
|       this._localFunctionCache.set(/* name = */ null, fnRef, parsedFunction); |       this._localFunctionCache.set(/* name = */ null, fnRef, parsedFunction); | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  | 
 | ||||||
|  |   /** | ||||||
|  |    * @private | ||||||
|  |    */ | ||||||
|  |   get _localFunctionCache() { | ||||||
|  |     return shadow(this, "_localFunctionCache", new LocalFunctionCache()); | ||||||
|  |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function toNumberArray(arr) { | function toNumberArray(arr) { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user