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 pageListPromise = dataPromises.then(([contentStream]) => {
const opList = new OperatorList(intent, sink, this.pageIndex);
const opList = new OperatorList(intent, sink);
handler.send("StartRenderPage", {
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
// eslint-disable-next-line no-shadow
function OperatorList(intent, streamSink, pageIndex) {
function OperatorList(intent, streamSink) {
this._streamSink = streamSink;
this.fnArray = [];
this.argsArray = [];
@ -618,10 +618,8 @@ var OperatorList = (function OperatorListClosure() {
} else {
this.optimizer = new NullOptimizer(this);
}
this.dependencies = Object.create(null);
this.dependencies = new Set();
this._totalLength = 0;
this.pageIndex = pageIndex;
this.intent = intent;
this.weight = 0;
this._resolved = streamSink ? null : Promise.resolve();
}
@ -660,16 +658,16 @@ var OperatorList = (function OperatorListClosure() {
},
addDependency(dependency) {
if (dependency in this.dependencies) {
if (this.dependencies.has(dependency)) {
return;
}
this.dependencies[dependency] = true;
this.dependencies.add(dependency);
this.addOp(OPS.dependency, [dependency]);
},
addDependencies(dependencies) {
for (var key in dependencies) {
this.addDependency(key);
for (const dependency of dependencies) {
this.addDependency(dependency);
}
},
@ -678,7 +676,9 @@ var OperatorList = (function OperatorListClosure() {
warn('addOpList - ignoring invalid "opList" parameter.');
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++) {
this.addOp(opList.fnArray[i], opList.argsArray[i]);
}
@ -736,7 +736,7 @@ var OperatorList = (function OperatorListClosure() {
this._transfers
);
this.dependencies = Object.create(null);
this.dependencies.clear();
this.fnArray.length = 0;
this.argsArray.length = 0;
this.weight = 0;