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:
Tim van der Meij 2021-01-22 20:24:33 +01:00 committed by GitHub
commit 6ffb6b1c0c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 8 deletions

View File

@ -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) {

View File

@ -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) {