summaryrefslogtreecommitdiffstats
path: root/client/src
diff options
context:
space:
mode:
authorDmitrii Rogozin <dmitrii@vaadin.com>2014-07-08 12:28:20 +0300
committerDmitrii Rogozin <dmitrii@vaadin.com>2014-07-08 13:24:47 +0300
commit72ccdd9b1366f06fadd5b80994d152f7a20397ce (patch)
tree1b60af15afc3e8c223bd406bcfc301ea7cca90fd /client/src
parent8681fccd2e1c2a6483654058f35dea69749a9356 (diff)
downloadvaadin-framework-72ccdd9b1366f06fadd5b80994d152f7a20397ce.tar.gz
vaadin-framework-72ccdd9b1366f06fadd5b80994d152f7a20397ce.zip
Fix box shadow bug with resizing elements in IE9 and IE10.(#14173)
Change-Id: I513340db4123c40bba0832f8af77ec5e725c24e6
Diffstat (limited to 'client/src')
-rw-r--r--client/src/com/vaadin/client/Util.java17
-rw-r--r--client/src/com/vaadin/client/ui/VOverlay.java6
2 files changed, 22 insertions, 1 deletions
diff --git a/client/src/com/vaadin/client/Util.java b/client/src/com/vaadin/client/Util.java
index 507a5c2c2d..f175bbe714 100644
--- a/client/src/com/vaadin/client/Util.java
+++ b/client/src/com/vaadin/client/Util.java
@@ -925,12 +925,27 @@ public class Util {
* Performs a hack to trigger a re-layout in the IE8. This is usually
* necessary in cases where IE8 "forgets" to update child elements when they
* resize.
- *
+ *
* @param e
* The element to perform the hack on
*/
public static final void forceIE8Redraw(Element e) {
if (BrowserInfo.get().isIE8()) {
+ forceIERedraw(e);
+ }
+ }
+
+ /**
+ * Performs a hack to trigger a re-layout in the IE browser. This is usually
+ * necessary in cases where IE "forgets" to update child elements when they
+ * resize.
+ *
+ * @since
+ * @param e
+ * The element to perform the hack on
+ */
+ public static void forceIERedraw(Element e) {
+ if (BrowserInfo.get().isIE()) {
setStyleTemporarily(e, "zoom", "1");
}
}
diff --git a/client/src/com/vaadin/client/ui/VOverlay.java b/client/src/com/vaadin/client/ui/VOverlay.java
index f9aa2ef2f8..d2c3ee2dae 100644
--- a/client/src/com/vaadin/client/ui/VOverlay.java
+++ b/client/src/com/vaadin/client/ui/VOverlay.java
@@ -656,6 +656,12 @@ public class VOverlay extends PopupPanel implements CloseHandler<PopupPanel> {
}
}
}
+ // Fix for #14173
+ // IE9 and IE10 have a bug, when resize an a element with box-shadow.
+ // IE9 and IE10 need explicit update to remove extra box-shadows
+ if (BrowserInfo.get().isIE9() || BrowserInfo.get().isIE10()) {
+ Util.forceIERedraw(getElement());
+ }
}
/**