Merge pull request #14622 from overleaf/td-em-resize-observer-error

Prevent ResizeObserver errors from PDF viewer wrapper

GitOrigin-RevId: 3ea652e0ab4387a21ef2d3adb694129fca3c1909
This commit is contained in:
Tim Down 2023-09-05 15:46:51 +01:00 committed by Copybot
parent 5cce9683fa
commit df393a3b9a

View file

@ -139,6 +139,12 @@ export default class PDFJSWrapper {
return return
} }
// Use requestAnimationFrame to prevent errors like "ResizeObserver loop
// completed with undelivered notifications" that can occur if updating the
// viewer causes another repaint. The cost of this is that the viewer update
// lags one frame behind, but it's unlikely to matter.
// Further reading: https://github.com/WICG/resize-observer/issues/38
window.requestAnimationFrame(() => {
const currentScaleValue = this.viewer.currentScaleValue const currentScaleValue = this.viewer.currentScaleValue
if ( if (
@ -150,6 +156,7 @@ export default class PDFJSWrapper {
} }
this.viewer.update() this.viewer.update()
})
} }
// get the page and offset of a click event // get the page and offset of a click event