From 25ac8c743a551034703e8458aae23972102a46f1 Mon Sep 17 00:00:00 2001 From: Anna Koskinen Date: Fri, 1 Feb 2013 11:34:05 +0200 Subject: Merge of (#9197) to Vaadin 7. Fix IE memory leak when closing subwindows. Change-Id: I7205bee96d172e84906aac1456b2523c56302d3b --- .../table/TableInSubWindowMemoryLeak.java | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 uitest/src/com/vaadin/tests/components/table/TableInSubWindowMemoryLeak.java (limited to 'uitest/src/com/vaadin') diff --git a/uitest/src/com/vaadin/tests/components/table/TableInSubWindowMemoryLeak.java b/uitest/src/com/vaadin/tests/components/table/TableInSubWindowMemoryLeak.java new file mode 100644 index 0000000000..dcaabf98d6 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/table/TableInSubWindowMemoryLeak.java @@ -0,0 +1,68 @@ +package com.vaadin.tests.components.table; + +import com.vaadin.tests.components.TestBase; +import com.vaadin.ui.Button; +import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.Button.ClickListener; +import com.vaadin.ui.Label; +import com.vaadin.ui.Table; +import com.vaadin.ui.UI; +import com.vaadin.ui.Window; +import com.vaadin.ui.Window.CloseEvent; +import com.vaadin.ui.Window.CloseListener; + +public class TableInSubWindowMemoryLeak extends TestBase { + + @Override + public void setup() { + final Label label = new Label("Hello Vaadin user"); + addComponent(label); + final Button openButton = new Button("open me"); + openButton.addClickListener(new ClickListener() { + + public void buttonClick(final ClickEvent event) { + final Window window = new Window("Simple Window"); + window.setModal(true); + window.setHeight("200px"); + window.setWidth("200px"); + final Table table = new Table(); + window.setContent(table); + UI.getCurrent().addWindow(window); + window.addCloseListener(new CloseListener() { + public void windowClose(final CloseEvent e) { + window.setContent(new Label()); + UI.getCurrent().removeWindow(window); + } + }); + } + }); + addComponent(openButton); + + final Button openButton2 = new Button("open me without Table"); + openButton2.addClickListener(new ClickListener() { + public void buttonClick(final ClickEvent event) { + final Window window = new Window("Simple Window"); + window.setModal(true); + window.setHeight("200px"); + window.setWidth("200px"); + UI.getCurrent().addWindow(window); + window.addCloseListener(new CloseListener() { + public void windowClose(final CloseEvent e) { + UI.getCurrent().removeWindow(window); + } + }); + } + }); + addComponent(openButton2); + } + + @Override + protected String getDescription() { + return "IE 8 leaks memory with a subwindow containing a Table"; + } + + @Override + protected Integer getTicketNumber() { + return 9197; + } +} -- cgit v1.2.3