mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-22 16:18:08 +02:00
Merge pull request #8157 from Snuffleupagus/api-RenderTask-cancel-Error
[api-minor] Reject the `RenderTask` with an actual `Error`, instead of just a `string`, when rendering is cancelled
This commit is contained in:
commit
31f8875614
12 changed files with 106 additions and 20 deletions
|
@ -60,6 +60,7 @@ var FontFaceObject = displayFontLoader.FontFaceObject;
|
|||
var FontLoader = displayFontLoader.FontLoader;
|
||||
var CanvasGraphics = displayCanvas.CanvasGraphics;
|
||||
var Metadata = displayMetadata.Metadata;
|
||||
var RenderingCancelledException = displayDOMUtils.RenderingCancelledException;
|
||||
var getDefaultSetting = displayDOMUtils.getDefaultSetting;
|
||||
var DOMCanvasFactory = displayDOMUtils.DOMCanvasFactory;
|
||||
var DOMCMapReaderFactory = displayDOMUtils.DOMCMapReaderFactory;
|
||||
|
@ -2065,7 +2066,7 @@ var RenderTask = (function RenderTaskClosure() {
|
|||
/**
|
||||
* Cancels the rendering task. If the task is currently rendering it will
|
||||
* not be cancelled until graphics pauses with a timeout. The promise that
|
||||
* this object extends will resolved when cancelled.
|
||||
* this object extends will be rejected when cancelled.
|
||||
*/
|
||||
cancel: function RenderTask_cancel() {
|
||||
this._internalRenderTask.cancel();
|
||||
|
@ -2147,7 +2148,14 @@ var InternalRenderTask = (function InternalRenderTaskClosure() {
|
|||
cancel: function InternalRenderTask_cancel() {
|
||||
this.running = false;
|
||||
this.cancelled = true;
|
||||
this.callback('cancelled');
|
||||
|
||||
if ((typeof PDFJSDev !== 'undefined' && PDFJSDev.test('PDFJS_NEXT')) ||
|
||||
getDefaultSetting('pdfjsNext')) {
|
||||
this.callback(new RenderingCancelledException(
|
||||
'Rendering cancelled, page ' + this.pageNumber, 'canvas'));
|
||||
} else {
|
||||
this.callback('cancelled');
|
||||
}
|
||||
},
|
||||
|
||||
operatorListChanged: function InternalRenderTask_operatorListChanged() {
|
||||
|
|
|
@ -176,6 +176,19 @@ var CustomStyle = (function CustomStyleClosure() {
|
|||
return CustomStyle;
|
||||
})();
|
||||
|
||||
var RenderingCancelledException = (function RenderingCancelledException() {
|
||||
function RenderingCancelledException(msg, type) {
|
||||
this.message = msg;
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
RenderingCancelledException.prototype = new Error();
|
||||
RenderingCancelledException.prototype.name = 'RenderingCancelledException';
|
||||
RenderingCancelledException.constructor = RenderingCancelledException;
|
||||
|
||||
return RenderingCancelledException;
|
||||
})();
|
||||
|
||||
var hasCanvasTypedArrays;
|
||||
if (typeof PDFJSDev === 'undefined' ||
|
||||
!PDFJSDev.test('FIREFOX || MOZCENTRAL || CHROME')) {
|
||||
|
@ -308,6 +321,8 @@ function getDefaultSetting(id) {
|
|||
return globalSettings ? globalSettings.externalLinkRel : DEFAULT_LINK_REL;
|
||||
case 'enableStats':
|
||||
return !!(globalSettings && globalSettings.enableStats);
|
||||
case 'pdfjsNext':
|
||||
return !!(globalSettings && globalSettings.pdfjsNext);
|
||||
default:
|
||||
throw new Error('Unknown default setting: ' + id);
|
||||
}
|
||||
|
@ -338,6 +353,7 @@ exports.isExternalLinkTargetSet = isExternalLinkTargetSet;
|
|||
exports.isValidUrl = isValidUrl;
|
||||
exports.getFilenameFromUrl = getFilenameFromUrl;
|
||||
exports.LinkTarget = LinkTarget;
|
||||
exports.RenderingCancelledException = RenderingCancelledException;
|
||||
exports.hasCanvasTypedArrays = hasCanvasTypedArrays;
|
||||
exports.getDefaultSetting = getDefaultSetting;
|
||||
exports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;
|
||||
|
|
|
@ -251,6 +251,13 @@
|
|||
PDFJS.isEvalSupported = (PDFJS.isEvalSupported === undefined ?
|
||||
true : PDFJS.isEvalSupported);
|
||||
|
||||
/**
|
||||
* Opt-in to backwards incompatible API changes. NOTE:
|
||||
* If the `PDFJS_NEXT` build flag is set, it will override this setting.
|
||||
* @var {boolean}
|
||||
*/
|
||||
PDFJS.pdfjsNext = (PDFJS.pdfjsNext === undefined) ? false : PDFJS.pdfjsNext;
|
||||
|
||||
if (typeof PDFJSDev === 'undefined' || !PDFJSDev.test('MOZCENTRAL')) {
|
||||
var savedOpenExternalLinksInNewWindow = PDFJS.openExternalLinksInNewWindow;
|
||||
delete PDFJS.openExternalLinksInNewWindow;
|
||||
|
|
|
@ -62,6 +62,8 @@
|
|||
exports.removeNullCharacters = sharedUtil.removeNullCharacters;
|
||||
exports.shadow = sharedUtil.shadow;
|
||||
exports.createBlob = sharedUtil.createBlob;
|
||||
exports.RenderingCancelledException =
|
||||
displayDOMUtils.RenderingCancelledException;
|
||||
exports.getFilenameFromUrl = displayDOMUtils.getFilenameFromUrl;
|
||||
exports.addLinkAttributes = displayDOMUtils.addLinkAttributes;
|
||||
}));
|
||||
|
|
|
@ -52,5 +52,7 @@ exports.createObjectURL = pdfjsSharedUtil.createObjectURL;
|
|||
exports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters;
|
||||
exports.shadow = pdfjsSharedUtil.shadow;
|
||||
exports.createBlob = pdfjsSharedUtil.createBlob;
|
||||
exports.RenderingCancelledException =
|
||||
pdfjsDisplayDOMUtils.RenderingCancelledException;
|
||||
exports.getFilenameFromUrl = pdfjsDisplayDOMUtils.getFilenameFromUrl;
|
||||
exports.addLinkAttributes = pdfjsDisplayDOMUtils.addLinkAttributes;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue