Plot outputs incorrectly sized inside scaled outputs #4139
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.
Fixes #4135.
CSS zoom property affects
el.getBoundingClientRect()
but notel.offsetWidth/Height
. When reporting sizes of outputs from client to server, we need to back out the CSS zoom because those sizes are used as CSS width/height, which will be affected by zoom.(Note that something similar happens with CSS transforms but we don't have a good way to deal with them)
Safari doesn't support
el.currentCSSZoom
, but it also doesn't have the problem ofel.getBoundingClientRect()
and offset size not matching when zoom is applied. We're hoping that these two facts are not a coincidence and that any browser that treats those sizes as different also gives usel.currentCSSZoom
.getBoundingClientRect is also used in the coordmap for plots. @gadenbuie and I verified that coordmaps already work well even when zoom is applied. The
coords_css
usesel.getBoundingClientRect()
without backing out the zoom; I'm convinced this is correct/how it has to be.