aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--client/src/com/vaadin/client/ui/VCalendarPanel.java9
-rw-r--r--client/src/com/vaadin/client/ui/VTextField.java46
-rw-r--r--client/src/com/vaadin/client/ui/orderedlayout/AbstractOrderedLayoutConnector.java12
-rw-r--r--client/src/com/vaadin/client/ui/orderedlayout/Slot.java10
-rw-r--r--uitest/src/com/vaadin/tests/components/orderedlayout/SpacingLeak.java54
-rw-r--r--uitest/src/com/vaadin/tests/components/orderedlayout/SpacingLeakTest.java39
-rw-r--r--uitest/src/com/vaadin/tests/components/treetable/TreeTableCacheOnPartialUpdate.html553
-rw-r--r--uitest/src/com/vaadin/tests/push/PushLargeData.java4
8 files changed, 154 insertions, 573 deletions
diff --git a/client/src/com/vaadin/client/ui/VCalendarPanel.java b/client/src/com/vaadin/client/ui/VCalendarPanel.java
index b043cd0ab7..5fbd3ec15c 100644
--- a/client/src/com/vaadin/client/ui/VCalendarPanel.java
+++ b/client/src/com/vaadin/client/ui/VCalendarPanel.java
@@ -888,9 +888,8 @@ public class VCalendarPanel extends FocusableFlexTable implements
if (!isDateInsideRange(requestedNextMonthDate, Resolution.DAY)) {
requestedNextMonthDate = adjustDateToFitInsideRange(requestedNextMonthDate);
}
- focusedDate.setYear(requestedNextMonthDate.getYear());
- focusedDate.setMonth(requestedNextMonthDate.getMonth());
- focusedDate.setDate(requestedNextMonthDate.getDate());
+
+ focusedDate.setTime(requestedNextMonthDate.getTime());
displayedMonth.setMonth(displayedMonth.getMonth() + 1);
renderCalendar();
@@ -945,9 +944,7 @@ public class VCalendarPanel extends FocusableFlexTable implements
if (!isDateInsideRange(requestedPreviousMonthDate, Resolution.DAY)) {
requestedPreviousMonthDate = adjustDateToFitInsideRange(requestedPreviousMonthDate);
}
- focusedDate.setYear(requestedPreviousMonthDate.getYear());
- focusedDate.setMonth(requestedPreviousMonthDate.getMonth());
- focusedDate.setDate(requestedPreviousMonthDate.getDate());
+ focusedDate.setTime(requestedPreviousMonthDate.getTime());
displayedMonth.setMonth(displayedMonth.getMonth() - 1);
renderCalendar();
diff --git a/client/src/com/vaadin/client/ui/VTextField.java b/client/src/com/vaadin/client/ui/VTextField.java
index da9445c811..9360a6e172 100644
--- a/client/src/com/vaadin/client/ui/VTextField.java
+++ b/client/src/com/vaadin/client/ui/VTextField.java
@@ -80,6 +80,9 @@ public class VTextField extends TextBoxBase implements Field, ChangeHandler,
private boolean prompting = false;
private int lastCursorPos = -1;
+ // used while checking if FF has set input prompt as value
+ private boolean possibleInputError = false;
+
public VTextField() {
this(DOM.createInputText());
}
@@ -88,9 +91,7 @@ public class VTextField extends TextBoxBase implements Field, ChangeHandler,
super(node);
setStyleName(CLASSNAME);
addChangeHandler(this);
- if (BrowserInfo.get().isIE()) {
- // IE does not send change events when pressing enter in a text
- // input so we handle it using a key listener instead
+ if (BrowserInfo.get().isIE() || BrowserInfo.get().isFirefox()) {
addKeyDownHandler(this);
}
addFocusHandler(this);
@@ -260,6 +261,9 @@ public class VTextField extends TextBoxBase implements Field, ChangeHandler,
if (focusedTextField == this) {
focusedTextField = null;
}
+ if (BrowserInfo.get().isFirefox()) {
+ removeOnInputListener(getElement());
+ }
}
@Override
@@ -268,6 +272,11 @@ public class VTextField extends TextBoxBase implements Field, ChangeHandler,
if (listenTextChangeEvents) {
detachCutEventListener(getElement());
}
+ if (BrowserInfo.get().isFirefox()) {
+ // Workaround for FF setting input prompt as the value if esc is
+ // pressed while the field is focused and empty (#8051).
+ addOnInputListener(getElement());
+ }
}
/** For internal use only. May be removed or replaced in the future. */
@@ -433,8 +442,17 @@ public class VTextField extends TextBoxBase implements Field, ChangeHandler,
@Override
public void onKeyDown(KeyDownEvent event) {
- if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
+ if (BrowserInfo.get().isIE()
+ && event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
+ // IE does not send change events when pressing enter in a text
+ // input so we handle it using a key listener instead
valueChange(false);
+ } else if (BrowserInfo.get().isFirefox()
+ && event.getNativeKeyCode() == KeyCodes.KEY_ESCAPE
+ && getText().equals("")) {
+ // check after onInput event if inputPrompt has appeared as the
+ // value of the field
+ possibleInputError = true;
}
}
@@ -450,4 +468,24 @@ public class VTextField extends TextBoxBase implements Field, ChangeHandler,
String wrap = getElement().getAttribute("wrap");
return !"off".equals(wrap);
}
+
+ private native void addOnInputListener(Element el)
+ /*-{
+ var self = this;
+ el.oninput = $entry(function() {
+ self.@com.vaadin.client.ui.VTextField::checkForInputError()();
+ });
+ }-*/;
+
+ private native void removeOnInputListener(Element el)
+ /*-{
+ el.oninput = null;
+ }-*/;
+
+ private void checkForInputError() {
+ if (possibleInputError && getText().equals(inputPrompt)) {
+ setText("");
+ }
+ possibleInputError = false;
+ }
}
diff --git a/client/src/com/vaadin/client/ui/orderedlayout/AbstractOrderedLayoutConnector.java b/client/src/com/vaadin/client/ui/orderedlayout/AbstractOrderedLayoutConnector.java
index 166e4b7530..92cf83d038 100644
--- a/client/src/com/vaadin/client/ui/orderedlayout/AbstractOrderedLayoutConnector.java
+++ b/client/src/com/vaadin/client/ui/orderedlayout/AbstractOrderedLayoutConnector.java
@@ -300,9 +300,9 @@ public abstract class AbstractOrderedLayoutConnector extends
// remove spacing as it is exists as separate elements that cannot be
// removed easily after reordering the contents
- Profiler.enter("AOLC.onConnectorHierarchyChange addOrMoveSlot temporarily remove spacing");
+ Profiler.enter("AOLC.onConnectorHierarchyChange temporarily remove spacing");
layout.setSpacing(false);
- Profiler.leave("AOLC.onConnectorHierarchyChange addOrMoveSlot temporarily remove spacing");
+ Profiler.leave("AOLC.onConnectorHierarchyChange temporarily remove spacing");
for (ComponentConnector child : getChildComponents()) {
Profiler.enter("AOLC.onConnectorHierarchyChange add children");
@@ -320,12 +320,12 @@ public abstract class AbstractOrderedLayoutConnector extends
}
// re-add spacing for the elements that should have it
- Profiler.enter("AOLC.onConnectorHierarchyChange addOrMoveSlot setSpacing");
+ Profiler.enter("AOLC.onConnectorHierarchyChange setSpacing");
// spacings were removed above
if (getState().spacing) {
layout.setSpacing(true);
}
- Profiler.leave("AOLC.onConnectorHierarchyChange addOrMoveSlot setSpacing");
+ Profiler.leave("AOLC.onConnectorHierarchyChange setSpacing");
for (ComponentConnector child : previousChildren) {
Profiler.enter("AOLC.onConnectorHierarchyChange remove children");
@@ -335,9 +335,7 @@ public abstract class AbstractOrderedLayoutConnector extends
if (slot.hasCaption()) {
slot.setCaptionResizeListener(null);
}
- if (slot.getSpacingElement() != null) {
- slot.setSpacingResizeListener(null);
- }
+ slot.setSpacingResizeListener(null);
child.removeStateChangeHandler(childStateChangeHandler);
layout.removeWidget(child.getWidget());
}
diff --git a/client/src/com/vaadin/client/ui/orderedlayout/Slot.java b/client/src/com/vaadin/client/ui/orderedlayout/Slot.java
index 6e1e8d28eb..688853f6ec 100644
--- a/client/src/com/vaadin/client/ui/orderedlayout/Slot.java
+++ b/client/src/com/vaadin/client/ui/orderedlayout/Slot.java
@@ -127,7 +127,7 @@ public final class Slot extends SimplePanel {
}
/**
- * Attached resize listeners to the widget, caption and spacing elements
+ * Attaches resize listeners to the widget, caption and spacing elements
*/
private void attachListeners() {
if (getWidget() != null && layout.getLayoutManager() != null) {
@@ -166,6 +166,8 @@ public final class Slot extends SimplePanel {
lm.removeElementResizeListener(getWidget().getElement(),
widgetResizeListener);
}
+ // in many cases, the listener has already been removed by
+ // setSpacing(false)
if (getSpacingElement() != null && spacingResizeListener != null) {
lm.removeElementResizeListener(getSpacingElement(),
spacingResizeListener);
@@ -314,6 +316,12 @@ public final class Slot extends SimplePanel {
*/
getElement().getParentElement().insertBefore(spacer, getElement());
} else if (!spacing && spacer != null) {
+ // Remove listener before spacer to avoid memory leak
+ LayoutManager lm = layout.getLayoutManager();
+ if (lm != null && spacingResizeListener != null) {
+ lm.removeElementResizeListener(spacer, spacingResizeListener);
+ }
+
spacer.removeFromParent();
spacer = null;
}
diff --git a/uitest/src/com/vaadin/tests/components/orderedlayout/SpacingLeak.java b/uitest/src/com/vaadin/tests/components/orderedlayout/SpacingLeak.java
new file mode 100644
index 0000000000..647c187568
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/orderedlayout/SpacingLeak.java
@@ -0,0 +1,54 @@
+package com.vaadin.tests.components.orderedlayout;
+
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.HorizontalLayout;
+import com.vaadin.ui.UI;
+import com.vaadin.ui.VerticalLayout;
+
+/**
+ * HorizontalLayout and VerticalLayout should not leak .v-spacing elements via
+ * listeners when removing components from a layout.
+ *
+ * @since 7.1.12
+ * @author Vaadin Ltd
+ */
+public class SpacingLeak extends UI {
+
+ private HorizontalLayout spacingLayout;
+
+ @Override
+ public void init(VaadinRequest req) {
+ final VerticalLayout root = new VerticalLayout();
+ setContent(root);
+ root.setSizeUndefined();
+
+ final Button spacingButton = new Button("Add layout with spacing");
+ spacingButton.setId("addbutton");
+ root.addComponent(spacingButton);
+ spacingButton.addClickListener(new Button.ClickListener() {
+ @Override
+ public void buttonClick(Button.ClickEvent event) {
+ spacingLayout = new HorizontalLayout();
+ spacingLayout.setSpacing(true);
+ spacingLayout.setWidth("100%");
+
+ for (int i = 0; i < 100; ++i) {
+ spacingLayout.addComponent(new Button("" + i));
+ }
+
+ root.addComponent(spacingLayout);
+ }
+ });
+
+ final Button removeButton = new Button("Remove layouts");
+ removeButton.setId("removebutton");
+ root.addComponent(removeButton);
+ removeButton.addClickListener(new Button.ClickListener() {
+ @Override
+ public void buttonClick(Button.ClickEvent event) {
+ root.removeComponent(spacingLayout);
+ }
+ });
+ }
+}
diff --git a/uitest/src/com/vaadin/tests/components/orderedlayout/SpacingLeakTest.java b/uitest/src/com/vaadin/tests/components/orderedlayout/SpacingLeakTest.java
new file mode 100644
index 0000000000..3a24cb7620
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/orderedlayout/SpacingLeakTest.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2000-2013 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.tests.components.orderedlayout;
+
+import org.junit.Test;
+import org.openqa.selenium.By;
+
+import com.vaadin.tests.tb3.MultiBrowserTest;
+
+public class SpacingLeakTest extends MultiBrowserTest {
+
+ @Test
+ public void testSpacingLeak() throws Exception {
+ setDebug(true);
+ openTestURL();
+ getDriver().findElement(By.id("addbutton")).click();
+ getDriver().findElement(By.xpath("//button[@title = 'Clear log']"))
+ .click();
+ getDriver().findElement(By.id("removebutton")).click();
+
+ // this should be present
+ getDriver()
+ .findElement(
+ By.xpath("//span[text() = 'Measured 0 non connector elements']"));
+ }
+}
diff --git a/uitest/src/com/vaadin/tests/components/treetable/TreeTableCacheOnPartialUpdate.html b/uitest/src/com/vaadin/tests/components/treetable/TreeTableCacheOnPartialUpdate.html
deleted file mode 100644
index df1656dd23..0000000000
--- a/uitest/src/com/vaadin/tests/components/treetable/TreeTableCacheOnPartialUpdate.html
+++ /dev/null
@@ -1,553 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-<link rel="selenium.base" href="" />
-<title>TreeTableCacheOnPartialUpdates</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
-<thead>
-<tr><td rowspan="1" colspan="3">TreeTableCacheOnPartialUpdates</td></tr>
-</thead><tbody>
-<tr>
- <td>open</td>
- <td>/run/com.vaadin.tests.components.treetable.TreeTableCacheOnPartialUpdates?restartApplication</td>
- <td></td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-1 (children)-A</td>
- <td>47,5</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-2-B</td>
- <td>46,7</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-7 (children)-G</td>
- <td>54,12</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_2</td>
- <td>1. Button Item TestBean [col1=1 (children), col2=A]/col3 clicked. Row index: 0</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_1</td>
- <td>2. Button Item TestBean [col1=2, col2=B]/col3 clicked. Row index: 1</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>3. Button Item TestBean [col1=7 (children), col2=G]/col3 clicked. Row index: 6</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButtonToggle-1 (children)-A</td>
- <td>10,7</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>4. Row Item TestBean [col1=1 (children), col2=A] expanded. Row index: 0</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-1 (children)-A</td>
- <td>81,6</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-1.1-A.A</td>
- <td>73,8</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-1 (children)-A</td>
- <td>86,7</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-1.5-A.E</td>
- <td>72,2</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-2-B</td>
- <td>73,7</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_4</td>
- <td>5. Button Item TestBean [col1=1 (children), col2=A]/col3 clicked. Row index: 0</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_3</td>
- <td>6. Button Item TestBean [col1=1.1, col2=A.A]/col3 clicked. Row index: 1</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_2</td>
- <td>7. Button Item TestBean [col1=1 (children), col2=A]/col3 clicked. Row index: 0</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_1</td>
- <td>8. Button Item TestBean [col1=1.5, col2=A.E]/col3 clicked. Row index: 5</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>9. Button Item TestBean [col1=2, col2=B]/col3 clicked. Row index: 6</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButtonToggle-1 (children)-A</td>
- <td>11,2</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>10. Row Item TestBean [col1=1 (children), col2=A] collapsed. Row index: 0</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-1 (children)-A</td>
- <td>76,5</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-3 (children)-C</td>
- <td>58,7</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-2-B</td>
- <td>69,10</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-1 (children)-A</td>
- <td>78,7</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_4</td>
- <td>10. Row Item TestBean [col1=1 (children), col2=A] collapsed. Row index: 0</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_3</td>
- <td>11. Button Item TestBean [col1=1 (children), col2=A]/col3 clicked. Row index: 0</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_2</td>
- <td>12. Button Item TestBean [col1=3 (children), col2=C]/col3 clicked. Row index: 2</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_1</td>
- <td>13. Button Item TestBean [col1=2, col2=B]/col3 clicked. Row index: 1</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>14. Button Item TestBean [col1=1 (children), col2=A]/col3 clicked. Row index: 0</td>
-</tr>
-<tr>
- <td>scroll</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VTreeTable[0]/domChild[1]</td>
- <td>30000</td>
-</tr>
-<tr>
- <td>pause</td>
- <td>1000</td>
- <td></td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-100-CV</td>
- <td>53,-2462</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-93-CO</td>
- <td>91,-2452</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-87-CI</td>
- <td>84,-2461</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-100-CV</td>
- <td>102,-2452</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_3</td>
- <td>15. Button Item TestBean [col1=100, col2=CV]/col3 clicked. Row index: 99</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_2</td>
- <td>16. Button Item TestBean [col1=93, col2=CO]/col3 clicked. Row index: 92</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_1</td>
- <td>17. Button Item TestBean [col1=87, col2=CI]/col3 clicked. Row index: 86</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>18. Button Item TestBean [col1=100, col2=CV]/col3 clicked. Row index: 99</td>
-</tr>
-<!-- This relies on the row height being the same in all browsers. -->
-<tr>
- <td>scroll</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VTreeTable[0]/domChild[1]</td>
- <td>990</td>
-</tr>
-<tr>
- <td>pause</td>
- <td>1000</td>
- <td></td>
-</tr>
-<tr>
- <td>screenCapture</td>
- <td></td>
- <td>scrolled</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VTreeTable[0]/FocusableScrollPanel[0]/VTreeTable$VTreeTableScrollBody[0]/VTreeTable$VTreeTableScrollBody$VTreeTableRow[34]/VNativeButton[0]</td>
- <td>34,-994</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButtonToggle-40 (children)-AN</td>
- <td>9,-995</td>
-</tr>
-<tr>
- <td>pause</td>
- <td>1000</td>
- <td></td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>20. Row Item TestBean [col1=40 (children), col2=AN] expanded. Row index: 39</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-40 (children)-AN</td>
- <td>93,-991</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>21. Button Item TestBean [col1=40 (children), col2=AN]/col3 clicked. Row index: 39</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-40.1-AN.A</td>
- <td>123,-991</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>22. Button Item TestBean [col1=40.1, col2=AN.A]/col3 clicked. Row index: 40</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-40.6-AN.F</td>
- <td>114,-1000</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>23. Button Item TestBean [col1=40.6, col2=AN.F]/col3 clicked. Row index: 45</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-40 (children)-AN</td>
- <td>118,-993</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>24. Button Item TestBean [col1=40 (children), col2=AN]/col3 clicked. Row index: 39</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButtonToggle-40 (children)-AN</td>
- <td>9,-998</td>
-</tr>
-<tr>
- <td>pause</td>
- <td>1000</td>
- <td></td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>25. Row Item TestBean [col1=40 (children), col2=AN] collapsed. Row index: 39</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-40 (children)-AN</td>
- <td>42,-990</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>26. Button Item TestBean [col1=40 (children), col2=AN]/col3 clicked. Row index: 39</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-35-AI</td>
- <td>84,-990</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>27. Button Item TestBean [col1=35, col2=AI]/col3 clicked. Row index: 34</td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>cacheTestButton-48-AV</td>
- <td></td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-48-AV</td>
- <td>98,-998</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>28. Button Item TestBean [col1=48, col2=AV]/col3 clicked. Row index: 47</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-41-AO</td>
- <td>101,-994</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>29. Button Item TestBean [col1=41, col2=AO]/col3 clicked. Row index: 40</td>
-</tr>
-<tr>
- <td>scroll</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VTreeTable[0]/domChild[1]</td>
- <td>2465</td>
-</tr>
-<tr>
- <td>pause</td>
- <td>1000</td>
- <td></td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-86-CH</td>
- <td>136,-2447</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-98-CT</td>
- <td>131,-2462</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-99 (children)-CU</td>
- <td>134,-2459</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-100-CV</td>
- <td>144,-2454</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_3</td>
- <td>30. Button Item TestBean [col1=86, col2=CH]/col3 clicked. Row index: 85</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_2</td>
- <td>31. Button Item TestBean [col1=98, col2=CT]/col3 clicked. Row index: 97</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_1</td>
- <td>32. Button Item TestBean [col1=99 (children), col2=CU]/col3 clicked. Row index: 98</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>33. Button Item TestBean [col1=100, col2=CV]/col3 clicked. Row index: 99</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButtonToggle-99 (children)-CU</td>
- <td>10,-2461</td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>cacheTestButton-99 (children)-CU</td>
- <td></td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-99 (children)-CU</td>
- <td>65,-2456</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_1</td>
- <td>34. Row Item TestBean [col1=99 (children), col2=CU] expanded. Row index: 98</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>35. Button Item TestBean [col1=99 (children), col2=CU]/col3 clicked. Row index: 98</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-86-CH</td>
- <td>109,-2455</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>36. Button Item TestBean [col1=86, col2=CH]/col3 clicked. Row index: 85</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-99.1-CU.A</td>
- <td>82,-2457</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>37. Button Item TestBean [col1=99.1, col2=CU.A]/col3 clicked. Row index: 99</td>
-</tr>
-<tr>
- <td>scroll</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::/VVerticalLayout[0]/ChildComponentContainer[1]/VVerticalLayout[0]/ChildComponentContainer[3]/VTreeTable[0]/domChild[1]</td>
- <td>2800</td>
-</tr>
-<tr>
- <td>pause</td>
- <td>1000</td>
- <td></td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-99 (children)-CU</td>
- <td>85,-2792</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-98-CT</td>
- <td>101,-2788</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-99.1-CU.A</td>
- <td>111,-2794</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-99.13-CU.M</td>
- <td>113,-2794</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_3</td>
- <td>38. Button Item TestBean [col1=99 (children), col2=CU]/col3 clicked. Row index: 98</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_2</td>
- <td>39. Button Item TestBean [col1=98, col2=CT]/col3 clicked. Row index: 97</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_1</td>
- <td>40. Button Item TestBean [col1=99.1, col2=CU.A]/col3 clicked. Row index: 99</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>41. Button Item TestBean [col1=99.13, col2=CU.M]/col3 clicked. Row index: 111</td>
-</tr>
-<!--collapse 99-->
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButtonToggle-99 (children)-CU</td>
- <td>11,-2792</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>42. Row Item TestBean [col1=99 (children), col2=CU] collapsed. Row index: 98</td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>cacheTestButton-99 (children)-CU</td>
- <td></td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-99 (children)-CU</td>
- <td>71,-2465</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>43. Button Item TestBean [col1=99 (children), col2=CU]/col3 clicked. Row index: 98</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-100-CV</td>
- <td>81,-2459</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>44. Button Item TestBean [col1=100, col2=CV]/col3 clicked. Row index: 99</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-98-CT</td>
- <td>80,-2458</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>45. Button Item TestBean [col1=98, col2=CT]/col3 clicked. Row index: 97</td>
-</tr>
-<tr>
- <td>mouseClick</td>
- <td>cacheTestButton-87-CI</td>
- <td>86,-2462</td>
-</tr>
-<tr>
- <td>assertText</td>
- <td>vaadin=runcomvaadintestscomponentstreetableTreeTableCacheOnPartialUpdates::PID_SLog_row_0</td>
- <td>46. Button Item TestBean [col1=87, col2=CI]/col3 clicked. Row index: 86</td>
-</tr>
-</tbody></table>
-</body>
-</html>
diff --git a/uitest/src/com/vaadin/tests/push/PushLargeData.java b/uitest/src/com/vaadin/tests/push/PushLargeData.java
index 83f573ed2c..93925ffb9f 100644
--- a/uitest/src/com/vaadin/tests/push/PushLargeData.java
+++ b/uitest/src/com/vaadin/tests/push/PushLargeData.java
@@ -34,8 +34,8 @@ import com.vaadin.ui.UI;
public abstract class PushLargeData extends AbstractTestUIWithLog {
- // 1MB
- static final int DEFAULT_SIZE_BYTES = 1000 * 1000;
+ // 250KB
+ static final int DEFAULT_SIZE_BYTES = 250 * 1000;
// Every other second
static final int DEFAULT_DELAY_MS = 2000;