Let finishPaintTask
in pdf_page_view.js return a promise instead, to avoid having to throw in the paintTask.promise
rejection handler, and don't reject the PDFPageView_draw
promise when rendering is cancelled
As mentioned on IRC yesterday, we currently throw even when rendering is `cancelled`, which is annoying when the devtools are active. Furthermore, since `cancelled` isn't really an error, rejecting the `PDFPageView_draw` promise seems somewhat strange in that case.
This commit is contained in:
parent
017e9b98d1
commit
73e0daed6c
@ -423,7 +423,7 @@ var PDFPageView = (function PDFPageViewClosure() {
|
||||
|
||||
if (error === 'cancelled') {
|
||||
self.error = null;
|
||||
return;
|
||||
return Promise.resolve(undefined);
|
||||
}
|
||||
|
||||
self.renderingState = RenderingStates.FINISHED;
|
||||
@ -459,6 +459,11 @@ var PDFPageView = (function PDFPageViewClosure() {
|
||||
pageNumber: self.id,
|
||||
cssTransform: false,
|
||||
});
|
||||
|
||||
if (error) {
|
||||
return Promise.reject(error);
|
||||
}
|
||||
return Promise.resolve(undefined);
|
||||
};
|
||||
|
||||
var paintTask = this.renderer === RendererType.SVG ?
|
||||
@ -468,18 +473,18 @@ var PDFPageView = (function PDFPageViewClosure() {
|
||||
this.paintTask = paintTask;
|
||||
|
||||
var resultPromise = paintTask.promise.then(function () {
|
||||
finishPaintTask(null);
|
||||
if (textLayer) {
|
||||
pdfPage.getTextContent({
|
||||
normalizeWhitespace: true,
|
||||
}).then(function textContentResolved(textContent) {
|
||||
textLayer.setTextContent(textContent);
|
||||
textLayer.render(TEXT_LAYER_RENDER_DELAY);
|
||||
});
|
||||
}
|
||||
return finishPaintTask(null).then(function () {
|
||||
if (textLayer) {
|
||||
pdfPage.getTextContent({
|
||||
normalizeWhitespace: true,
|
||||
}).then(function textContentResolved(textContent) {
|
||||
textLayer.setTextContent(textContent);
|
||||
textLayer.render(TEXT_LAYER_RENDER_DELAY);
|
||||
});
|
||||
}
|
||||
});
|
||||
}, function (reason) {
|
||||
finishPaintTask(reason);
|
||||
throw reason;
|
||||
return finishPaintTask(reason);
|
||||
});
|
||||
|
||||
if (this.annotationLayerFactory) {
|
||||
|
Loading…
Reference in New Issue
Block a user