Merge pull request #11993 from Snuffleupagus/OperatorList-dependencies-set

Change the `dependencies` property, on `OperatorList` instances, from an Object to a Set
This commit is contained in:
Tim van der Meij 2020-06-11 23:43:10 +02:00 committed by GitHub
commit 973936f469
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 11 deletions

View File

@ -270,7 +270,7 @@ class Page {
const dataPromises = Promise.all([contentStreamPromise, resourcesPromise]); const dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);
const pageListPromise = dataPromises.then(([contentStream]) => { const pageListPromise = dataPromises.then(([contentStream]) => {
const opList = new OperatorList(intent, sink, this.pageIndex); const opList = new OperatorList(intent, sink);
handler.send("StartRenderPage", { handler.send("StartRenderPage", {
transparency: partialEvaluator.hasBlendModes(this.resources), transparency: partialEvaluator.hasBlendModes(this.resources),

View File

@ -609,7 +609,7 @@ var OperatorList = (function OperatorListClosure() {
var CHUNK_SIZE_ABOUT = CHUNK_SIZE - 5; // close to chunk size var CHUNK_SIZE_ABOUT = CHUNK_SIZE - 5; // close to chunk size
// eslint-disable-next-line no-shadow // eslint-disable-next-line no-shadow
function OperatorList(intent, streamSink, pageIndex) { function OperatorList(intent, streamSink) {
this._streamSink = streamSink; this._streamSink = streamSink;
this.fnArray = []; this.fnArray = [];
this.argsArray = []; this.argsArray = [];
@ -618,10 +618,8 @@ var OperatorList = (function OperatorListClosure() {
} else { } else {
this.optimizer = new NullOptimizer(this); this.optimizer = new NullOptimizer(this);
} }
this.dependencies = Object.create(null); this.dependencies = new Set();
this._totalLength = 0; this._totalLength = 0;
this.pageIndex = pageIndex;
this.intent = intent;
this.weight = 0; this.weight = 0;
this._resolved = streamSink ? null : Promise.resolve(); this._resolved = streamSink ? null : Promise.resolve();
} }
@ -660,16 +658,16 @@ var OperatorList = (function OperatorListClosure() {
}, },
addDependency(dependency) { addDependency(dependency) {
if (dependency in this.dependencies) { if (this.dependencies.has(dependency)) {
return; return;
} }
this.dependencies[dependency] = true; this.dependencies.add(dependency);
this.addOp(OPS.dependency, [dependency]); this.addOp(OPS.dependency, [dependency]);
}, },
addDependencies(dependencies) { addDependencies(dependencies) {
for (var key in dependencies) { for (const dependency of dependencies) {
this.addDependency(key); this.addDependency(dependency);
} }
}, },
@ -678,7 +676,9 @@ var OperatorList = (function OperatorListClosure() {
warn('addOpList - ignoring invalid "opList" parameter.'); warn('addOpList - ignoring invalid "opList" parameter.');
return; return;
} }
Object.assign(this.dependencies, opList.dependencies); for (const dependency of opList.dependencies) {
this.dependencies.add(dependency);
}
for (var i = 0, ii = opList.length; i < ii; i++) { for (var i = 0, ii = opList.length; i < ii; i++) {
this.addOp(opList.fnArray[i], opList.argsArray[i]); this.addOp(opList.fnArray[i], opList.argsArray[i]);
} }
@ -736,7 +736,7 @@ var OperatorList = (function OperatorListClosure() {
this._transfers this._transfers
); );
this.dependencies = Object.create(null); this.dependencies.clear();
this.fnArray.length = 0; this.fnArray.length = 0;
this.argsArray.length = 0; this.argsArray.length = 0;
this.weight = 0; this.weight = 0;