Merge pull request #6004 from matrix-org/jryans/image-metadata-release

[Release] Don't use the event's metadata to calc the scale of an image
This commit is contained in:
J. Ryan Stinnett 2021-05-10 13:12:04 +01:00 committed by GitHub
commit 15035bd670
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -108,8 +108,6 @@ export default class ImageView extends React.Component<IProps, IState> {
window.addEventListener("resize", this.calculateZoom); window.addEventListener("resize", this.calculateZoom);
// After the image loads for the first time we want to calculate the zoom // After the image loads for the first time we want to calculate the zoom
this.image.current.addEventListener("load", this.calculateZoom); this.image.current.addEventListener("load", this.calculateZoom);
// Try to precalculate the zoom from width and height props
this.calculateZoom();
} }
componentWillUnmount() { componentWillUnmount() {
@ -120,11 +118,8 @@ export default class ImageView extends React.Component<IProps, IState> {
const image = this.image.current; const image = this.image.current;
const imageWrapper = this.imageWrapper.current; const imageWrapper = this.imageWrapper.current;
const width = this.props.width || image.naturalWidth; const zoomX = imageWrapper.clientWidth / image.naturalWidth;
const height = this.props.height || image.naturalHeight; const zoomY = imageWrapper.clientHeight / image.naturalHeight;
const zoomX = imageWrapper.clientWidth / width;
const zoomY = imageWrapper.clientHeight / height;
// If the image is smaller in both dimensions set its the zoom to 1 to // If the image is smaller in both dimensions set its the zoom to 1 to
// display it in its original size // display it in its original size