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; | ||||
| 
 | ||||
|         case OPS.setGState: | ||||
|           const gStateObj = operatorList.argsArray[i]; | ||||
|           const [gStateObj] = operatorList.argsArray[i]; | ||||
|           let j = 0, | ||||
|             jj = gStateObj.length; | ||||
|           while (j < jj) { | ||||
|  | ||||
| @ -20,6 +20,7 @@ import { | ||||
|   info, | ||||
|   isBool, | ||||
|   IsEvalSupportedCached, | ||||
|   shadow, | ||||
|   unreachable, | ||||
| } from "../shared/util.js"; | ||||
| import { PostScriptLexer, PostScriptParser } from "./ps_parser.js"; | ||||
| @ -29,7 +30,6 @@ class PDFFunctionFactory { | ||||
|   constructor({ xref, isEvalSupported = true }) { | ||||
|     this.xref = xref; | ||||
|     this.isEvalSupported = isEvalSupported !== false; | ||||
|     this._localFunctionCache = null; // Initialized lazily.
 | ||||
|   } | ||||
| 
 | ||||
|   create(fn) { | ||||
| @ -76,9 +76,6 @@ class PDFFunctionFactory { | ||||
|       fnRef = cacheKey.dict && cacheKey.dict.objId; | ||||
|     } | ||||
|     if (fnRef) { | ||||
|       if (!this._localFunctionCache) { | ||||
|         this._localFunctionCache = new LocalFunctionCache(); | ||||
|       } | ||||
|       const localFunction = this._localFunctionCache.getByRef(fnRef); | ||||
|       if (localFunction) { | ||||
|         return localFunction; | ||||
| @ -105,12 +102,16 @@ class PDFFunctionFactory { | ||||
|       fnRef = cacheKey.dict && cacheKey.dict.objId; | ||||
|     } | ||||
|     if (fnRef) { | ||||
|       if (!this._localFunctionCache) { | ||||
|         this._localFunctionCache = new LocalFunctionCache(); | ||||
|       } | ||||
|       this._localFunctionCache.set(/* name = */ null, fnRef, parsedFunction); | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * @private | ||||
|    */ | ||||
|   get _localFunctionCache() { | ||||
|     return shadow(this, "_localFunctionCache", new LocalFunctionCache()); | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| function toNumberArray(arr) { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user