Convert ImageBitmap => ImageData on the main thread in all browsers #36
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Chrome has a bug where image orientation metadata in JPEG images is lost
when an ImageBitmap is cloned via a structured clone [1]. Therefore we have
to do ImageBitmap => ImageData conversion on the main thread to ensure
that the OCR engine receives decoded image data which respects the image
orientation.
Prior to this fix the rendered image orientation and the OCR output did
not match up in Chrome if the input image was rotated.
Since neither Firefox nor Safari support OffscreenCanvas, this means
that all browsers are now doing ImageBitmap => ImageData conversion on
the main thread.
Fixes #35
[1] https://bugs.chromium.org/p/chromium/issues/detail?id=1332947