aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnna Koskinen <Ansku@users.noreply.github.com>2020-09-07 17:30:42 +0300
committerGitHub <noreply@github.com>2020-09-07 17:30:42 +0300
commita0507ac0f52858e222528a723a4e3f28eec7ac93 (patch)
treede1463f856459b2d3a9910a91cec2a0ec0ed2f14
parentec729459f2d302e4be9c06a8fd4c766fe46cd3a8 (diff)
downloadvaadin-framework-a0507ac0f52858e222528a723a4e3f28eec7ac93.tar.gz
vaadin-framework-a0507ac0f52858e222528a723a4e3f28eec7ac93.zip
Add 1px buffer to Escalator column natural widths. (#12075) (#12098)
The purpose of the buffer is to avoid subpixel handling issues, especially when zoomed in or out. In case fractions need to be adjusted for browser compatibility, round up to ensure the contents have the space they need. Fixes #12048
-rw-r--r--client/src/main/java/com/vaadin/client/widgets/Escalator.java14
-rw-r--r--uitest/reference-screenshots/chrome/CheckboxAlignmentWithNoHeaderGridTest-alignments_are_correct_ANY_Chrome__alignment.pngbin20251 -> 20256 bytes
-rwxr-xr-xuitest/reference-screenshots/chrome/GridColumnAutoWidthClientTest-testColumnsRenderCorrectly_ANY_Chrome__grid-v8-initialRender.pngbin16438 -> 16654 bytes
-rwxr-xr-xuitest/reference-screenshots/chrome/GridColumnAutoWidthServerTest-testColumnsRenderCorrectly_ANY_Chrome__grid-v8-initialRender.pngbin15787 -> 15925 bytes
4 files changed, 7 insertions, 7 deletions
diff --git a/client/src/main/java/com/vaadin/client/widgets/Escalator.java b/client/src/main/java/com/vaadin/client/widgets/Escalator.java
index b4427b2df1..a324e54960 100644
--- a/client/src/main/java/com/vaadin/client/widgets/Escalator.java
+++ b/client/src/main/java/com/vaadin/client/widgets/Escalator.java
@@ -2250,13 +2250,13 @@ public class Escalator extends Widget
cell.getParentElement().insertBefore(cellClone, cell);
double requiredWidth = getBoundingWidth(cellClone);
- if (BrowserInfo.get().isIE()) {
- /*
- * IE browsers have some issues with subpixels. Occasionally
- * content is overflown even if not necessary. Increase the
- * counted required size by 0.01 just to be on the safe side.
- */
- requiredWidth += 0.01;
+
+ if (requiredWidth > 0) {
+ // add one pixel to avoid subpixel issues
+ // (overflow, unnecessary ellipsis...)
+ requiredWidth += 1;
+ // round up to a fraction that the current browser can handle
+ requiredWidth = WidgetUtil.roundSizeUp(requiredWidth);
}
cellClone.removeFromParent();
diff --git a/uitest/reference-screenshots/chrome/CheckboxAlignmentWithNoHeaderGridTest-alignments_are_correct_ANY_Chrome__alignment.png b/uitest/reference-screenshots/chrome/CheckboxAlignmentWithNoHeaderGridTest-alignments_are_correct_ANY_Chrome__alignment.png
index a36be531d5..8420cd520e 100644
--- a/uitest/reference-screenshots/chrome/CheckboxAlignmentWithNoHeaderGridTest-alignments_are_correct_ANY_Chrome__alignment.png
+++ b/uitest/reference-screenshots/chrome/CheckboxAlignmentWithNoHeaderGridTest-alignments_are_correct_ANY_Chrome__alignment.png
Binary files differ
diff --git a/uitest/reference-screenshots/chrome/GridColumnAutoWidthClientTest-testColumnsRenderCorrectly_ANY_Chrome__grid-v8-initialRender.png b/uitest/reference-screenshots/chrome/GridColumnAutoWidthClientTest-testColumnsRenderCorrectly_ANY_Chrome__grid-v8-initialRender.png
index 7d5ccbddbc..e12ab578d3 100755
--- a/uitest/reference-screenshots/chrome/GridColumnAutoWidthClientTest-testColumnsRenderCorrectly_ANY_Chrome__grid-v8-initialRender.png
+++ b/uitest/reference-screenshots/chrome/GridColumnAutoWidthClientTest-testColumnsRenderCorrectly_ANY_Chrome__grid-v8-initialRender.png
Binary files differ
diff --git a/uitest/reference-screenshots/chrome/GridColumnAutoWidthServerTest-testColumnsRenderCorrectly_ANY_Chrome__grid-v8-initialRender.png b/uitest/reference-screenshots/chrome/GridColumnAutoWidthServerTest-testColumnsRenderCorrectly_ANY_Chrome__grid-v8-initialRender.png
index 17f5cb3aee..1f9b7dddf6 100755
--- a/uitest/reference-screenshots/chrome/GridColumnAutoWidthServerTest-testColumnsRenderCorrectly_ANY_Chrome__grid-v8-initialRender.png
+++ b/uitest/reference-screenshots/chrome/GridColumnAutoWidthServerTest-testColumnsRenderCorrectly_ANY_Chrome__grid-v8-initialRender.png
Binary files differ