Merge pull request #6578 from yurydelendik/issue6577

Ignore any pending data when worker is terminated.
This commit is contained in:
Brendan Dahl 2015-10-29 11:49:40 -07:00
commit b56b41514c

View File

@ -1259,6 +1259,10 @@ var WorkerTransport = (function WorkerTransportClosure() {
}, this);
messageHandler.on('commonobj', function transportObj(data) {
if (this.destroyed) {
return; // Ignore any pending requests if the worker was terminated.
}
var id = data[0];
var type = data[1];
if (this.commonObjs.hasData(id)) {
@ -1295,6 +1299,10 @@ var WorkerTransport = (function WorkerTransportClosure() {
}, this);
messageHandler.on('obj', function transportObj(data) {
if (this.destroyed) {
return; // Ignore any pending requests if the worker was terminated.
}
var id = data[0];
var pageIndex = data[1];
var type = data[2];
@ -1326,6 +1334,10 @@ var WorkerTransport = (function WorkerTransportClosure() {
}, this);
messageHandler.on('DocProgress', function transportDocProgress(data) {
if (this.destroyed) {
return; // Ignore any pending requests if the worker was terminated.
}
var loadingTask = this.loadingTask;
if (loadingTask.onProgress) {
loadingTask.onProgress({
@ -1336,6 +1348,10 @@ var WorkerTransport = (function WorkerTransportClosure() {
}, this);
messageHandler.on('PageError', function transportError(data) {
if (this.destroyed) {
return; // Ignore any pending requests if the worker was terminated.
}
var page = this.pageCache[data.pageNum - 1];
var intentState = page.intentStates[data.intent];
if (intentState.displayReadyCapability) {
@ -1346,6 +1362,10 @@ var WorkerTransport = (function WorkerTransportClosure() {
}, this);
messageHandler.on('JpegDecode', function(data) {
if (this.destroyed) {
return Promise.reject('Worker was terminated');
}
var imageUrl = data[0];
var components = data[1];
if (components !== 3 && components !== 1) {
@ -1385,7 +1405,7 @@ var WorkerTransport = (function WorkerTransportClosure() {
};
img.src = imageUrl;
});
});
}, this);
},
fetchDocument: function WorkerTransport_fetchDocument(loadingTask, source) {