[Regression] Re-factor the *internal* renderInteractiveForms handling, since it's currently subtly wrong

The value of the `renderInteractiveForms` parameter, as passed to the `PDFPageProxy.render` method, will (potentially) affect the size/content of the operatorList that's returned from the worker (for documents with forms).
Given that operatorLists will generally, unless they contain huge images, be cached in the API, repeated `PDFPageProxy.render` calls that *only* change the `renderInteractiveForms` parameter can thus return an incorrect operatorList.

As far as I can tell, this *subtle* bug has existed ever since `renderInteractiveForms`-support was first added in PR 7633 (which is almost five years ago).
With the previous patch, fixing this is now really simple by "encoding" the `renderInteractiveForms` parameter in the *internal* renderingIntent handling.
This commit is contained in:
Jonas Jenwald 2021-08-05 11:04:09 +02:00
parent 47f94235ab
commit 107efdb178
4 changed files with 12 additions and 14 deletions

View file

@ -22,6 +22,7 @@ const RenderingIntentFlag = {
ANY: 0x01,
DISPLAY: 0x02,
PRINT: 0x04,
ANNOTATION_FORMS: 0x20,
OPLIST: 0x100,
};