diff options
85 files changed, 593 insertions, 41 deletions
diff --git a/client/src/main/java/com/vaadin/client/WidgetUtil.java b/client/src/main/java/com/vaadin/client/WidgetUtil.java index 6906f5fa5e..7a268a0a8a 100644 --- a/client/src/main/java/com/vaadin/client/WidgetUtil.java +++ b/client/src/main/java/com/vaadin/client/WidgetUtil.java @@ -42,6 +42,7 @@ import com.google.gwt.user.client.Event; import com.google.gwt.user.client.EventListener; import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.RootPanel; +import com.google.gwt.user.client.ui.TextBox; import com.google.gwt.user.client.ui.Widget; import com.vaadin.shared.ui.ErrorLevel; import com.vaadin.shared.util.SharedUtil; @@ -1962,4 +1963,25 @@ public class WidgetUtil { return indicator; } } + + public static void disableBrowserAutocomplete(TextBox textBox) { + /*- + * Stop the browser from showing its own suggestion popup. + * + * Using an invalid value instead of "off" as suggested by + * https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion + * + * Leaving the non-standard Safari options autocapitalize and + * autocorrect untouched since those do not interfere in the same + * way, and they might be useful in a combo box where new items are + * allowed. + */ + if (BrowserInfo.get().isChrome()) { + // Chrome supports "off" and random number does not work with + // Chrome + textBox.getElement().setAttribute("autocomplete", "off"); + } else { + textBox.getElement().setAttribute("autocomplete", Math.random() + ""); + } + } } diff --git a/client/src/main/java/com/vaadin/client/ui/VAbstractTextualDate.java b/client/src/main/java/com/vaadin/client/ui/VAbstractTextualDate.java index bf79fec545..5fd4fe6c55 100644 --- a/client/src/main/java/com/vaadin/client/ui/VAbstractTextualDate.java +++ b/client/src/main/java/com/vaadin/client/ui/VAbstractTextualDate.java @@ -36,6 +36,7 @@ import com.vaadin.client.BrowserInfo; import com.vaadin.client.Focusable; import com.vaadin.client.LocaleNotLoadedException; import com.vaadin.client.LocaleService; +import com.vaadin.client.WidgetUtil; import com.vaadin.client.ui.aria.AriaHelper; import com.vaadin.client.ui.aria.HandlesAriaCaption; import com.vaadin.client.ui.aria.HandlesAriaInvalid; @@ -90,6 +91,8 @@ public abstract class VAbstractTextualDate<R extends Enum<R>> if (BrowserInfo.get().isIE()) { addDomHandler(this, KeyDownEvent.getType()); } + // Stop the browser from showing its own suggestion popup. + WidgetUtil.disableBrowserAutocomplete(text); add(text); publishJSHelpers(getElement()); } diff --git a/client/src/main/java/com/vaadin/client/ui/VComboBox.java b/client/src/main/java/com/vaadin/client/ui/VComboBox.java index cf06e06b2d..6ff2f31a9a 100644 --- a/client/src/main/java/com/vaadin/client/ui/VComboBox.java +++ b/client/src/main/java/com/vaadin/client/ui/VComboBox.java @@ -1438,24 +1438,7 @@ public class VComboBox extends Composite implements Field, KeyDownHandler, * @since 7.6.4 */ public FilterSelectTextBox() { - /*- - * Stop the browser from showing its own suggestion popup. - * - * Using an invalid value instead of "off" as suggested by - * https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion - * - * Leaving the non-standard Safari options autocapitalize and - * autocorrect untouched since those do not interfere in the same - * way, and they might be useful in a combo box where new items are - * allowed. - */ - if (BrowserInfo.get().isChrome()) { - // Chrome supports "off" and random number does not work with - // Chrome - getElement().setAttribute("autocomplete", "off"); - } else { - getElement().setAttribute("autocomplete", Math.random() + ""); - } + WidgetUtil.disableBrowserAutocomplete(this); } /** @@ -2045,6 +2028,9 @@ public class VComboBox extends Composite implements Field, KeyDownHandler, /** For internal use only. May be removed or replaced in the future. */ public void updateReadOnly() { + if (readonly) { + suggestionPopup.hide(); + } debug("VComboBox: updateReadOnly()"); tb.setReadOnly(readonly || !textInputEnabled); } diff --git a/compatibility-client/src/main/java/com/vaadin/v7/client/ui/VFilterSelect.java b/compatibility-client/src/main/java/com/vaadin/v7/client/ui/VFilterSelect.java index 86fa8ed500..d7ae6f3c07 100644 --- a/compatibility-client/src/main/java/com/vaadin/v7/client/ui/VFilterSelect.java +++ b/compatibility-client/src/main/java/com/vaadin/v7/client/ui/VFilterSelect.java @@ -1409,23 +1409,8 @@ public class VFilterSelect extends Composite * @since 7.6.4 */ public FilterSelectTextBox() { - /*- - * Stop the browser from showing its own suggestion popup. - * - * Using an invalid value instead of "off" as suggested by - * https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion - * - * Leaving the non-standard Safari options autocapitalize and - * autocorrect untouched since those do not interfere in the same - * way, and they might be useful in a combo box where new items are - * allowed. - */ - if (BrowserInfo.get().isChrome()) { - // Chrome supports "off" and random number does not work with Chrome - getElement().setAttribute("autocomplete", "off"); - } else { - getElement().setAttribute("autocomplete", Math.random() + ""); - } + // Stop the browser from showing its own suggestion popup. + WidgetUtil.disableBrowserAutocomplete(this); } /** diff --git a/compatibility-client/src/main/java/com/vaadin/v7/client/ui/VScrollTable.java b/compatibility-client/src/main/java/com/vaadin/v7/client/ui/VScrollTable.java index 4b0a52c1bd..c4294009d2 100644 --- a/compatibility-client/src/main/java/com/vaadin/v7/client/ui/VScrollTable.java +++ b/compatibility-client/src/main/java/com/vaadin/v7/client/ui/VScrollTable.java @@ -349,6 +349,8 @@ public class VScrollTable extends FlowPanel private SelectMode selectMode = SelectMode.NONE; + private boolean multiSelectTouchDetectionEnabled = true; + public final HashSet<String> selectedRowKeys = new HashSet<String>(); /* @@ -1502,6 +1504,10 @@ public class VScrollTable extends FlowPanel } else { selectMode = SelectMode.NONE; } + if (uidl.hasAttribute("touchdetection")) { + multiSelectTouchDetectionEnabled = uidl + .getBooleanAttribute("touchdetection"); + } } } @@ -1951,9 +1957,10 @@ public class VScrollTable extends FlowPanel } private void setMultiSelectMode(int multiselectmode) { - if (BrowserInfo.get().isTouchDevice()) { + if (BrowserInfo.get().isTouchDevice() + && multiSelectTouchDetectionEnabled) { // Always use the simple mode for touch devices that do not have - // shift/ctrl keys + // shift/ctrl keys (unless this feature is explicitly disabled) this.multiselectmode = MULTISELECT_MODE_SIMPLE; } else { this.multiselectmode = multiselectmode; diff --git a/compatibility-client/src/main/java/com/vaadin/v7/client/ui/VTextualDate.java b/compatibility-client/src/main/java/com/vaadin/v7/client/ui/VTextualDate.java index 4d52e3e4f8..e332e628fd 100644 --- a/compatibility-client/src/main/java/com/vaadin/v7/client/ui/VTextualDate.java +++ b/compatibility-client/src/main/java/com/vaadin/v7/client/ui/VTextualDate.java @@ -35,6 +35,7 @@ import com.vaadin.client.BrowserInfo; import com.vaadin.client.Focusable; import com.vaadin.client.LocaleNotLoadedException; import com.vaadin.client.LocaleService; +import com.vaadin.client.WidgetUtil; import com.vaadin.client.ui.SubPartAware; import com.vaadin.client.ui.aria.AriaHelper; import com.vaadin.client.ui.aria.HandlesAriaCaption; @@ -115,6 +116,8 @@ public class VTextualDate extends VDateField if (BrowserInfo.get().isIE()) { addDomHandler(this, KeyDownEvent.getType()); } + // Stop the browser from showing its own suggestion popup. + WidgetUtil.disableBrowserAutocomplete(text); add(text); } diff --git a/compatibility-server/src/main/java/com/vaadin/v7/ui/ComboBox.java b/compatibility-server/src/main/java/com/vaadin/v7/ui/ComboBox.java index aaccdb8b25..f502aedd8e 100644 --- a/compatibility-server/src/main/java/com/vaadin/v7/ui/ComboBox.java +++ b/compatibility-server/src/main/java/com/vaadin/v7/ui/ComboBox.java @@ -620,7 +620,9 @@ public class ComboBox extends AbstractSelect // page length usable for non-null items int effectivePageLength = pageLength - (needNullSelectOption && (currentPage == 0) ? 1 : 0); - return Math.min(size - 1, first + effectivePageLength - 1); + // zero pageLength implies infinite page size + return pageLength == 0 ? size - 1 + : Math.min(size - 1, first + effectivePageLength - 1); } /** diff --git a/compatibility-server/src/main/java/com/vaadin/v7/ui/Grid.java b/compatibility-server/src/main/java/com/vaadin/v7/ui/Grid.java index 20f7acb074..f67bbb4c3e 100644 --- a/compatibility-server/src/main/java/com/vaadin/v7/ui/Grid.java +++ b/compatibility-server/src/main/java/com/vaadin/v7/ui/Grid.java @@ -38,6 +38,7 @@ import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; +import org.jsoup.Jsoup; import org.jsoup.nodes.Attributes; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; @@ -3473,6 +3474,7 @@ public class Grid extends AbstractComponent if (caption == null) { caption = ""; // Render null as empty } + caption = Jsoup.parse(caption).text(); state.headerCaption = caption; HeaderRow row = grid.getHeader().getDefaultRow(); diff --git a/compatibility-server/src/main/java/com/vaadin/v7/ui/Table.java b/compatibility-server/src/main/java/com/vaadin/v7/ui/Table.java index 433254aa67..0519e20f75 100644 --- a/compatibility-server/src/main/java/com/vaadin/v7/ui/Table.java +++ b/compatibility-server/src/main/java/com/vaadin/v7/ui/Table.java @@ -588,6 +588,8 @@ public class Table extends AbstractSelect implements Action.Container, private MultiSelectMode multiSelectMode = MultiSelectMode.DEFAULT; + private boolean multiSelectTouchDetectionEnabled = true; + private boolean rowCacheInvalidated; private RowGenerator rowGenerator = null; @@ -3775,6 +3777,10 @@ public class Table extends AbstractSelect implements Action.Container, if (isSelectable()) { target.addAttribute("selectmode", (isMultiSelect() ? "multi" : "single")); + if (isMultiSelect()) { + target.addAttribute("touchdetection", + isMultiSelectTouchDetectionEnabled()); + } } else { target.addAttribute("selectmode", "none"); } @@ -5188,7 +5194,10 @@ public class Table extends AbstractSelect implements Action.Container, * <p> * Note, that on some clients the mode may not be respected. E.g. on touch * based devices CTRL/SHIFT base selection method is invalid, so touch based - * browsers always use the {@link MultiSelectMode#SIMPLE}. + * browsers always use the {@link MultiSelectMode#SIMPLE} unless touch multi + * select is explicitly disabled. + * + * @see #setMultiSelectTouchDetectionEnabled(boolean) * * @param mode * The select mode of the table @@ -5208,6 +5217,31 @@ public class Table extends AbstractSelect implements Action.Container, } /** + * Default behavior on touch-reporting devices is to switch from CTRL/SHIFT + * based multi-selection to simple mode, but you can use this method to + * explicitly disable the touch device detection. Thus you can keep using + * keyboard-based multi selection on hybrid devices that have both a touch + * screen and a keyboard. + * + * @param multiSelectTouchDetectionEnabled + * Whether to enable or disable touch screen detection + */ + public void setMultiSelectTouchDetectionEnabled( + boolean multiSelectTouchDetectionEnabled) { + this.multiSelectTouchDetectionEnabled = multiSelectTouchDetectionEnabled; + markAsDirty(); + } + + /** + * Returns if touch screen detection is used to toggle multi select mode. + * + * @return If touch screen detection for multi select is enabled + */ + public boolean isMultiSelectTouchDetectionEnabled() { + return multiSelectTouchDetectionEnabled; + } + + /** * Lazy loading accept criterion for Table. Accepted target rows are loaded * from server once per drag and drop operation. Developer must override one * method that decides on which rows the currently dragged data can be diff --git a/compatibility-themes/src/main/themes/VAADIN/themes/base/table/table.scss b/compatibility-themes/src/main/themes/VAADIN/themes/base/table/table.scss index 22ffdffa4d..64f700c882 100644 --- a/compatibility-themes/src/main/themes/VAADIN/themes/base/table/table.scss +++ b/compatibility-themes/src/main/themes/VAADIN/themes/base/table/table.scss @@ -137,6 +137,7 @@ } .#{$primaryStyleName}-body { border: 1px solid #aaa; + overflow-anchor: none; /* In Chrome 56+ */ } .#{$primaryStyleName}-row-spacer { height: 10px; diff --git a/themes/src/main/themes/VAADIN/themes/valo/components/_table.scss b/themes/src/main/themes/VAADIN/themes/valo/components/_table.scss index 4a88c925ff..8443438fe2 100644 --- a/themes/src/main/themes/VAADIN/themes/valo/components/_table.scss +++ b/themes/src/main/themes/VAADIN/themes/valo/components/_table.scss @@ -268,6 +268,7 @@ $v-table-background-color: null !default; .#{$primary-stylename}-body { border: $v-table-border-width solid $border-color; + overflow-anchor: none; /* In Chrome 56+ */ @include user-select(text); } diff --git a/uitest/reference-screenshots/chrome/AccordionClipsContentTest-testAccordionClipsContent_ANY_Chrome__button-clicked.png b/uitest/reference-screenshots/chrome/AccordionClipsContentTest-testAccordionClipsContent_ANY_Chrome__button-clicked.png Binary files differindex 05b7c48ff3..9071cf2cee 100755 --- a/uitest/reference-screenshots/chrome/AccordionClipsContentTest-testAccordionClipsContent_ANY_Chrome__button-clicked.png +++ b/uitest/reference-screenshots/chrome/AccordionClipsContentTest-testAccordionClipsContent_ANY_Chrome__button-clicked.png diff --git a/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__buttons.png b/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__buttons.png Binary files differindex 7c1db88863..c712034964 100755 --- a/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__buttons.png +++ b/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__buttons.png diff --git a/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__labels.png b/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__labels.png Binary files differindex 0057b8d371..edc504c48b 100755 --- a/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__labels.png +++ b/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__labels.png diff --git a/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__notification-error.png b/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__notification-error.png Binary files differindex 58dfe49490..70fced7498 100755 --- a/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__notification-error.png +++ b/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__notification-error.png diff --git a/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__notification-tray.png b/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__notification-tray.png Binary files differindex db15839709..b4c5bfc067 100755 --- a/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__notification-tray.png +++ b/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__notification-tray.png diff --git a/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__notification-warning.png b/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__notification-warning.png Binary files differindex 86e761b4bb..75b3a539b2 100755 --- a/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__notification-warning.png +++ b/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__notification-warning.png diff --git a/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__selects-fifth-open.png b/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__selects-fifth-open.png Binary files differindex 9698b516f2..d6200f5b2c 100755 --- a/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__selects-fifth-open.png +++ b/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__selects-fifth-open.png diff --git a/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__selects-first-open.png b/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__selects-first-open.png Binary files differindex 03060ea2e1..4d37594740 100755 --- a/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__selects-first-open.png +++ b/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__selects-first-open.png diff --git a/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__selects-fourth-open.png b/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__selects-fourth-open.png Binary files differindex 39d648b127..3ddb5309e5 100755 --- a/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__selects-fourth-open.png +++ b/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__selects-fourth-open.png diff --git a/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__selects-second-open.png b/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__selects-second-open.png Binary files differindex 93e14d700b..2e89c0cf4a 100755 --- a/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__selects-second-open.png +++ b/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__selects-second-open.png diff --git a/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__selects-third-open.png b/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__selects-third-open.png Binary files differindex 41333a42e9..4c835505c4 100755 --- a/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__selects-third-open.png +++ b/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__selects-third-open.png diff --git a/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__selects.png b/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__selects.png Binary files differindex 0db6a37972..aefe41b047 100755 --- a/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__selects.png +++ b/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__selects.png diff --git a/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__textfields.png b/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__textfields.png Binary files differindex 1f9a3b273a..f227275a46 100755 --- a/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__textfields.png +++ b/uitest/reference-screenshots/chrome/BaseThemeTest-testTheme_ANY_Chrome__textfields.png diff --git a/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__selects-fifth-open.png b/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__selects-fifth-open.png Binary files differindex 3bc55a147d..7356b901dd 100755 --- a/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__selects-fifth-open.png +++ b/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__selects-fifth-open.png diff --git a/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__selects-first-open.png b/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__selects-first-open.png Binary files differindex c98e6eca78..b2c29c44b6 100755 --- a/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__selects-first-open.png +++ b/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__selects-first-open.png diff --git a/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__selects-fourth-open.png b/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__selects-fourth-open.png Binary files differindex 0513a008d3..4fcda7bff1 100755 --- a/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__selects-fourth-open.png +++ b/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__selects-fourth-open.png diff --git a/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__selects-second-open.png b/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__selects-second-open.png Binary files differindex bb346392f4..c91c7410c2 100755 --- a/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__selects-second-open.png +++ b/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__selects-second-open.png diff --git a/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__selects-third-open.png b/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__selects-third-open.png Binary files differindex ff20628931..57c81e0c24 100755 --- a/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__selects-third-open.png +++ b/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__selects-third-open.png diff --git a/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__selects.png b/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__selects.png Binary files differindex a2795ecab6..83c62202e9 100755 --- a/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__selects.png +++ b/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__selects.png diff --git a/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__textfields.png b/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__textfields.png Binary files differindex 9b0589bdff..8d4c299379 100755 --- a/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__textfields.png +++ b/uitest/reference-screenshots/chrome/ChameleonThemeTest-testTheme_ANY_Chrome__textfields.png 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 Binary files differindex 81c821bffd..a36be531d5 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 diff --git a/uitest/reference-screenshots/chrome/ComboBoxBorderTest-testComboBoxArrow_ANY_Chrome__arrow.png b/uitest/reference-screenshots/chrome/ComboBoxBorderTest-testComboBoxArrow_ANY_Chrome__arrow.png Binary files differindex 8bddc121fc..2f70a50572 100755 --- a/uitest/reference-screenshots/chrome/ComboBoxBorderTest-testComboBoxArrow_ANY_Chrome__arrow.png +++ b/uitest/reference-screenshots/chrome/ComboBoxBorderTest-testComboBoxArrow_ANY_Chrome__arrow.png diff --git a/uitest/reference-screenshots/chrome/ComboBoxLargeIconsTest-testComboBoxIcons_ANY_Chrome__icons-16x16-page1.png b/uitest/reference-screenshots/chrome/ComboBoxLargeIconsTest-testComboBoxIcons_ANY_Chrome__icons-16x16-page1.png Binary files differindex fc968d10c2..6b3ab39a66 100755 --- a/uitest/reference-screenshots/chrome/ComboBoxLargeIconsTest-testComboBoxIcons_ANY_Chrome__icons-16x16-page1.png +++ b/uitest/reference-screenshots/chrome/ComboBoxLargeIconsTest-testComboBoxIcons_ANY_Chrome__icons-16x16-page1.png diff --git a/uitest/reference-screenshots/chrome/ComboBoxLargeIconsTest-testComboBoxIcons_ANY_Chrome__icons-16x16-page2.png b/uitest/reference-screenshots/chrome/ComboBoxLargeIconsTest-testComboBoxIcons_ANY_Chrome__icons-16x16-page2.png Binary files differindex 4e07d0707b..ab1416563a 100755 --- a/uitest/reference-screenshots/chrome/ComboBoxLargeIconsTest-testComboBoxIcons_ANY_Chrome__icons-16x16-page2.png +++ b/uitest/reference-screenshots/chrome/ComboBoxLargeIconsTest-testComboBoxIcons_ANY_Chrome__icons-16x16-page2.png diff --git a/uitest/reference-screenshots/chrome/ComboBoxLargeIconsTest-testComboBoxIcons_ANY_Chrome__icons-16x16-selected-1-3-5-9.png b/uitest/reference-screenshots/chrome/ComboBoxLargeIconsTest-testComboBoxIcons_ANY_Chrome__icons-16x16-selected-1-3-5-9.png Binary files differindex bcf031d19f..1e01d508fa 100755 --- a/uitest/reference-screenshots/chrome/ComboBoxLargeIconsTest-testComboBoxIcons_ANY_Chrome__icons-16x16-selected-1-3-5-9.png +++ b/uitest/reference-screenshots/chrome/ComboBoxLargeIconsTest-testComboBoxIcons_ANY_Chrome__icons-16x16-selected-1-3-5-9.png diff --git a/uitest/reference-screenshots/chrome/ComboBoxLargeIconsTest-testComboBoxIcons_ANY_Chrome__icons-32x32-page2.png b/uitest/reference-screenshots/chrome/ComboBoxLargeIconsTest-testComboBoxIcons_ANY_Chrome__icons-32x32-page2.png Binary files differindex d17d4910f2..2d8d4e9aac 100755 --- a/uitest/reference-screenshots/chrome/ComboBoxLargeIconsTest-testComboBoxIcons_ANY_Chrome__icons-32x32-page2.png +++ b/uitest/reference-screenshots/chrome/ComboBoxLargeIconsTest-testComboBoxIcons_ANY_Chrome__icons-32x32-page2.png diff --git a/uitest/reference-screenshots/chrome/ComboBoxLargeIconsTest-testComboBoxIcons_ANY_Chrome__icons-64x64-page1-highlight-first.png b/uitest/reference-screenshots/chrome/ComboBoxLargeIconsTest-testComboBoxIcons_ANY_Chrome__icons-64x64-page1-highlight-first.png Binary files differindex 5f586d9d7b..5f4e15bc2e 100644 --- a/uitest/reference-screenshots/chrome/ComboBoxLargeIconsTest-testComboBoxIcons_ANY_Chrome__icons-64x64-page1-highlight-first.png +++ b/uitest/reference-screenshots/chrome/ComboBoxLargeIconsTest-testComboBoxIcons_ANY_Chrome__icons-64x64-page1-highlight-first.png diff --git a/uitest/reference-screenshots/chrome/FontIconsTest-checkScreenshot_ANY_Chrome__allVaadinIcons.png b/uitest/reference-screenshots/chrome/FontIconsTest-checkScreenshot_ANY_Chrome__allVaadinIcons.png Binary files differindex 895b5fabbd..6b961a0cc4 100644 --- a/uitest/reference-screenshots/chrome/FontIconsTest-checkScreenshot_ANY_Chrome__allVaadinIcons.png +++ b/uitest/reference-screenshots/chrome/FontIconsTest-checkScreenshot_ANY_Chrome__allVaadinIcons.png diff --git a/uitest/reference-screenshots/chrome/FooterTest-testFooter_ANY_Chrome__footer-col1-col2-col3-a.png b/uitest/reference-screenshots/chrome/FooterTest-testFooter_ANY_Chrome__footer-col1-col2-col3-a.png Binary files differindex 081e0f8183..72ebb93d57 100755 --- a/uitest/reference-screenshots/chrome/FooterTest-testFooter_ANY_Chrome__footer-col1-col2-col3-a.png +++ b/uitest/reference-screenshots/chrome/FooterTest-testFooter_ANY_Chrome__footer-col1-col2-col3-a.png diff --git a/uitest/reference-screenshots/chrome/FooterTest-testFooter_ANY_Chrome__footer-col1-col2-col3-b.png b/uitest/reference-screenshots/chrome/FooterTest-testFooter_ANY_Chrome__footer-col1-col2-col3-b.png Binary files differindex 40cce20756..34f85f9fa6 100755 --- a/uitest/reference-screenshots/chrome/FooterTest-testFooter_ANY_Chrome__footer-col1-col2-col3-b.png +++ b/uitest/reference-screenshots/chrome/FooterTest-testFooter_ANY_Chrome__footer-col1-col2-col3-b.png diff --git a/uitest/reference-screenshots/chrome/FooterTest-testFooter_ANY_Chrome__footer-col1-col2-col3-c.png b/uitest/reference-screenshots/chrome/FooterTest-testFooter_ANY_Chrome__footer-col1-col2-col3-c.png Binary files differindex ba19d6e47e..e2a35ad1fe 100755 --- a/uitest/reference-screenshots/chrome/FooterTest-testFooter_ANY_Chrome__footer-col1-col2-col3-c.png +++ b/uitest/reference-screenshots/chrome/FooterTest-testFooter_ANY_Chrome__footer-col1-col2-col3-c.png diff --git a/uitest/reference-screenshots/chrome/FooterTest-testFooter_ANY_Chrome__footer-col1-col3.png b/uitest/reference-screenshots/chrome/FooterTest-testFooter_ANY_Chrome__footer-col1-col3.png Binary files differindex 50fa639031..15fa969884 100755 --- a/uitest/reference-screenshots/chrome/FooterTest-testFooter_ANY_Chrome__footer-col1-col3.png +++ b/uitest/reference-screenshots/chrome/FooterTest-testFooter_ANY_Chrome__footer-col1-col3.png diff --git a/uitest/reference-screenshots/chrome/FooterTest-testFooter_ANY_Chrome__initial.png b/uitest/reference-screenshots/chrome/FooterTest-testFooter_ANY_Chrome__initial.png Binary files differindex 40cce20756..97791471f7 100755 --- a/uitest/reference-screenshots/chrome/FooterTest-testFooter_ANY_Chrome__initial.png +++ b/uitest/reference-screenshots/chrome/FooterTest-testFooter_ANY_Chrome__initial.png diff --git a/uitest/reference-screenshots/chrome/FooterTest-testFooter_ANY_Chrome__no-footer.png b/uitest/reference-screenshots/chrome/FooterTest-testFooter_ANY_Chrome__no-footer.png Binary files differindex cba14e19de..199b2eb7e0 100755 --- a/uitest/reference-screenshots/chrome/FooterTest-testFooter_ANY_Chrome__no-footer.png +++ b/uitest/reference-screenshots/chrome/FooterTest-testFooter_ANY_Chrome__no-footer.png diff --git a/uitest/reference-screenshots/chrome/GridEditorFrozenColumnsUITest-testEditorWithFrozenColumns_ANY_Chrome__noscroll.png b/uitest/reference-screenshots/chrome/GridEditorFrozenColumnsUITest-testEditorWithFrozenColumns_ANY_Chrome__noscroll.png Binary files differindex 14916407c2..d88da45c36 100755 --- a/uitest/reference-screenshots/chrome/GridEditorFrozenColumnsUITest-testEditorWithFrozenColumns_ANY_Chrome__noscroll.png +++ b/uitest/reference-screenshots/chrome/GridEditorFrozenColumnsUITest-testEditorWithFrozenColumns_ANY_Chrome__noscroll.png diff --git a/uitest/reference-screenshots/chrome/GridLayoutRegErrorTest-LayoutRegError_ANY_Chrome__RegError-Scrolled.png b/uitest/reference-screenshots/chrome/GridLayoutRegErrorTest-LayoutRegError_ANY_Chrome__RegError-Scrolled.png Binary files differindex 104d8574cd..fe5f261b93 100644 --- a/uitest/reference-screenshots/chrome/GridLayoutRegErrorTest-LayoutRegError_ANY_Chrome__RegError-Scrolled.png +++ b/uitest/reference-screenshots/chrome/GridLayoutRegErrorTest-LayoutRegError_ANY_Chrome__RegError-Scrolled.png diff --git a/uitest/reference-screenshots/chrome/GridLayoutRegErrorTest-LayoutRegError_ANY_Chrome__RegError.png b/uitest/reference-screenshots/chrome/GridLayoutRegErrorTest-LayoutRegError_ANY_Chrome__RegError.png Binary files differindex ac9ef84428..8fddf7b3a6 100755 --- a/uitest/reference-screenshots/chrome/GridLayoutRegErrorTest-LayoutRegError_ANY_Chrome__RegError.png +++ b/uitest/reference-screenshots/chrome/GridLayoutRegErrorTest-LayoutRegError_ANY_Chrome__RegError.png diff --git a/uitest/reference-screenshots/chrome/HLayoutRegErrorTest-LayoutRegError_ANY_Chrome__RegError-Scrolled-End.png b/uitest/reference-screenshots/chrome/HLayoutRegErrorTest-LayoutRegError_ANY_Chrome__RegError-Scrolled-End.png Binary files differindex a4e20af724..c84a5ce01f 100644 --- a/uitest/reference-screenshots/chrome/HLayoutRegErrorTest-LayoutRegError_ANY_Chrome__RegError-Scrolled-End.png +++ b/uitest/reference-screenshots/chrome/HLayoutRegErrorTest-LayoutRegError_ANY_Chrome__RegError-Scrolled-End.png diff --git a/uitest/reference-screenshots/chrome/HLayoutRegErrorTest-LayoutRegError_ANY_Chrome__RegError-Scrolled-Middle.png b/uitest/reference-screenshots/chrome/HLayoutRegErrorTest-LayoutRegError_ANY_Chrome__RegError-Scrolled-Middle.png Binary files differindex 1ea31dc9a4..0a03df9b48 100644 --- a/uitest/reference-screenshots/chrome/HLayoutRegErrorTest-LayoutRegError_ANY_Chrome__RegError-Scrolled-Middle.png +++ b/uitest/reference-screenshots/chrome/HLayoutRegErrorTest-LayoutRegError_ANY_Chrome__RegError-Scrolled-Middle.png diff --git a/uitest/reference-screenshots/chrome/HeaderPositionWhenSortingTest-testFooter_ANY_Chrome__sort-asc-died-at-age.png b/uitest/reference-screenshots/chrome/HeaderPositionWhenSortingTest-testFooter_ANY_Chrome__sort-asc-died-at-age.png Binary files differindex 87dc378e38..ca542ef976 100644 --- a/uitest/reference-screenshots/chrome/HeaderPositionWhenSortingTest-testFooter_ANY_Chrome__sort-asc-died-at-age.png +++ b/uitest/reference-screenshots/chrome/HeaderPositionWhenSortingTest-testFooter_ANY_Chrome__sort-asc-died-at-age.png diff --git a/uitest/reference-screenshots/chrome/HeaderPositionWhenSortingTest-testFooter_ANY_Chrome__sort-asc-name.png b/uitest/reference-screenshots/chrome/HeaderPositionWhenSortingTest-testFooter_ANY_Chrome__sort-asc-name.png Binary files differindex de74d61399..84ac4d7688 100644 --- a/uitest/reference-screenshots/chrome/HeaderPositionWhenSortingTest-testFooter_ANY_Chrome__sort-asc-name.png +++ b/uitest/reference-screenshots/chrome/HeaderPositionWhenSortingTest-testFooter_ANY_Chrome__sort-asc-name.png diff --git a/uitest/reference-screenshots/chrome/HeaderPositionWhenSortingTest-testFooter_ANY_Chrome__sort-desc-died-at-age.png b/uitest/reference-screenshots/chrome/HeaderPositionWhenSortingTest-testFooter_ANY_Chrome__sort-desc-died-at-age.png Binary files differindex ee77ba1e43..9354254c53 100644 --- a/uitest/reference-screenshots/chrome/HeaderPositionWhenSortingTest-testFooter_ANY_Chrome__sort-desc-died-at-age.png +++ b/uitest/reference-screenshots/chrome/HeaderPositionWhenSortingTest-testFooter_ANY_Chrome__sort-desc-died-at-age.png diff --git a/uitest/reference-screenshots/chrome/HeaderPositionWhenSortingTest-testFooter_ANY_Chrome__sort-desc-name.png b/uitest/reference-screenshots/chrome/HeaderPositionWhenSortingTest-testFooter_ANY_Chrome__sort-desc-name.png Binary files differindex 93996dad24..98d174ee5e 100644 --- a/uitest/reference-screenshots/chrome/HeaderPositionWhenSortingTest-testFooter_ANY_Chrome__sort-desc-name.png +++ b/uitest/reference-screenshots/chrome/HeaderPositionWhenSortingTest-testFooter_ANY_Chrome__sort-desc-name.png diff --git a/uitest/reference-screenshots/chrome/HeaderSyncOnScrollTest-testFooter_ANY_Chrome__100pct-no-scrollbar-second.png b/uitest/reference-screenshots/chrome/HeaderSyncOnScrollTest-testFooter_ANY_Chrome__100pct-no-scrollbar-second.png Binary files differindex ac6464c14a..8cbe62218f 100755 --- a/uitest/reference-screenshots/chrome/HeaderSyncOnScrollTest-testFooter_ANY_Chrome__100pct-no-scrollbar-second.png +++ b/uitest/reference-screenshots/chrome/HeaderSyncOnScrollTest-testFooter_ANY_Chrome__100pct-no-scrollbar-second.png diff --git a/uitest/reference-screenshots/chrome/HeaderSyncOnScrollTest-testFooter_ANY_Chrome__100pct-no-scrollbar.png b/uitest/reference-screenshots/chrome/HeaderSyncOnScrollTest-testFooter_ANY_Chrome__100pct-no-scrollbar.png Binary files differindex a789f116da..ddca369580 100755 --- a/uitest/reference-screenshots/chrome/HeaderSyncOnScrollTest-testFooter_ANY_Chrome__100pct-no-scrollbar.png +++ b/uitest/reference-screenshots/chrome/HeaderSyncOnScrollTest-testFooter_ANY_Chrome__100pct-no-scrollbar.png diff --git a/uitest/reference-screenshots/chrome/HeaderSyncOnScrollTest-testFooter_ANY_Chrome__300px-scrolled-right.png b/uitest/reference-screenshots/chrome/HeaderSyncOnScrollTest-testFooter_ANY_Chrome__300px-scrolled-right.png Binary files differindex 32cc4cd547..e63c64354c 100755 --- a/uitest/reference-screenshots/chrome/HeaderSyncOnScrollTest-testFooter_ANY_Chrome__300px-scrolled-right.png +++ b/uitest/reference-screenshots/chrome/HeaderSyncOnScrollTest-testFooter_ANY_Chrome__300px-scrolled-right.png diff --git a/uitest/reference-screenshots/chrome/HeaderUpdateWhenNoRowsTest-testFooter_ANY_Chrome__headerHidden.png b/uitest/reference-screenshots/chrome/HeaderUpdateWhenNoRowsTest-testFooter_ANY_Chrome__headerHidden.png Binary files differindex 4bbb4c8f1b..3b98c20569 100755 --- a/uitest/reference-screenshots/chrome/HeaderUpdateWhenNoRowsTest-testFooter_ANY_Chrome__headerHidden.png +++ b/uitest/reference-screenshots/chrome/HeaderUpdateWhenNoRowsTest-testFooter_ANY_Chrome__headerHidden.png diff --git a/uitest/reference-screenshots/chrome/HeaderUpdateWhenNoRowsTest-testFooter_ANY_Chrome__headerVisible.png b/uitest/reference-screenshots/chrome/HeaderUpdateWhenNoRowsTest-testFooter_ANY_Chrome__headerVisible.png Binary files differindex e306f14390..ce817daf84 100755 --- a/uitest/reference-screenshots/chrome/HeaderUpdateWhenNoRowsTest-testFooter_ANY_Chrome__headerVisible.png +++ b/uitest/reference-screenshots/chrome/HeaderUpdateWhenNoRowsTest-testFooter_ANY_Chrome__headerVisible.png diff --git a/uitest/reference-screenshots/chrome/HeaderUpdateWhenNoRowsTest-testFooter_ANY_Chrome__headerVisible2.png b/uitest/reference-screenshots/chrome/HeaderUpdateWhenNoRowsTest-testFooter_ANY_Chrome__headerVisible2.png Binary files differindex aa62249dc4..9b1ebcebab 100755 --- a/uitest/reference-screenshots/chrome/HeaderUpdateWhenNoRowsTest-testFooter_ANY_Chrome__headerVisible2.png +++ b/uitest/reference-screenshots/chrome/HeaderUpdateWhenNoRowsTest-testFooter_ANY_Chrome__headerVisible2.png diff --git a/uitest/reference-screenshots/chrome/LabelModesTest-testLabelModes_ANY_Chrome__labelmodes.png b/uitest/reference-screenshots/chrome/LabelModesTest-testLabelModes_ANY_Chrome__labelmodes.png Binary files differindex bf3336b972..c887510210 100755 --- a/uitest/reference-screenshots/chrome/LabelModesTest-testLabelModes_ANY_Chrome__labelmodes.png +++ b/uitest/reference-screenshots/chrome/LabelModesTest-testLabelModes_ANY_Chrome__labelmodes.png diff --git a/uitest/reference-screenshots/chrome/LabelTooltipTest-testLabelToolTipChameleonTheme_ANY_Chrome__tooltipVisible.png b/uitest/reference-screenshots/chrome/LabelTooltipTest-testLabelToolTipChameleonTheme_ANY_Chrome__tooltipVisible.png Binary files differindex 29a140e7c5..7ae4701802 100644 --- a/uitest/reference-screenshots/chrome/LabelTooltipTest-testLabelToolTipChameleonTheme_ANY_Chrome__tooltipVisible.png +++ b/uitest/reference-screenshots/chrome/LabelTooltipTest-testLabelToolTipChameleonTheme_ANY_Chrome__tooltipVisible.png diff --git a/uitest/reference-screenshots/chrome/ReindeerThemeTest-testTheme_ANY_Chrome__textfields.png b/uitest/reference-screenshots/chrome/ReindeerThemeTest-testTheme_ANY_Chrome__textfields.png Binary files differindex d2d4f622dd..46daca039a 100755 --- a/uitest/reference-screenshots/chrome/ReindeerThemeTest-testTheme_ANY_Chrome__textfields.png +++ b/uitest/reference-screenshots/chrome/ReindeerThemeTest-testTheme_ANY_Chrome__textfields.png diff --git a/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__selects-fifth-open.png b/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__selects-fifth-open.png Binary files differindex c688e3107c..127ff1e9a0 100755 --- a/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__selects-fifth-open.png +++ b/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__selects-fifth-open.png diff --git a/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__selects-first-open.png b/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__selects-first-open.png Binary files differindex 47e5c8a29f..aa1833a1bd 100755 --- a/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__selects-first-open.png +++ b/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__selects-first-open.png diff --git a/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__selects-fourth-open.png b/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__selects-fourth-open.png Binary files differindex 2f0d47f9f5..10ecc55ac7 100755 --- a/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__selects-fourth-open.png +++ b/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__selects-fourth-open.png diff --git a/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__selects-second-open.png b/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__selects-second-open.png Binary files differindex 3a0c9feceb..55e07942b2 100755 --- a/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__selects-second-open.png +++ b/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__selects-second-open.png diff --git a/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__selects-third-open.png b/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__selects-third-open.png Binary files differindex 8c43b9e0ec..96b95eb97f 100755 --- a/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__selects-third-open.png +++ b/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__selects-third-open.png diff --git a/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__selects.png b/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__selects.png Binary files differindex a7f91f5e7a..7778da28df 100755 --- a/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__selects.png +++ b/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__selects.png diff --git a/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__textfields.png b/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__textfields.png Binary files differindex 80740cb9cb..9649081efd 100755 --- a/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__textfields.png +++ b/uitest/reference-screenshots/chrome/RunoThemeTest-testTheme_ANY_Chrome__textfields.png diff --git a/uitest/reference-screenshots/chrome/UndefinedSizeScrollbarsTest-testNoScrollbars_ANY_Chrome__noscrollbars.png b/uitest/reference-screenshots/chrome/UndefinedSizeScrollbarsTest-testNoScrollbars_ANY_Chrome__noscrollbars.png Binary files differindex 4413b4cad5..7ff210fe23 100755 --- a/uitest/reference-screenshots/chrome/UndefinedSizeScrollbarsTest-testNoScrollbars_ANY_Chrome__noscrollbars.png +++ b/uitest/reference-screenshots/chrome/UndefinedSizeScrollbarsTest-testNoScrollbars_ANY_Chrome__noscrollbars.png diff --git a/uitest/reference-screenshots/chrome/VLayoutRegErrorTest-LayoutRegError_ANY_Chrome__RegError-Scrolled.png b/uitest/reference-screenshots/chrome/VLayoutRegErrorTest-LayoutRegError_ANY_Chrome__RegError-Scrolled.png Binary files differindex f6759bcc10..ca57d1ed1e 100644 --- a/uitest/reference-screenshots/chrome/VLayoutRegErrorTest-LayoutRegError_ANY_Chrome__RegError-Scrolled.png +++ b/uitest/reference-screenshots/chrome/VLayoutRegErrorTest-LayoutRegError_ANY_Chrome__RegError-Scrolled.png diff --git a/uitest/reference-screenshots/chrome/ValoThemeUITest-selects_ANY_Chrome__selects.png b/uitest/reference-screenshots/chrome/ValoThemeUITest-selects_ANY_Chrome__selects.png Binary files differindex 32158cd04a..e583cdb314 100755 --- a/uitest/reference-screenshots/chrome/ValoThemeUITest-selects_ANY_Chrome__selects.png +++ b/uitest/reference-screenshots/chrome/ValoThemeUITest-selects_ANY_Chrome__selects.png diff --git a/uitest/src/main/java/com/vaadin/tests/components/combobox/ComboBoxReadOnlyPopup.java b/uitest/src/main/java/com/vaadin/tests/components/combobox/ComboBoxReadOnlyPopup.java new file mode 100644 index 0000000000..a174a9a297 --- /dev/null +++ b/uitest/src/main/java/com/vaadin/tests/components/combobox/ComboBoxReadOnlyPopup.java @@ -0,0 +1,45 @@ +package com.vaadin.tests.components.combobox; + +import com.vaadin.event.ShortcutAction; +import com.vaadin.event.ShortcutListener; +import com.vaadin.server.VaadinRequest; +import com.vaadin.tests.components.AbstractReindeerTestUI; +import com.vaadin.ui.ComboBox; + +public class ComboBoxReadOnlyPopup extends AbstractReindeerTestUI { + + static final String[] ITEMS = { "First", "Second", "Third" }; + + @Override + protected void setup(VaadinRequest request) { + String boxLabel = String + .format("Press 'Q' to toggle ComboBox's read-only mode"); + final ComboBox<String> comboBox = new ComboBox<>(boxLabel); + + comboBox.setItems(ITEMS); + comboBox.setSelectedItem(ITEMS[0]); + + ShortcutListener shortcutListener = new ShortcutListener("", null, + ShortcutAction.KeyCode.Q) { + @Override + public void handleAction(Object sender, Object target) { + comboBox.setReadOnly(!comboBox.isReadOnly()); + } + }; + comboBox.addShortcutListener(shortcutListener); + + addComponents(comboBox); + } + + @Override + protected String getTestDescription() { + return "ComboBox that turns to read-only mode while expanded " + + "should have its popup set to hidden."; + } + + @Override + protected Integer getTicketNumber() { + return 12021; + } + +} diff --git a/uitest/src/main/java/com/vaadin/tests/components/table/CtrlShiftMultiselect.java b/uitest/src/main/java/com/vaadin/tests/components/table/CtrlShiftMultiselect.java index 1713dddde5..0a1a1ab560 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/table/CtrlShiftMultiselect.java +++ b/uitest/src/main/java/com/vaadin/tests/components/table/CtrlShiftMultiselect.java @@ -10,9 +10,10 @@ import com.vaadin.v7.ui.Table.TableDragMode; @SuppressWarnings("serial") public class CtrlShiftMultiselect extends TestBase { + protected final Table table = new Table("Multiselectable table"); + @Override protected void setup() { - final Table table = new Table("Multiselectable table"); table.setContainerDataSource(createContainer()); table.setImmediate(true); diff --git a/uitest/src/main/java/com/vaadin/tests/components/table/CtrlShiftMultiselectTouchDetectionDisabled.java b/uitest/src/main/java/com/vaadin/tests/components/table/CtrlShiftMultiselectTouchDetectionDisabled.java new file mode 100644 index 0000000000..318b5954e4 --- /dev/null +++ b/uitest/src/main/java/com/vaadin/tests/components/table/CtrlShiftMultiselectTouchDetectionDisabled.java @@ -0,0 +1,41 @@ +package com.vaadin.tests.components.table; + +import java.util.Set; + +import com.vaadin.v7.data.Property; +import com.vaadin.v7.ui.Label; + +public class CtrlShiftMultiselectTouchDetectionDisabled + extends CtrlShiftMultiselect { + + protected Label label; + + @Override + protected void setup() { + super.setup(); + label = new Label("0"); + label.setId("count"); + label.setCaption("Amount of selected items"); + table.setMultiSelectTouchDetectionEnabled(false); + table.addValueChangeListener(new Property.ValueChangeListener() { + @Override + public void valueChange(Property.ValueChangeEvent event) { + Property property = event.getProperty(); + Set set = (Set) property.getValue(); + label.setValue("" + set.size()); + } + }); + addComponent(label); + } + + @Override + protected String getDescription() { + return "Allow disabling multi selection's touch screen detection for hybrid devices"; + } + + @Override + protected Integer getTicketNumber() { + return 11601; + } + +}
\ No newline at end of file diff --git a/uitest/src/main/java/com/vaadin/tests/components/table/TableScrollsOnRefresh.java b/uitest/src/main/java/com/vaadin/tests/components/table/TableScrollsOnRefresh.java new file mode 100644 index 0000000000..8d4ff119ab --- /dev/null +++ b/uitest/src/main/java/com/vaadin/tests/components/table/TableScrollsOnRefresh.java @@ -0,0 +1,86 @@ +package com.vaadin.tests.components.table; + +import java.util.ArrayList; +import java.util.List; + +import com.vaadin.server.VaadinRequest; +import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.ui.Button; +import com.vaadin.ui.VerticalLayout; +import com.vaadin.v7.data.util.BeanItemContainer; +import com.vaadin.v7.ui.Table; + +public class TableScrollsOnRefresh extends AbstractTestUI { + private Table table = new Table( + "scroll down table, so it loads next page, and then click 'refresh' button"); + private Button refresh = new Button("refresh"); + private BeanItemContainer<TableItem> container = new BeanItemContainer<TableItem>( + TableItem.class); + + @Override + protected void setup(VaadinRequest request) { + refresh.addClickListener(new Button.ClickListener() { + + @Override + public void buttonClick(Button.ClickEvent event) { + table.refreshRowCache(); + } + }); + table.setSizeFull(); + addComponents(refresh, table); + VerticalLayout vl = getLayout(); + vl.setExpandRatio(table, 1f); + vl.setSizeFull(); + vl.getParent().setSizeFull(); + table.setContainerDataSource(container); + populateContainer(); + } + + private void populateContainer() { + List<TableItem> items = new ArrayList<TableItem>(); + for (int i = 0; i < 1000; i++) { + items.add(new TableItem("Item " + Integer.toString(i), + "Item description " + Integer.toString(i))); + + } + container.addAll(items); + } + + @Override + protected String getTestDescription() { + return "Refreshing row cache shouldn't change scroll position."; + } + + @Override + protected Integer getTicketNumber() { + return 8707; + } + + public class TableItem { + + private String name; + private String description; + + public TableItem(String name, String description) { + this.name = name; + this.description = description; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + } +} diff --git a/uitest/src/main/java/com/vaadin/tests/components/treetable/TreeTableMultiselect.java b/uitest/src/main/java/com/vaadin/tests/components/treetable/TreeTableMultiselect.java new file mode 100644 index 0000000000..2ceae92ece --- /dev/null +++ b/uitest/src/main/java/com/vaadin/tests/components/treetable/TreeTableMultiselect.java @@ -0,0 +1,64 @@ +package com.vaadin.tests.components.treetable; + +import static com.vaadin.server.Sizeable.Unit.PIXELS; + +import java.util.Set; + +import com.vaadin.server.VaadinRequest; +import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.v7.data.Property; +import com.vaadin.v7.ui.Label; +import com.vaadin.v7.ui.TreeTable; + +public class TreeTableMultiselect extends AbstractTestUI { + + protected final TreeTable tt = new TreeTable("Multiselectable treetable"); + protected Label label; + + @Override + protected void setup(VaadinRequest request) { + label = new Label("0"); + label.setCaption("Amount of selected items"); + label.setId("count"); + + tt.setImmediate(true); + tt.addContainerProperty("Foo", String.class, ""); + tt.setColumnWidth("Foo", 100); + tt.addContainerProperty("Bar", String.class, ""); + tt.setColumnWidth("Bar", 100); + tt.setHeight(400, PIXELS); + Object item1 = tt.addItem(new Object[] { "Foo", "Bar" }, null); + Object item2 = tt.addItem(new Object[] { "Foo2", "Bar2" }, null); + Object item3 = tt.addItem(new Object[] { "Foo3", "Bar3" }, null); + tt.setParent(item2, item1); + tt.setParent(item3, item1); + tt.setCollapsed(item1, false); + tt.setSelectable(true); + tt.setMultiSelect(true); + tt.setMultiSelectTouchDetectionEnabled(false); + tt.setWidth("400px"); + tt.setHeight("400px"); + tt.addValueChangeListener(new Property.ValueChangeListener() { + @Override + public void valueChange(Property.ValueChangeEvent event) { + Property property = event.getProperty(); + Set set = (Set) property.getValue(); + label.setValue("" + set.size()); + } + }); + + addComponent(tt); + addComponent(label); + } + + @Override + public String getTestDescription() { + return "Allow disabling multi selection's touch screen detection for hybrid devices"; + } + + @Override + protected Integer getTicketNumber() { + return 11601; + } + +} diff --git a/uitest/src/main/java/com/vaadin/v7/tests/components/combobox/ComboboxPageLengthZeroFilter.java b/uitest/src/main/java/com/vaadin/v7/tests/components/combobox/ComboboxPageLengthZeroFilter.java new file mode 100644 index 0000000000..0bde409332 --- /dev/null +++ b/uitest/src/main/java/com/vaadin/v7/tests/components/combobox/ComboboxPageLengthZeroFilter.java @@ -0,0 +1,89 @@ +/* +* Copyright 2000-2020 Vaadin Ltd. +* +* Licensed under the Apache License, Version 2.0 (the "License"); you may not +* use this file except in compliance with the License. You may obtain a copy of +* the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +* License for the specific language governing permissions and limitations under +* the License. +*/ +package com.vaadin.v7.tests.components.combobox; + +import com.vaadin.server.VaadinRequest; +import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.v7.data.util.BeanContainer; +import com.vaadin.v7.ui.AbstractSelect.ItemCaptionMode; +import com.vaadin.v7.ui.ComboBox; + +/** + * Test for issue #11246 where ComboBox set to render from Property does not + * filter correctly when page size is 0 + * + * @author Vaadin Ltd + */ +@SuppressWarnings("deprecation") +public class ComboboxPageLengthZeroFilter extends AbstractTestUI { + + public static class Topping { + private int id; + private String name; + + public Topping(int id, String name) { + this.id = id; + this.name = name; + } + + public void setId(int id) { + this.id = id; + } + + public int getId() { + return id; + } + + public void setName(String name) { + this.name = name; + } + + public String getName() { + return name; + } + } + + @Override + protected void setup(VaadinRequest request) { + BeanContainer<Integer, Topping> container = new BeanContainer<Integer, Topping>( + Topping.class); + container.setBeanIdProperty("id"); + for (int i = 0; i < 12; i++) { + container.addBean(new Topping(i, "Topping " + i)); + } + + final ComboBox comboBox = new ComboBox(); + comboBox.setPageLength(0); + comboBox.setItemCaptionMode(ItemCaptionMode.PROPERTY); + comboBox.setItemCaptionPropertyId("name"); + comboBox.setContainerDataSource(container); + comboBox.setInvalidAllowed(false); + comboBox.setNullSelectionAllowed(false); + comboBox.setTextInputAllowed(true); + + getLayout().addComponent(comboBox); + } + + @Override + protected Integer getTicketNumber() { + return 11246; + } + + @Override + protected String getTestDescription() { + return "Filtering should work even when ComboBox page length is zero."; + } +} diff --git a/uitest/src/test/java/com/vaadin/tests/VerifyBrowserVersionTest.java b/uitest/src/test/java/com/vaadin/tests/VerifyBrowserVersionTest.java index 8e5b2485e4..4fc4106bde 100644 --- a/uitest/src/test/java/com/vaadin/tests/VerifyBrowserVersionTest.java +++ b/uitest/src/test/java/com/vaadin/tests/VerifyBrowserVersionTest.java @@ -25,7 +25,7 @@ public class VerifyBrowserVersionTest extends MultiBrowserTest { // Chrome version does not necessarily match the desired version // because of auto updates... browserIdentifier = getExpectedUserAgentString( - getDesiredCapabilities()) + "81"; + getDesiredCapabilities()) + "83"; } else if (BrowserUtil.isFirefox(getDesiredCapabilities())) { browserIdentifier = getExpectedUserAgentString( getDesiredCapabilities()) + "75"; diff --git a/uitest/src/test/java/com/vaadin/tests/components/combobox/ComboBoxReadOnlyPopupTest.java b/uitest/src/test/java/com/vaadin/tests/components/combobox/ComboBoxReadOnlyPopupTest.java new file mode 100644 index 0000000000..578f2b5c84 --- /dev/null +++ b/uitest/src/test/java/com/vaadin/tests/components/combobox/ComboBoxReadOnlyPopupTest.java @@ -0,0 +1,26 @@ +package com.vaadin.tests.components.combobox; + +import static org.junit.Assert.assertFalse; + +import org.junit.Test; + +import com.vaadin.testbench.elements.ComboBoxElement; +import com.vaadin.tests.tb3.MultiBrowserTest; + +public class ComboBoxReadOnlyPopupTest extends MultiBrowserTest { + + @Test + public void expandedComboBoxSetToReadOnlyShouldHidePopup() { + openTestURL(); + + ComboBoxElement comboBox = $(ComboBoxElement.class).first(); + comboBox.openPopup(); + + // Calls comboBox.setReadOnly(true); + comboBox.sendKeys(String.valueOf('q')); + + assertFalse("Read-only ComboBox's popup should be hidden!", + comboBox.isPopupOpen()); + } + +} diff --git a/uitest/src/test/java/com/vaadin/tests/components/table/CtrlShiftMultiselectTouchDetectionDisabledTest.java b/uitest/src/test/java/com/vaadin/tests/components/table/CtrlShiftMultiselectTouchDetectionDisabledTest.java new file mode 100644 index 0000000000..7066b017f6 --- /dev/null +++ b/uitest/src/test/java/com/vaadin/tests/components/table/CtrlShiftMultiselectTouchDetectionDisabledTest.java @@ -0,0 +1,40 @@ +package com.vaadin.tests.components.table; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; +import org.openqa.selenium.Keys; +import org.openqa.selenium.interactions.Actions; + +import com.vaadin.testbench.elements.LabelElement; +import com.vaadin.testbench.elements.TableElement; +import com.vaadin.tests.tb3.SingleBrowserTest; + +public class CtrlShiftMultiselectTouchDetectionDisabledTest + extends SingleBrowserTest { + + @Override + protected boolean requireWindowFocusForIE() { + return true; + } + + @Test + public void testSelectedCount() { + openTestURL(); + clickRow(3); + new Actions(driver).keyDown(Keys.SHIFT).perform(); + clickRow(8); + new Actions(driver).keyUp(Keys.SHIFT).perform(); + new Actions(driver).release().perform(); + LabelElement labelElement = $(LabelElement.class).id("count"); + assertEquals("Unexpected amount of selected rows", "6", + labelElement.getText()); + + } + + private void clickRow(int index) { + TableElement tableElement = $(TableElement.class).first(); + tableElement.getRow(index).click(); + } + +} diff --git a/uitest/src/test/java/com/vaadin/tests/components/table/TableScrollsOnRefreshTest.java b/uitest/src/test/java/com/vaadin/tests/components/table/TableScrollsOnRefreshTest.java new file mode 100644 index 0000000000..b078d00162 --- /dev/null +++ b/uitest/src/test/java/com/vaadin/tests/components/table/TableScrollsOnRefreshTest.java @@ -0,0 +1,48 @@ +package com.vaadin.tests.components.table; + +import java.util.List; + +import org.junit.Assert; +import org.junit.Test; +import org.openqa.selenium.By; +import org.openqa.selenium.WebElement; + +import com.vaadin.testbench.elements.ButtonElement; +import com.vaadin.testbench.elements.TableElement; +import com.vaadin.tests.tb3.MultiBrowserTest; + +public class TableScrollsOnRefreshTest extends MultiBrowserTest { + + @Test + public void ensureNoScrolling() throws InterruptedException { + openTestURL(); + TableElement table = $(TableElement.class).first(); + table.scroll(10000); + sleep(500); // wait for both data requests + String firstCellText = getFirstVisibleCell(table).getText(); + + ButtonElement refresh = $(ButtonElement.class).first(); + refresh.click(); + sleep(500); // wait for both data requests + Assert.assertEquals(firstCellText, + getFirstVisibleCell(table).getText()); + + refresh.click(); + sleep(500); // wait for both data requests + Assert.assertEquals(firstCellText, + getFirstVisibleCell(table).getText()); + } + + private WebElement getFirstVisibleCell(TableElement table) { + int tableBodyTop = table.findElement(By.className("v-table-body")) + .getLocation().getY(); + List<WebElement> cells = table + .findElements(By.className("v-table-cell-content")); + for (WebElement cell : cells) { + if (cell.getLocation().getY() > tableBodyTop) { + return cell; + } + } + return null; + } +} diff --git a/uitest/src/test/java/com/vaadin/tests/components/treetable/TreeTableMultiselectTest.java b/uitest/src/test/java/com/vaadin/tests/components/treetable/TreeTableMultiselectTest.java new file mode 100644 index 0000000000..36107f122e --- /dev/null +++ b/uitest/src/test/java/com/vaadin/tests/components/treetable/TreeTableMultiselectTest.java @@ -0,0 +1,38 @@ +package com.vaadin.tests.components.treetable; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; +import org.openqa.selenium.Keys; +import org.openqa.selenium.interactions.Actions; + +import com.vaadin.testbench.elements.LabelElement; +import com.vaadin.testbench.elements.TreeTableElement; +import com.vaadin.tests.tb3.SingleBrowserTest; + +public class TreeTableMultiselectTest extends SingleBrowserTest { + + @Override + protected boolean requireWindowFocusForIE() { + return true; + } + + @Test + public void testSelectedCount() { + openTestURL(); + clickRow(0); + new Actions(driver).keyDown(Keys.SHIFT).perform(); + clickRow(2); + new Actions(driver).keyUp(Keys.SHIFT).perform(); + new Actions(driver).release().perform(); + LabelElement labelElement = $(LabelElement.class).id("count"); + assertEquals("Unexpected amount of selected rows", "3", + labelElement.getText()); + } + + private void clickRow(int index) { + TreeTableElement treeTable = $(TreeTableElement.class).first(); + treeTable.getRow(index).click(); + } + +} diff --git a/uitest/src/test/java/com/vaadin/v7/tests/components/combobox/ComboboxPageLengthZeroFilterTest.java b/uitest/src/test/java/com/vaadin/v7/tests/components/combobox/ComboboxPageLengthZeroFilterTest.java new file mode 100644 index 0000000000..2df375b3e9 --- /dev/null +++ b/uitest/src/test/java/com/vaadin/v7/tests/components/combobox/ComboboxPageLengthZeroFilterTest.java @@ -0,0 +1,28 @@ +package com.vaadin.v7.tests.components.combobox; +import java.util.List; + +import org.junit.Assert; +import org.junit.Test; + +import com.vaadin.testbench.By; +import com.vaadin.testbench.elements.ComboBoxElement; +import com.vaadin.tests.tb3.MultiBrowserTest; + +public class ComboboxPageLengthZeroFilterTest extends MultiBrowserTest { + + @Test + public void testOptionsNotEmpty() { + openTestURL(); + + List<String> suggestions = getFilterSuggestions("T"); + + Assert.assertEquals("All items should be presented!", 12, + suggestions.size()); + } + + private List<String> getFilterSuggestions(String string) { + ComboBoxElement comboBox = $(ComboBoxElement.class).first(); + comboBox.findElement(By.vaadin("#textbox")).sendKeys(string); + return comboBox.getPopupSuggestions(); + } +} |