summaryrefslogtreecommitdiffstats
path: root/client/src
diff options
context:
space:
mode:
Diffstat (limited to 'client/src')
-rw-r--r--client/src/com/vaadin/client/ui/VBrowserFrame.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/client/src/com/vaadin/client/ui/VBrowserFrame.java b/client/src/com/vaadin/client/ui/VBrowserFrame.java
index c1e131a6c5..4e13921582 100644
--- a/client/src/com/vaadin/client/ui/VBrowserFrame.java
+++ b/client/src/com/vaadin/client/ui/VBrowserFrame.java
@@ -19,6 +19,7 @@ import com.google.gwt.dom.client.Document;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.IFrameElement;
import com.google.gwt.user.client.ui.Widget;
+import com.vaadin.client.BrowserInfo;
public class VBrowserFrame extends Widget {
@@ -134,4 +135,23 @@ public class VBrowserFrame extends Widget {
iframe.setName(name);
}
}
+
+ @Override
+ protected void onDetach() {
+ if (BrowserInfo.get().isIE()) {
+ // Force browser to fire unload event when component is detached
+ // from the view (IE doesn't do this automatically)
+ if (iframe != null) {
+ /*
+ * src was previously set to javascript:false, but this was not
+ * enough to overcome a bug when detaching an iframe with a pdf
+ * loaded in IE9. about:blank seems to cause the adobe reader
+ * plugin to unload properly before the iframe is removed. See
+ * #7855
+ */
+ iframe.setSrc("about:blank");
+ }
+ }
+ super.onDetach();
+ }
}