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