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…
Reference in New Issue
Block a user