From f0e5cde884fe7ca5127f8e045ea33eb502d80f5b Mon Sep 17 00:00:00 2001 From: Tatu Lund Date: Mon, 9 Sep 2019 09:40:49 +0300 Subject: [PATCH] Wrap selects in TwinColSelect to workaround Chrome 76 layout bug Addresses https://github.com/vaadin/framework/issues/11712 --- .../java/com/vaadin/client/ui/VTwinColSelect.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/client/src/main/java/com/vaadin/client/ui/VTwinColSelect.java b/client/src/main/java/com/vaadin/client/ui/VTwinColSelect.java index 6cbdb944ec9..9c17f14a4d9 100644 --- a/client/src/main/java/com/vaadin/client/ui/VTwinColSelect.java +++ b/client/src/main/java/com/vaadin/client/ui/VTwinColSelect.java @@ -167,14 +167,22 @@ public VTwinColSelect() { // extra empty space captionWrapper.setVisible(false); - panel.add(optionsListBox); + // Wrap select in Div to workaround bug in Chrome 76, see #11712 + HTML optionsWrapper = new HTML("
"); + optionsWrapper.getElement().appendChild(optionsListBox.getElement()); + optionsWrapper.getElement().getStyle().setDisplay(Display.INLINE_BLOCK); + panel.add(optionsWrapper); buttons.add(addItemsLeftToRightButton); final HTML br = new HTML(""); br.setStyleName(CLASSNAME + "-deco"); buttons.add(br); buttons.add(removeItemsRightToLeftButton); panel.add(buttons); - panel.add(selectionsListBox); + // Wrap select in Div to workaround bug in Chrome 76, see #11712 + HTML selectionsWrapper = new HTML("
"); + selectionsWrapper.getElement().appendChild(selectionsListBox.getElement()); + selectionsWrapper.getElement().getStyle().setDisplay(Display.INLINE_BLOCK); + panel.add(selectionsWrapper); optionsListBox.addKeyDownHandler(this); optionsListBox.addMouseDownHandler(this);