]> source.dussan.org Git - vaadin-framework.git/commitdiff
Remove IE8-IE10 client side code
authorArtur Signell <artur@vaadin.com>
Wed, 17 Aug 2016 20:02:37 +0000 (23:02 +0300)
committerVaadin Code Review <review@vaadin.com>
Thu, 18 Aug 2016 11:03:05 +0000 (11:03 +0000)
Change-Id: I2ca0b41c3cc2ed851646ced2e0693a93b1853c95

84 files changed:
client/src/main/java/com/vaadin/client/BrowserInfo.java
client/src/main/java/com/vaadin/client/LayoutManager.java
client/src/main/java/com/vaadin/client/LayoutManagerIE8.java [deleted file]
client/src/main/java/com/vaadin/client/MouseEventDetailsBuilder.java
client/src/main/java/com/vaadin/client/Util.java
client/src/main/java/com/vaadin/client/VTooltip.java
client/src/main/java/com/vaadin/client/WidgetUtil.java
client/src/main/java/com/vaadin/client/communication/MessageHandler.java
client/src/main/java/com/vaadin/client/connectors/JavaScriptRendererConnector.java
client/src/main/java/com/vaadin/client/debug/internal/InfoSection.java
client/src/main/java/com/vaadin/client/debug/internal/theme/DebugWindowStyles.java
client/src/main/java/com/vaadin/client/extensions/ResponsiveConnector.java
client/src/main/java/com/vaadin/client/ui/JsniMousewheelHandler.java
client/src/main/java/com/vaadin/client/ui/VAbsoluteLayout.java
client/src/main/java/com/vaadin/client/ui/VButton.java
client/src/main/java/com/vaadin/client/ui/VContextMenu.java
client/src/main/java/com/vaadin/client/ui/VFilterSelect.java
client/src/main/java/com/vaadin/client/ui/VLabel.java
client/src/main/java/com/vaadin/client/ui/VMenuBar.java
client/src/main/java/com/vaadin/client/ui/VOverlay.java
client/src/main/java/com/vaadin/client/ui/VPopupCalendar.java
client/src/main/java/com/vaadin/client/ui/VPopupView.java
client/src/main/java/com/vaadin/client/ui/VScrollTable.java
client/src/main/java/com/vaadin/client/ui/VSlider.java
client/src/main/java/com/vaadin/client/ui/VTextArea.java
client/src/main/java/com/vaadin/client/ui/VTree.java
client/src/main/java/com/vaadin/client/ui/VUI.java
client/src/main/java/com/vaadin/client/ui/VUpload.java
client/src/main/java/com/vaadin/client/ui/VWindow.java
client/src/main/java/com/vaadin/client/ui/orderedlayout/Slot.java
client/src/main/java/com/vaadin/client/ui/orderedlayout/VAbstractOrderedLayout.java
client/src/main/java/com/vaadin/client/ui/table/TableConnector.java
client/src/main/java/com/vaadin/client/ui/tree/TreeConnector.java
client/src/main/java/com/vaadin/client/ui/ui/UIConnector.java
client/src/main/java/com/vaadin/client/ui/window/WindowConnector.java
client/src/main/java/com/vaadin/client/widgets/Escalator.java
client/src/main/java/com/vaadin/client/widgets/Grid.java
client/src/main/java/com/vaadin/client/widgets/Overlay.java
client/src/main/resources/com/vaadin/Vaadin.gwt.xml
client/src/main/resources/com/vaadin/VaadinBrowserSpecificOverrides.gwt.xml [deleted file]
client/src/test/java/com/vaadin/client/VBrowserDetailsUserAgentParserTest.java
themes/src/main/themes/VAADIN/themes/base/base.scss
themes/src/main/themes/VAADIN/themes/base/shadow/img/bottom-left.png [deleted file]
themes/src/main/themes/VAADIN/themes/base/shadow/img/bottom-right.png [deleted file]
themes/src/main/themes/VAADIN/themes/base/shadow/img/bottom.png [deleted file]
themes/src/main/themes/VAADIN/themes/base/shadow/img/center.png [deleted file]
themes/src/main/themes/VAADIN/themes/base/shadow/img/left.png [deleted file]
themes/src/main/themes/VAADIN/themes/base/shadow/img/right.png [deleted file]
themes/src/main/themes/VAADIN/themes/base/shadow/img/top-left.png [deleted file]
themes/src/main/themes/VAADIN/themes/base/shadow/img/top-right.png [deleted file]
themes/src/main/themes/VAADIN/themes/base/shadow/img/top.png [deleted file]
themes/src/main/themes/VAADIN/themes/base/shadow/shadow.scss [deleted file]
themes/src/main/themes/VAADIN/themes/base/window/img/shadow/bottom-left.png [deleted file]
themes/src/main/themes/VAADIN/themes/base/window/img/shadow/bottom-right.png [deleted file]
themes/src/main/themes/VAADIN/themes/base/window/img/shadow/bottom.png [deleted file]
themes/src/main/themes/VAADIN/themes/base/window/img/shadow/center.png [deleted file]
themes/src/main/themes/VAADIN/themes/base/window/img/shadow/left.png [deleted file]
themes/src/main/themes/VAADIN/themes/base/window/img/shadow/right.png [deleted file]
themes/src/main/themes/VAADIN/themes/base/window/img/shadow/top-left.png [deleted file]
themes/src/main/themes/VAADIN/themes/base/window/img/shadow/top-right.png [deleted file]
themes/src/main/themes/VAADIN/themes/base/window/img/shadow/top.png [deleted file]
themes/src/main/themes/VAADIN/themes/base/window/window.scss
themes/src/main/themes/VAADIN/themes/runo/runo.scss
themes/src/main/themes/VAADIN/themes/runo/shadow/img/bottom-left.png [deleted file]
themes/src/main/themes/VAADIN/themes/runo/shadow/img/bottom-right.png [deleted file]
themes/src/main/themes/VAADIN/themes/runo/shadow/img/bottom.png [deleted file]
themes/src/main/themes/VAADIN/themes/runo/shadow/img/center.png [deleted file]
themes/src/main/themes/VAADIN/themes/runo/shadow/img/left.png [deleted file]
themes/src/main/themes/VAADIN/themes/runo/shadow/img/right.png [deleted file]
themes/src/main/themes/VAADIN/themes/runo/shadow/img/top-left.png [deleted file]
themes/src/main/themes/VAADIN/themes/runo/shadow/img/top-right.png [deleted file]
themes/src/main/themes/VAADIN/themes/runo/shadow/img/top.png [deleted file]
themes/src/main/themes/VAADIN/themes/runo/shadow/shadow.scss [deleted file]
themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/bottom-left.png [deleted file]
themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/bottom-right.png [deleted file]
themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/bottom.png [deleted file]
themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/center.png [deleted file]
themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/left.png [deleted file]
themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/right.png [deleted file]
themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/top-left.png [deleted file]
themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/top-right.png [deleted file]
themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/top.png [deleted file]
themes/src/main/themes/VAADIN/themes/runo/window/window.scss
themes/src/main/themes/VAADIN/themes/valo/shared/_overlay.scss

index 6a9a7a6508ede33c8bf197a42a6dcb6e53126952..01bb7188bb42a73b3a14da391acfa469ec965181 100644 (file)
@@ -253,14 +253,17 @@ public class BrowserInfo {
         return browserDetails.isSafari();
     }
 
+    @Deprecated
     public boolean isIE8() {
         return isIE() && getBrowserMajorVersion() == 8;
     }
 
+    @Deprecated
     public boolean isIE9() {
         return isIE() && getBrowserMajorVersion() == 9;
     }
 
+    @Deprecated
     public boolean isIE10() {
         return isIE() && getBrowserMajorVersion() == 10;
     }
@@ -517,3 +520,4 @@ public class BrowserInfo {
         return (getBrowserMajorVersion() > majorVersion);
     }
 }
+
index 4995c9cb70697fc02baf905aa136dfa0be6817f6..f29bc0e01d3f1231974e4db9d605cee59b383ad7 100644 (file)
@@ -162,8 +162,8 @@ public class LayoutManager {
     }
 
     /**
-     * Assigns a measured size to an element. Method defined as protected to
-     * allow separate implementation for IE8.
+     * Assigns a measured size to an element. Method defined as protected for
+     * legacy reasons.
      *
      * @param element
      *            the dom element to attach the measured size to
@@ -182,8 +182,8 @@ public class LayoutManager {
     }-*/;
 
     /**
-     * Gets the measured size for an element. Method defined as protected to
-     * allow separate implementation for IE8.
+     * Gets the measured size for an element. Method defined as protected for
+     * legacy reasons.
      *
      * @param element
      *            The element to get measured size for
@@ -281,8 +281,8 @@ public class LayoutManager {
 
     /**
      * Called once per iteration in the layout loop before size calculations so
-     * different browsers quirks can be handled. Mainly this is currently for
-     * the IE8 permutation.
+     * different browsers quirks can be handled. Mainly this exists for legacy
+     * reasons.
      */
     protected void performBrowserLayoutHacks() {
         // Permutations implement this
@@ -600,8 +600,6 @@ public class LayoutManager {
         }
         Profiler.leave("layout PostLayoutListener");
 
-        cleanMeasuredSizes();
-
         getLogger().info("Total layout phase time: "
                 + totalDuration.elapsedMillis() + "ms");
     }
@@ -800,8 +798,7 @@ public class LayoutManager {
 
     private void setNeedsOverflowFix(ComponentConnector connector) {
         // IE9 doesn't need the original fix, but for some reason it needs this
-        if (BrowserInfo.get().requiresOverflowAutoFix()
-                || BrowserInfo.get().isIE9()) {
+        if (BrowserInfo.get().requiresOverflowAutoFix()) {
             ComponentConnector scrollingBoundary = currentDependencyTree
                     .getScrollingBoundary(connector);
             if (scrollingBoundary != null) {
@@ -1822,12 +1819,6 @@ public class LayoutManager {
         everythingNeedsMeasure = true;
     }
 
-    /**
-     * Clean measured sizes which are no longer needed. Only for IE8.
-     */
-    public void cleanMeasuredSizes() {
-    }
-
     private static Logger getLogger() {
         return Logger.getLogger(LayoutManager.class.getName());
     }
@@ -1855,3 +1846,4 @@ public class LayoutManager {
         return false;
     }
 }
+
diff --git a/client/src/main/java/com/vaadin/client/LayoutManagerIE8.java b/client/src/main/java/com/vaadin/client/LayoutManagerIE8.java
deleted file mode 100644 (file)
index ad6aeb9..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright 2000-2016 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.client;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import com.google.gwt.dom.client.Document;
-import com.google.gwt.dom.client.Element;
-import com.google.gwt.dom.client.Node;
-import com.google.gwt.user.client.ui.RootPanel;
-
-/**
- * Alternative MeasuredSize storage for IE8. Storing any information in a DOM
- * element in IE8 seems to make the browser think the element has changed in a
- * way that requires a reflow. To work around that, the MeasureData is instead
- * stored in Map for IE8.
- *
- * This implementation is injected for IE8 by a replace-with definition in the
- * GWT module.
- *
- * @author Vaadin Ltd
- * @since 7.0.0
- */
-public class LayoutManagerIE8 extends LayoutManager {
-
-    private Map<Element, MeasuredSize> measuredSizes = new HashMap<Element, MeasuredSize>();
-
-    // this method is needed to test for memory leaks (see
-    // LayoutMemoryUsageIE8ExtensionConnector) but can be private
-    private int getMeasuredSizesMapSize() {
-        return measuredSizes.size();
-    }
-
-    @Override
-    protected void setMeasuredSize(Element element, MeasuredSize measuredSize) {
-        if (measuredSize != null) {
-            measuredSizes.put(element, measuredSize);
-        } else {
-            measuredSizes.remove(element);
-        }
-        // clear any values that are saved to the element
-        if (super.getMeasuredSize(element, null) != null) {
-            super.setMeasuredSize(element, null);
-        }
-    }
-
-    @Override
-    protected MeasuredSize getMeasuredSize(Element element,
-            MeasuredSize defaultSize) {
-        MeasuredSize measured = measuredSizes.get(element);
-        if (measured != null) {
-            return measured;
-        } else {
-            // check if saved to the element instead
-            MeasuredSize measuredSize = super.getMeasuredSize(element, null);
-            if (measuredSize != null) {
-                // move the value back to the map
-                setMeasuredSize(element, measuredSize);
-                return measuredSize;
-            }
-            return defaultSize;
-        }
-    }
-
-    @Override
-    public void cleanMeasuredSizes() {
-        Profiler.enter("LayoutManager.cleanMeasuredSizes");
-
-        // #12688: IE8 was leaking memory when adding&removing components.
-        // Uses IE specific logic to figure if an element has been removed from
-        // DOM or not. For removed elements the measured size is stored within
-        // the element in case the element gets re-attached.
-        Node rootNode = Document.get().getBody();
-
-        Iterator<Element> i = measuredSizes.keySet().iterator();
-        while (i.hasNext()) {
-            Element e = i.next();
-            if (!rootNode.isOrHasChild(e)) {
-                // Store in element in case is still needed.
-                // Not attached, so reflow isn't a problem.
-                super.setMeasuredSize(e, measuredSizes.get(e));
-                i.remove();
-            }
-        }
-
-        Profiler.leave("LayoutManager.cleanMeasuredSizes");
-    }
-
-    @Override
-    protected void performBrowserLayoutHacks() {
-        Profiler.enter("LayoutManagerIE8.performBrowserLayoutHacks");
-        /*
-         * Fixes IE8 issues where IE8 sometimes forgets to update the size of
-         * the containing element. To force a reflow by modifying the magical
-         * zoom property.
-         */
-        WidgetUtil.forceIE8Redraw(RootPanel.get().getElement());
-        Profiler.leave("LayoutManagerIE8.performBrowserLayoutHacks");
-    }
-}
index f91f33be012cb0d03eb0bfc442dc752fe3887406..50f9a98f6e26d9f63ac229423d5bdf0120361957 100644 (file)
@@ -66,7 +66,7 @@ public class MouseEventDetailsBuilder {
         } else if (evt.getButton() == NativeEvent.BUTTON_MIDDLE) {
             mouseEventDetails.setButton(MouseButton.MIDDLE);
         } else {
-            // IE8 does not always report a button. Assume left.
+            // No button reported? Assume left.
             mouseEventDetails.setButton(MouseButton.LEFT);
         }
         mouseEventDetails.setAltKey(evt.getAltKey());
@@ -94,3 +94,4 @@ public class MouseEventDetailsBuilder {
     }
 
 }
+
index 13e6fd1cc0fd3b7226d46387181e69fa37448113..8cfd8547a8626ce02d7a5af9ea33307af7cb8af4 100644 (file)
@@ -669,22 +669,6 @@ public class Util {
         WidgetUtil.forceWebkitRedraw(element);
     }
 
-    /**
-     * 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.
-     *
-     * @deprecated As of 7.4.0, use {@link WidgetUtil#forceIE8Redraw(Element)}
-     *             instead.
-     *
-     * @param e
-     *            The element to perform the hack on
-     */
-    @Deprecated
-    public static final void forceIE8Redraw(Element e) {
-        WidgetUtil.forceIE8Redraw(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
@@ -1276,3 +1260,4 @@ public class Util {
         return Logger.getLogger(Util.class.getName());
     }
 }
+
index ea5bf02e3905a7e1ab1621cf56cde1ce5ee3c602..21a3287442c2431705849e5bef2f2a4ece18b45c 100644 (file)
@@ -83,14 +83,13 @@ public class VTooltip extends VOverlay {
      * @see ApplicationConnection#getVTooltip()
      */
     public VTooltip() {
-        super(false, false, true);
+        super(false, false); // no autohide, not modal
         setStyleName(CLASSNAME);
         FlowPanel layout = new FlowPanel();
         setWidget(layout);
         layout.add(em);
         DOM.setElementProperty(description, "className", CLASSNAME + "-text");
         DOM.appendChild(layout.getElement(), description);
-        setSinkShadowEvents(true);
 
         // When a tooltip is shown, the content of the tooltip changes. With a
         // tooltip being a live-area, this change is notified to a assistive
index 42e26c359ee456f58746f72eda5552ada70d080b..1bd270dba3a298b95b6d065f4bc438beba464457 100644 (file)
@@ -32,7 +32,6 @@ import com.google.gwt.dom.client.NativeEvent;
 import com.google.gwt.dom.client.Node;
 import com.google.gwt.dom.client.NodeList;
 import com.google.gwt.dom.client.Style;
-import com.google.gwt.dom.client.Style.Display;
 import com.google.gwt.dom.client.Style.Unit;
 import com.google.gwt.dom.client.Touch;
 import com.google.gwt.event.dom.client.KeyEvent;
@@ -112,8 +111,6 @@ public class WidgetUtil {
     public static native Element getElementFromPoint(int clientX, int clientY)
     /*-{
         var el = $wnd.document.elementFromPoint(clientX, clientY);
-        // Call elementFromPoint two times to make sure IE8 also returns something sensible if the application is running in an iframe
-        el = $wnd.document.elementFromPoint(clientX, clientY);
         if(el != null && el.nodeType == 3) {
             el = el.parentNode;
         }
@@ -144,12 +141,6 @@ public class WidgetUtil {
     public static String escapeHTML(String html) {
         DOM.setInnerText(escapeHtmlHelper, html);
         String escapedText = DOM.getInnerHTML(escapeHtmlHelper);
-        if (BrowserInfo.get().isIE8()) {
-            // #7478 IE8 "incorrectly" returns "<br>" for newlines set using
-            // setInnerText. The same for " " which is converted to "&nbsp;"
-            escapedText = escapedText.replaceAll("<(BR|br)>", "\n");
-            escapedText = escapedText.replaceAll("&nbsp;", " ");
-        }
         return escapedText;
     }
 
@@ -545,7 +536,7 @@ public class WidgetUtil {
     public static int getRequiredWidth(
             com.google.gwt.dom.client.Element element) {
         int reqWidth = getRequiredWidthBoundingClientRect(element);
-        if (BrowserInfo.get().isIE() && !BrowserInfo.get().isIE8()) {
+        if (BrowserInfo.get().isIE()) {
             int csSize = getRequiredWidthComputedStyle(element);
             if (csSize == reqWidth + 1) {
                 // If computed style reports one pixel larger than requiredWidth
@@ -572,7 +563,7 @@ public class WidgetUtil {
     public static double getRequiredWidthDouble(
             com.google.gwt.dom.client.Element element) {
         double reqWidth = getRequiredWidthBoundingClientRectDouble(element);
-        if (BrowserInfo.get().isIE() && !BrowserInfo.get().isIE8()) {
+        if (BrowserInfo.get().isIE()) {
             double csWidth = getRequiredWidthComputedStyleDouble(element);
             if (csWidth > reqWidth && csWidth <= (reqWidth + 1)) {
                 // IE9 rounds reqHeight to integers BUT sometimes reports wrong
@@ -596,7 +587,7 @@ public class WidgetUtil {
     public static int getRequiredHeight(
             com.google.gwt.dom.client.Element element) {
         int reqHeight = getRequiredHeightBoundingClientRect(element);
-        if (BrowserInfo.get().isIE() && !BrowserInfo.get().isIE8()) {
+        if (BrowserInfo.get().isIE()) {
             int csSize = getRequiredHeightComputedStyle(element);
             if (csSize == reqHeight + 1) {
                 // If computed style reports one pixel larger than
@@ -623,7 +614,7 @@ public class WidgetUtil {
     public static double getRequiredHeightDouble(
             com.google.gwt.dom.client.Element element) {
         double reqHeight = getRequiredHeightBoundingClientRectDouble(element);
-        if (BrowserInfo.get().isIE() && !BrowserInfo.get().isIE8()) {
+        if (BrowserInfo.get().isIE()) {
             double csHeight = getRequiredHeightComputedStyleDouble(element);
             if (csHeight > reqHeight && csHeight <= (reqHeight + 1)) {
                 // IE9 rounds reqHeight to integers BUT sometimes reports wrong
@@ -693,7 +684,7 @@ public class WidgetUtil {
              return @com.vaadin.client.WidgetUtil::getRequiredHeightBoundingClientRectDouble(Lcom/google/gwt/dom/client/Element;)(element);
          }
          var height = parseFloat(heightPx); // Will automatically skip "px" suffix
-         var border = parseFloat(cs.borderTopWidth) + parseFloat(cs.borderBottomWidth); // Will automatically skip "px" suffix 
+         var border = parseFloat(cs.borderTopWidth) + parseFloat(cs.borderBottomWidth); // Will automatically skip "px" suffix
          var padding = parseFloat(cs.paddingTop) + parseFloat(cs.paddingBottom); // Will automatically skip "px" suffix
          return height+border+padding;
      }-*/;
@@ -897,20 +888,6 @@ public class WidgetUtil {
         }
     }
 
-    /**
-     * 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
@@ -1259,25 +1236,9 @@ public class WidgetUtil {
      * @return the corresponding absolute URL as a string
      */
     public static String getAbsoluteUrl(String url) {
-        if (BrowserInfo.get().isIE8()) {
-            // The hard way - must use innerHTML and attach to DOM in IE8
-            DivElement divElement = Document.get().createDivElement();
-            divElement.getStyle().setDisplay(Display.NONE);
-
-            RootPanel.getBodyElement().appendChild(divElement);
-            divElement.setInnerHTML(
-                    "<a href='" + escapeAttribute(url) + "' ></a>");
-
-            AnchorElement a = divElement.getChild(0).cast();
-            String href = a.getHref();
-
-            RootPanel.getBodyElement().removeChild(divElement);
-            return href;
-        } else {
-            AnchorElement a = Document.get().createAnchorElement();
-            a.setHref(url);
-            return a.getHref();
-        }
+        AnchorElement a = Document.get().createAnchorElement();
+        a.setHref(url);
+        return a.getHref();
     }
 
     /**
@@ -1681,7 +1642,6 @@ public class WidgetUtil {
             var cloneElement = element.cloneNode(false);
             cloneElement.style.boxSizing ="content-box";
             parentElement.appendChild(cloneElement);
-            cloneElement.style.height = "10px"; // IE8 wants the height to be set to something...
             var heightWithBorder = cloneElement.offsetHeight;
             for (i=0; i< borderNames.length; i++) {
                 cloneElement.style[borderNames[i]] = "0";
@@ -1732,14 +1692,6 @@ public class WidgetUtil {
     }
 
     private static double roundSize(double size, boolean roundUp) {
-        if (BrowserInfo.get().isIE8()) {
-            if (roundUp) {
-                return Math.ceil(size);
-            } else {
-                return (int) size;
-            }
-        }
-
         double factor = getSubPixelRoundingFactor();
         if (factor < 0 || size < 0) {
             return size;
@@ -1823,3 +1775,4 @@ public class WidgetUtil {
         return integerPart + ((int) nrFractions) / divisor;
     }
 }
+
index c3adc61f5d1d4554a53daba0b946e1982edfec42..f3c84c39c300b4ba751e4253999bd2ec1cc70c3c 100644 (file)
@@ -614,8 +614,6 @@ public class MessageHandler {
                 // Unregister all the old connectors that have now been removed
                 unregisterRemovedConnectors(
                         connectorHierarchyUpdateResult.detachedConnectorIds);
-
-                getLayoutManager().cleanMeasuredSizes();
             }
 
             private void updateCaptions(
@@ -1374,7 +1372,7 @@ public class MessageHandler {
 
                     if (connector instanceof AbstractConnector) {
                         // optimization as the loop setting properties is very
-                        // slow, especially on IE8
+                        // slow
                         replaceState((AbstractConnector) connector,
                                 defaultState);
                     } else {
index 8217d89a68b402cc1c89f2ba11dd2d3782e9b52b..0194678ef1430c693c56fc408197ce9f3e47f982 100644 (file)
@@ -21,7 +21,6 @@ import java.util.Collection;
 import com.google.gwt.core.client.JavaScriptObject;
 import com.google.gwt.core.client.JsArrayString;
 import com.google.gwt.dom.client.NativeEvent;
-import com.vaadin.client.BrowserInfo;
 import com.vaadin.client.JavaScriptConnectorHelper;
 import com.vaadin.client.Util;
 import com.vaadin.client.communication.HasJavaScriptConnectorHelper;
@@ -51,8 +50,7 @@ public class JavaScriptRendererConnector
     private final JavaScriptConnectorHelper helper = new JavaScriptConnectorHelper(
             this);
 
-    private final JavaScriptObject cellReferenceWrapper = createCellReferenceWrapper(
-            BrowserInfo.get().isIE8());
+    private final JavaScriptObject cellReferenceWrapper = createCellReferenceWrapper();
 
     @Override
     protected void init() {
@@ -62,14 +60,9 @@ public class JavaScriptRendererConnector
         addGetRowKey(helper.getConnectorWrapper());
     }
 
-    private static native JavaScriptObject createCellReferenceWrapper(
-            boolean isIE8)
+    private static native JavaScriptObject createCellReferenceWrapper()
     /*-{
         var reference = {};
-        if (isIE8) {
-          // IE8 only supports defineProperty for DOM objects
-          reference = $doc.createElement('div');
-        }
 
         var setProperty = function(name, getter, setter) {
             var descriptor = {
@@ -282,3 +275,4 @@ public class JavaScriptRendererConnector
         return helper;
     }
 }
+
index d0a66cd490ab0cca6405fb8b76ac2675b66fde0b..7abd83b43bf72047646be877943792c625c028d3 100644 (file)
@@ -197,15 +197,9 @@ public class InfoSection implements Section {
                 .getAtmosphereVersion();
         String jsVersion = applicationConfiguration.getAtmosphereJSVersion();
 
-        String themeVersion;
-        boolean themeOk;
-        if (com.vaadin.client.BrowserInfo.get().isIE8()) {
-            themeVersion = "<IE8 can't detect this>";
-            themeOk = true;
-        } else {
-            themeVersion = getThemeVersion();
-            themeOk = equalsEither(themeVersion, clientVersion, servletVersion);
-        }
+        String themeVersion = getThemeVersion();
+        boolean themeOk = equalsEither(themeVersion, clientVersion,
+                servletVersion);
 
         boolean clientOk = equalsEither(clientVersion, servletVersion,
                 themeVersion);
@@ -318,3 +312,4 @@ public class InfoSection implements Section {
     }
 
 }
+
index 899ccf3643d3aecff268acfffee9d688eb326b87..1f197442523d1459bfd017041f986daa03337a31 100644 (file)
@@ -27,7 +27,7 @@ public interface DebugWindowStyles extends ClientBundle {
     @NotStrict
     public CssResource css();
 
-    // Can't embed because IE8 doesn't support datauri for fonts (images only)
+    // Could embed
     @Source("font.eot")
     @DoNotEmbed
     DataResource iconFontEot();
@@ -46,4 +46,4 @@ public interface DebugWindowStyles extends ClientBundle {
     @DoNotEmbed
     DataResource iconFontSvg();
 
-}
\ No newline at end of file
+}
index cc3fc7937c18bdf9640fe7ac1daa3f37e2d2e0e1..d2b8d797b42ce1638255e0803fb85a7120444c54 100644 (file)
@@ -20,8 +20,6 @@ import java.util.logging.Level;
 import java.util.logging.Logger;
 
 import com.google.gwt.core.client.JavaScriptObject;
-import com.google.gwt.dom.client.Element;
-import com.vaadin.client.BrowserInfo;
 import com.vaadin.client.LayoutManager;
 import com.vaadin.client.ServerConnector;
 import com.vaadin.client.communication.StateChangeEvent;
@@ -206,7 +204,6 @@ public class ResponsiveConnector extends AbstractExtensionConnector
         // Get all the rulesets from the stylesheet
         var theRules = new Array();
         var IEOrEdge = @com.vaadin.client.BrowserInfo::get()().@com.vaadin.client.BrowserInfo::isIE()() || @com.vaadin.client.BrowserInfo::get()().@com.vaadin.client.BrowserInfo::isEdge()();
-        var IE8 = @com.vaadin.client.BrowserInfo::get()().@com.vaadin.client.BrowserInfo::isIE8()();
 
         try {
             if (sheet.cssRules) {
@@ -221,18 +218,6 @@ public class ResponsiveConnector extends AbstractExtensionConnector
             return;
         }
 
-        // Special import handling for IE8
-        if (IE8) {
-            try {
-                for(var i = 0, len = sheet.imports.length; i < len; i++) {
-                    @com.vaadin.client.extensions.ResponsiveConnector::searchStylesheetForBreakPoints(Lcom/google/gwt/core/client/JavaScriptObject;)(sheet.imports[i]);
-                }
-            } catch(e) {
-                // This is added due to IE8 failing to handle imports of some sheets for unknown reason (throws a permission denied exception)
-                @com.vaadin.client.extensions.ResponsiveConnector::error(Ljava/lang/String;)("Failed to handle imports of CSS style sheet: " + sheet.href);
-            }
-        }
-
         // Loop through the rulesets
         for(var i = 0, len = theRules.length; i < len; i++) {
             var rule = theRules[i];
@@ -353,8 +338,6 @@ public class ResponsiveConnector extends AbstractExtensionConnector
         int width = layoutManager.getOuterWidth(element);
         int height = layoutManager.getOuterHeight(element);
 
-        boolean forceRedraw = false;
-
         String oldWidthRanges = currentWidthRanges;
         String oldHeightRanges = currentHeightRanges;
 
@@ -363,7 +346,6 @@ public class ResponsiveConnector extends AbstractExtensionConnector
 
         if (!"".equals(currentWidthRanges)) {
             element.setAttribute("width-range", currentWidthRanges);
-            forceRedraw = true;
         } else {
             element.removeAttribute("width-range");
         }
@@ -373,15 +355,10 @@ public class ResponsiveConnector extends AbstractExtensionConnector
 
         if (!"".equals(currentHeightRanges)) {
             element.setAttribute("height-range", currentHeightRanges);
-            forceRedraw = true;
         } else {
             element.removeAttribute("height-range");
         }
 
-        if (forceRedraw) {
-            forceRedrawIfIE8(element);
-        }
-
         // If a new breakpoint is triggered, ensure all sizes are updated in
         // case some new styles are applied
         if (!currentWidthRanges.equals(oldWidthRanges)
@@ -391,21 +368,6 @@ public class ResponsiveConnector extends AbstractExtensionConnector
         }
     }
 
-    /**
-     * Forces IE8 to reinterpret CSS rules.
-     * {@link com.vaadin.client.WidgetUtil#forceIE8Redraw(com.google.gwt.dom.client.Element)}
-     * doesn't work in this case.
-     *
-     * @param element
-     *            the element to redraw
-     */
-    private void forceRedrawIfIE8(Element element) {
-        if (BrowserInfo.get().isIE8()) {
-            element.addClassName("foo");
-            element.removeClassName("foo");
-        }
-    }
-
     private native String resolveBreakpoint(String which, int size)
     /*-{
 
@@ -447,3 +409,4 @@ public class ResponsiveConnector extends AbstractExtensionConnector
     }-*/;
 
 }
+
index 76105b21a9ab0d1460fcb0dac8f8df26423195fb..7806f439851bf9179d492ddd9f1c7dd59895949f 100644 (file)
@@ -59,9 +59,6 @@ abstract class JsniMousewheelHandler {
             // FireFox likes "wheel", while others use "mousewheel"
             var eventName = 'onmousewheel' in element ? 'mousewheel' : 'wheel';
             element.addEventListener(eventName, this.@com.vaadin.client.ui.JsniMousewheelHandler::mousewheelListenerFunction);
-        } else {
-            // IE8
-            element.attachEvent("onmousewheel", this.@com.vaadin.client.ui.JsniMousewheelHandler::mousewheelListenerFunction);
         }
     }-*/;
 
@@ -71,10 +68,8 @@ abstract class JsniMousewheelHandler {
             // FireFox likes "wheel", while others use "mousewheel"
             var eventName = element.onwheel===undefined?"mousewheel":"wheel";
             element.removeEventListener(eventName, this.@com.vaadin.client.ui.JsniMousewheelHandler::mousewheelListenerFunction);
-        } else {
-            // IE8
-            element.detachEvent("onmousewheel", this.@com.vaadin.client.ui.JsniMousewheelHandler::mousewheelListenerFunction);
         }
     }-*/;
 
 }
+
index c4ad44434866868a0335684ae0cf16deac2c8697..f9b2ca585c88ca8f4e644452c38ad59e50e69cce 100644 (file)
@@ -448,16 +448,7 @@ public class VAbsoluteLayout extends ComplexPanel {
                 }
                 // ensure ne values
                 Style style = getElement().getStyle();
-                /*
-                 * IE8 dies when nulling zIndex, even in IE7 mode. All other css
-                 * properties (and even in older IE's) accept null values just
-                 * fine. Assign empty string instead of null.
-                 */
-                if (zIndex != null) {
-                    style.setProperty("zIndex", zIndex);
-                } else {
-                    style.setProperty("zIndex", "");
-                }
+                style.setProperty("zIndex", zIndex);
                 style.setProperty("top", top);
                 style.setProperty("left", left);
                 style.setProperty("right", right);
@@ -506,3 +497,4 @@ public class VAbsoluteLayout extends ComplexPanel {
         }
     }
 }
+
index edc0e08875c99be689c5b454db497156a613c6a8..93e807d148b19f6db8b9b70a33baf87b74145a03 100644 (file)
@@ -205,14 +205,6 @@ public class VButton extends FocusWidget implements ClickHandler {
                 DOM.setCapture(getElement());
                 isCapturing = true;
                 addStyleName(CLASSNAME_PRESSED);
-
-                if (BrowserInfo.get().isIE8() || BrowserInfo.get().isIE9()) {
-                    /*
-                     * We need to prevent the default behavior on these browsers
-                     * since user-select is not available.
-                     */
-                    event.preventDefault();
-                }
             }
             break;
         case Event.ONMOUSEUP:
@@ -225,12 +217,6 @@ public class VButton extends FocusWidget implements ClickHandler {
                 }
 
                 removeStyleName(CLASSNAME_PRESSED);
-
-                // Explicitly prevent IE 8 from propagating mouseup events
-                // upward (fixes #6753)
-                if (BrowserInfo.get().isIE8()) {
-                    event.stopPropagation();
-                }
             }
             break;
         case Event.ONMOUSEMOVE:
@@ -433,7 +419,7 @@ public class VButton extends FocusWidget implements ClickHandler {
     private static native int getHorizontalBorderAndPaddingWidth(Element elem)
     /*-{
         // THIS METHOD IS ONLY USED FOR INTERNET EXPLORER, IT DOESN'T WORK WITH OTHERS
-       
+
        var convertToPixel = function(elem, value) {
            // From the awesome hack by Dean Edwards
             // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
@@ -452,7 +438,7 @@ public class VButton extends FocusWidget implements ClickHandler {
 
             return ret;
        }
-       
+
        var ret = 0;
 
         var sides = ["Right","Left"];
@@ -482,3 +468,4 @@ public class VButton extends FocusWidget implements ClickHandler {
     }-*/;
 
 }
+
index d68afccc5924a8a49fae95899efd9ca17a140bcf..09e1f5be8c41ac6e612c8dd496f92d6056e1a633 100644 (file)
@@ -81,7 +81,7 @@ public class VContextMenu extends VOverlay implements SubPartAware {
      *            to be set as an owner of menu
      */
     public VContextMenu() {
-        super(true, false, true);
+        super(true, false);
         setWidget(menu);
         setStyleName("v-contextmenu");
         getElement().setId(DOM.createUniqueId());
index de8f870175a4211d678ad1769ded682a46f52741..44cbcf28f687ef5647305338b7cf6936564165a7 100644 (file)
@@ -31,7 +31,6 @@ import com.google.gwt.core.client.Scheduler.ScheduledCommand;
 import com.google.gwt.dom.client.Document;
 import com.google.gwt.dom.client.Element;
 import com.google.gwt.dom.client.NativeEvent;
-import com.google.gwt.dom.client.Node;
 import com.google.gwt.dom.client.Style;
 import com.google.gwt.dom.client.Style.Display;
 import com.google.gwt.dom.client.Style.Unit;
@@ -348,7 +347,7 @@ public class VFilterSelect extends Composite
          * Default constructor
          */
         SuggestionPopup() {
-            super(true, false, true);
+            super(true, false);
             debug("VFS.SP: constructor()");
             setOwner(VFilterSelect.this);
             menu = new SuggestionMenu();
@@ -469,15 +468,6 @@ public class VFilterSelect extends Composite
                             .clearWidth();
 
                     setPopupPositionAndShow(popup);
-                    // 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()) {
-                        forceReflow();
-                    }
                 }
             });
         }
@@ -857,10 +847,6 @@ public class VFilterSelect extends Composite
                     menu.setWidth(Window.getClientWidth() + "px");
 
                 }
-                if (BrowserInfo.get().isIE()
-                        && BrowserInfo.get().getBrowserMajorVersion() < 10) {
-                    setTdWidth(menu.getElement(), Window.getClientWidth() - 8);
-                }
             }
 
             setPopupPosition(left, top);
@@ -904,44 +890,6 @@ public class VFilterSelect extends Composite
                 width = WidgetUtil.escapeAttribute(suggestionPopupWidth);
             }
             menu.setWidth(width);
-
-            // IE8 or 9?
-            if (BrowserInfo.get().isIE()
-                    && BrowserInfo.get().getBrowserMajorVersion() < 10) {
-                // using legacy mode?
-                if (suggestionPopupWidth == null) {
-                    // set the TD widths manually as these browsers do not
-                    // respect display: block; width:100% rules
-                    setTdWidth(menu.getElement(), naturalMenuWidth);
-                } else {
-                    int compensation = WidgetUtil
-                            .measureHorizontalPaddingAndBorder(
-                                    menu.getElement(), 4);
-                    setTdWidth(menu.getElement(),
-                            menu.getOffsetWidth() - compensation);
-                }
-
-            }
-        }
-
-        /**
-         * Descends to child elements until finds TD elements and sets their
-         * width in pixels. Can be used to workaround IE8 & 9 TD element
-         * display: block issues
-         *
-         * @param parent
-         * @param width
-         */
-        private void setTdWidth(Node parent, int width) {
-            for (int i = 0; i < parent.getChildCount(); i++) {
-                Node child = parent.getChild(i);
-                if ("td".equals(child.getNodeName().toLowerCase())) {
-                    ((Element) child).getStyle().setWidth(width, Unit.PX);
-                } else {
-                    setTdWidth(child, width);
-                }
-
-            }
         }
 
         /**
@@ -1119,13 +1067,6 @@ public class VFilterSelect extends Composite
 
                 isFirstIteration = false;
             }
-            if (suggestionPopupWidth != null && BrowserInfo.get().isIE()
-                    && BrowserInfo.get().getBrowserMajorVersion() < 10) {
-                // set TD width to a low value so that they won't mandate the
-                // suggestion pop-up width
-                suggestionPopup.setTdWidth(suggestionPopup.menu.getElement(),
-                        1);
-            }
         }
 
         /**
@@ -2058,7 +1999,7 @@ public class VFilterSelect extends Composite
     }
 
     private void afterSelectedItemIconChange() {
-        if (BrowserInfo.get().isWebkit() || BrowserInfo.get().isIE8()) {
+        if (BrowserInfo.get().isWebkit()) {
             // Some browsers need a nudge to reposition the text field
             forceReflow();
         }
index dadaac73eef79c84242fa924e1acb8df7c24234f..fbea5e7ffe7a7325648cdf154c4f825b7b139a99 100644 (file)
@@ -18,10 +18,8 @@ package com.vaadin.client.ui;
 
 import com.google.gwt.user.client.Event;
 import com.google.gwt.user.client.ui.HTML;
-import com.vaadin.client.BrowserInfo;
 import com.vaadin.client.Util;
 import com.vaadin.client.VTooltip;
-import com.vaadin.client.WidgetUtil;
 
 public class VLabel extends HTML {
 
@@ -59,14 +57,5 @@ public class VLabel extends HTML {
         }
     }
 
-    @Override
-    public void setText(String text) {
-        if (BrowserInfo.get().isIE8()) {
-            // #3983 - IE8 incorrectly replaces \n with <br> so we do the
-            // escaping manually and set as HTML
-            super.setHTML(WidgetUtil.escapeHTML(text));
-        } else {
-            super.setText(text);
-        }
-    }
 }
+
index 9698c9de074522e69ea4e5b52631b771c9a4c4cd..84b56d75b221a437ba5200bb6d05b262751fe387 100644 (file)
@@ -646,7 +646,7 @@ public class VMenuBar extends SimpleFocusablePanel
      * @return overlay to use
      */
     protected VOverlay createOverlay() {
-        return new VOverlay(true, false, true);
+        return new VOverlay(true, false);
     }
 
     private int adjustPopupHeight(int top, final int shadowSpace) {
index e3e8b95af11d3096a81c8081ecf1c149ed805ca9..2263004451f3a03b7c3ef5ded58b648752293df7 100644 (file)
@@ -21,9 +21,7 @@ import java.util.logging.Logger;
 import com.google.gwt.aria.client.Roles;
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.dom.client.Element;
-import com.google.gwt.event.logical.shared.CloseHandler;
 import com.google.gwt.user.client.DOM;
-import com.google.gwt.user.client.ui.PopupPanel;
 import com.google.gwt.user.client.ui.RootPanel;
 import com.vaadin.client.ApplicationConnection;
 import com.vaadin.client.ComponentConnector;
@@ -44,7 +42,7 @@ import com.vaadin.client.widgets.Overlay;
  *             directly.
  */
 @Deprecated
-public class VOverlay extends Overlay implements CloseHandler<PopupPanel> {
+public class VOverlay extends Overlay {
 
     /*
      * ApplicationConnection that this overlay belongs to, which is needed to
@@ -67,15 +65,6 @@ public class VOverlay extends Overlay implements CloseHandler<PopupPanel> {
         super(autoHide, modal);
     }
 
-    /**
-     * @deprecated See main JavaDoc for VOverlay. Use the other constructors
-     *             without the <code>showShadow</code> parameter.
-     */
-    @Deprecated
-    public VOverlay(boolean autoHide, boolean modal, boolean showShadow) {
-        super(autoHide, modal, showShadow);
-    }
-
     /*
      * A "thread local" of sorts, set temporarily so that VOverlayImpl knows
      * which VOverlay is using it, so that it can be attached to the correct
index c2b61c486872d15c3121654e44e78bf7a7302ee9..cc7d1a98200f45304548b48ceae95c9b43ca71c3 100644 (file)
@@ -174,7 +174,7 @@ public class VPopupCalendar extends VTextualDate
             }
         });
 
-        popup = new VOverlay(true, false, true);
+        popup = new VOverlay(true, false);
         popup.setOwner(this);
 
         FlowPanel wrapper = new FlowPanel();
index e551eb7a2984fc6076f0184e73f05143444ed953..e8499a96c1835bcd3ec61f005b41d3988ccb7254 100644 (file)
@@ -245,7 +245,7 @@ public class VPopupView extends HTML
         private ShortcutActionHandler shortcutActionHandler;
 
         public CustomPopup() {
-            super(true, false, true); // autoHide, not modal, dropshadow
+            super(true, false); // autoHide, not modal
             setOwner(VPopupView.this);
             // Delegate popup keyboard events to the relevant handler. The
             // events do not propagate automatically because the popup is
index d42eb6f85f1942031678bde685106cba2927725f..6e5909ee49764924e59f4048b6f220585decae38 100644 (file)
@@ -85,7 +85,6 @@ import com.vaadin.client.ConnectorMap;
 import com.vaadin.client.DeferredWorker;
 import com.vaadin.client.Focusable;
 import com.vaadin.client.HasChildMeasurementHintConnector.ChildMeasurementHint;
-import com.vaadin.client.legacy.ui.VLegacyTextField;
 import com.vaadin.client.MouseEventDetailsBuilder;
 import com.vaadin.client.StyleConstants;
 import com.vaadin.client.TooltipInfo;
@@ -94,6 +93,7 @@ import com.vaadin.client.Util;
 import com.vaadin.client.VConsole;
 import com.vaadin.client.VTooltip;
 import com.vaadin.client.WidgetUtil;
+import com.vaadin.client.legacy.ui.VLegacyTextField;
 import com.vaadin.client.ui.VScrollTable.VScrollTableBody.VScrollTableRow;
 import com.vaadin.client.ui.dd.DDUtil;
 import com.vaadin.client.ui.dd.VAbstractDropHandler;
@@ -3656,12 +3656,6 @@ public class VScrollTable extends FlowPanel
                     }
                 } else {
                     c.setText(caption);
-                    if (BrowserInfo.get().isIE10()) {
-                        // IE10 can some times define min-height to include
-                        // padding when setting the text...
-                        // See https://dev.vaadin.com/ticket/15169
-                        WidgetUtil.forceIERedraw(c.getElement());
-                    }
                 }
 
                 c.setSorted(false);
@@ -8416,3 +8410,4 @@ public class VScrollTable extends FlowPanel
     }
 
 }
+
index ac2363b3624d153c5d25d76862fb13312ea17ff7..920ffec832ea9da50601a9a396a419a585be49e7 100644 (file)
@@ -64,7 +64,7 @@ public class VSlider extends SimpleFocusablePanel
     protected SliderOrientation orientation = SliderOrientation.HORIZONTAL;
 
     private final HTML feedback = new HTML("", false);
-    private final VOverlay feedbackPopup = new VOverlay(true, false, true) {
+    private final VOverlay feedbackPopup = new VOverlay(true, false) {
         {
             setOwner(VSlider.this);
         }
index 574c50887cf223bec0dc03ca0d9c6ab6c290c447..00094914d09ac9a5d319c23aedbc5c79db16ad8d 100644 (file)
@@ -231,7 +231,7 @@ public class VTextArea extends VLegacyTextField implements DragImageModifier {
         if (info.isSafari()) {
             return true;
         }
-        if (info.isIE10() || info.isIE11() || info.isEdge()) {
+        if (info.isIE11() || info.isEdge()) {
             return true;
         }
         if (info.isAndroid()) {
@@ -335,3 +335,4 @@ public class VTextArea extends VLegacyTextField implements DragImageModifier {
         }
     }
 }
+
index 7bf1d5cf9b25b703b60fdebf1822b043e65bf187..f9101a5e30f93c5b6040e7f8bb96ee5476bdecdd 100644 (file)
@@ -2260,10 +2260,8 @@ public class VTree extends FocusElementPanel
      * Tell LayoutManager that a layout is needed later for this VTree
      */
     private void doLayout() {
-        // IE8 needs a hack to measure the tree again after update
-        WidgetUtil.forceIE8Redraw(getElement());
-
         // This calls LayoutManager setNeedsMeasure and layoutNow
         Util.notifyParentOfSizeChange(this, false);
     }
 }
+
index e1e8f670a53e8e64fb8c3350893265158517ca7f..585631a6b65bef21e21ffa537e853d4bc4ff5ee4 100644 (file)
@@ -35,7 +35,6 @@ import com.google.gwt.user.client.Timer;
 import com.google.gwt.user.client.Window;
 import com.google.gwt.user.client.ui.SimplePanel;
 import com.vaadin.client.ApplicationConnection;
-import com.vaadin.client.BrowserInfo;
 import com.vaadin.client.ComponentConnector;
 import com.vaadin.client.ConnectorMap;
 import com.vaadin.client.Focusable;
@@ -369,16 +368,11 @@ public class VUI extends SimplePanel implements ResizeHandler,
      */
     private void triggerSizeChangeCheck() {
         /*
-         * IE (pre IE9 at least) will give us some false resize events due to
-         * problems with scrollbars. Firefox 3 might also produce some extra
-         * events. We postpone both the re-layouting and the server side event
-         * for a while to deal with these issues.
-         *
-         * We may also postpone these events to avoid slowness when resizing the
+         * We may postpone these events to avoid slowness when resizing the
          * browser window. Constantly recalculating the layout causes the resize
          * operation to be really slow with complex layouts.
          */
-        boolean lazy = resizeLazy || BrowserInfo.get().isIE8();
+        boolean lazy = resizeLazy;
 
         if (lazy) {
             delayedResizeExecutor.trigger();
index 1d038dfb3d5f063f88d141da1ec75b7780297e8c..676d3a4a002d905e5f0d436203a85d28d8726fdc 100644 (file)
@@ -160,8 +160,6 @@ public class VUpload extends SimplePanel {
     private static native void setEncoding(Element form, String encoding)
     /*-{
       form.enctype = encoding;
-      // For IE8
-      form.encoding = encoding;
     }-*/;
 
     /** For internal use only. May be removed or replaced in the future. */
@@ -393,3 +391,4 @@ public class VUpload extends SimplePanel {
     }
 
 }
+
index 922cfa515bddf231b21064c8e5ac56a05baa9903..c3d9e7eddf5b546b36c9471cb542a537604c72a1 100644 (file)
@@ -32,8 +32,6 @@ import com.google.gwt.core.client.Scheduler.ScheduledCommand;
 import com.google.gwt.dom.client.Document;
 import com.google.gwt.dom.client.Element;
 import com.google.gwt.dom.client.NativeEvent;
-import com.google.gwt.dom.client.Style;
-import com.google.gwt.dom.client.Style.Display;
 import com.google.gwt.dom.client.Style.Position;
 import com.google.gwt.dom.client.Style.Unit;
 import com.google.gwt.dom.client.Style.Visibility;
@@ -211,9 +209,7 @@ public class VWindow extends VOverlay implements ShortcutActionHandlerOwner,
             });
 
     public VWindow() {
-        super(false, false, true); // no autohide, not modal, shadow
-        // Different style of shadow for windows
-        setShadowStyle("window");
+        super(false, false); // no autohide, not modal
 
         Roles.getDialogRole().set(getElement());
         Roles.getDialogRole().setAriaRelevantProperty(getElement(),
@@ -224,9 +220,7 @@ public class VWindow extends VOverlay implements ShortcutActionHandlerOwner,
         contentPanel.addKeyDownHandler(this);
         contentPanel.addFocusHandler(this);
         contentPanel.addBlurHandler(this);
-        if (!BrowserInfo.get().isIE8() && !BrowserInfo.get().isIE9()) {
-            addTransitionEndLayoutListener(getElement());
-        }
+        addTransitionEndLayoutListener(getElement());
 
     }
 
@@ -249,20 +243,6 @@ public class VWindow extends VOverlay implements ShortcutActionHandlerOwner,
          * state.
          */
         setTabStopEnabled(doTabStop);
-
-        // Fix for #14413. Any pseudo elements inside these elements are not
-        // visible on initial render unless we shake the DOM.
-        if (BrowserInfo.get().isIE8()) {
-            closeBox.getStyle().setDisplay(Display.NONE);
-            maximizeRestoreBox.getStyle().setDisplay(Display.NONE);
-            Scheduler.get().scheduleFinally(new Command() {
-                @Override
-                public void execute() {
-                    closeBox.getStyle().clearDisplay();
-                    maximizeRestoreBox.getStyle().clearDisplay();
-                }
-            });
-        }
     }
 
     @Override
@@ -673,23 +653,6 @@ public class VWindow extends VOverlay implements ShortcutActionHandlerOwner,
 
     @Override
     public void hide() {
-
-        /*
-         * If the window has a RichTextArea and the RTA is focused at the time
-         * of hiding in IE8 only the window will have some problems returning
-         * the focus to the correct place. Curiously the focus will be returned
-         * correctly if clicking on the "close" button in the window header but
-         * closing the window from a button for example in the window will fail.
-         * Symptom described in #10776
-         *
-         * The problematic part is that for the focus to be returned correctly
-         * an input element needs to be focused in the root panel. Focusing some
-         * other element apparently won't work.
-         */
-        if (BrowserInfo.get().isIE8()) {
-            fixIE8FocusCaptureIssue();
-        }
-
         if (vaadinModality) {
             hideModalityCurtain();
         }
@@ -706,19 +669,6 @@ public class VWindow extends VOverlay implements ShortcutActionHandlerOwner,
         focusTopmostModalWindow();
     }
 
-    private void fixIE8FocusCaptureIssue() {
-        Element e = DOM.createInputText();
-        Style elemStyle = e.getStyle();
-        elemStyle.setPosition(Position.ABSOLUTE);
-        elemStyle.setTop(-10, Unit.PX);
-        elemStyle.setWidth(0, Unit.PX);
-        elemStyle.setHeight(0, Unit.PX);
-
-        contentPanel.getElement().appendChild(e);
-        e.focus();
-        contentPanel.getElement().removeChild(e);
-    }
-
     /** For internal use only. May be removed or replaced in the future. */
     public void setVaadinModality(boolean modality) {
         vaadinModality = modality;
index e95e8e6e05e8f196fc12f6d0e85cdcc8d8967a43..0f4fb0f8160216f94dc6721d4b3eae6c633ea6f5 100644 (file)
@@ -27,14 +27,12 @@ import com.google.gwt.user.client.Event;
 import com.google.gwt.user.client.Timer;
 import com.google.gwt.user.client.ui.SimplePanel;
 import com.google.gwt.user.client.ui.Widget;
-import com.vaadin.client.BrowserInfo;
 import com.vaadin.client.LayoutManager;
 import com.vaadin.client.StyleConstants;
 import com.vaadin.client.WidgetUtil;
 import com.vaadin.client.ui.FontIcon;
 import com.vaadin.client.ui.Icon;
 import com.vaadin.client.ui.ImageIcon;
-import com.vaadin.client.ui.layout.ElementResizeEvent;
 import com.vaadin.client.ui.layout.ElementResizeListener;
 import com.vaadin.shared.ui.AlignmentInfo;
 
@@ -64,22 +62,6 @@ public class Slot extends SimplePanel {
 
     private ElementResizeListener spacingResizeListener;
 
-    /*
-     * This listener is applied only in IE8 to workaround browser issue where
-     * IE8 forgets to update the error indicator position when the slot gets
-     * resized by widget resizing itself. #11693
-     */
-    private ElementResizeListener ie8CaptionElementResizeUpdateListener = new ElementResizeListener() {
-
-        @Override
-        public void onElementResize(ElementResizeEvent e) {
-            Element caption = getCaptionElement();
-            if (caption != null) {
-                WidgetUtil.forceIE8Redraw(caption);
-            }
-        }
-    };
-
     // Caption is placed after component unless there is some part which
     // moves it above.
     private CaptionPosition captionPosition = CaptionPosition.RIGHT;
@@ -176,10 +158,6 @@ public class Slot extends SimplePanel {
                         spacingResizeListener);
             }
 
-            if (BrowserInfo.get().isIE8()) {
-                lm.addElementResizeListener(getWidget().getElement(),
-                        ie8CaptionElementResizeUpdateListener);
-            }
         }
     }
 
@@ -204,10 +182,6 @@ public class Slot extends SimplePanel {
                         spacingResizeListener);
             }
 
-            if (BrowserInfo.get().isIE8()) {
-                lm.removeElementResizeListener(getWidget().getElement(),
-                        ie8CaptionElementResizeUpdateListener);
-            }
         }
     }
 
@@ -672,13 +646,8 @@ public class Slot extends SimplePanel {
                         }
                     }
                 };
-                if (BrowserInfo.get().isIE8()) {
-                    // IE8 can't fix the focus immediately. It will fail.
-                    focusTimer.schedule(25);
-                } else {
-                    // Newer IE versions can handle things immediately.
-                    focusTimer.run();
-                }
+                // Newer IE versions can handle things immediately.
+                focusTimer.run();
             }
         }
     }
@@ -831,3 +800,4 @@ public class Slot extends SimplePanel {
         }
     }
 }
+
index b6f3644552d993b421efaeb3943846b3e28952a8..a8c1f3ac3d2135d3723fcd6dc382502ca6c40ca5 100644 (file)
@@ -30,11 +30,9 @@ import com.google.gwt.user.client.DOM;
 import com.google.gwt.user.client.ui.FlowPanel;
 import com.google.gwt.user.client.ui.RequiresResize;
 import com.google.gwt.user.client.ui.Widget;
-import com.vaadin.client.BrowserInfo;
 import com.vaadin.client.LayoutManager;
 import com.vaadin.client.Profiler;
 import com.vaadin.client.Util;
-import com.vaadin.client.WidgetUtil;
 import com.vaadin.shared.ui.MarginInfo;
 
 /**
@@ -561,19 +559,10 @@ public class VAbstractOrderedLayout extends FlowPanel {
 
             } else {
                 // Non-relative child without expansion should be unconstrained
-                if (BrowserInfo.get().isIE8()) {
-                    // unconstrained in IE8 is auto
-                    if (vertical) {
-                        slot.setHeight("auto");
-                    } else {
-                        slot.setWidth("auto");
-                    }
+                if (vertical) {
+                    slotStyle.clearHeight();
                 } else {
-                    if (vertical) {
-                        slotStyle.clearHeight();
-                    } else {
-                        slotStyle.clearWidth();
-                    }
+                    slotStyle.clearWidth();
                 }
             }
         }
@@ -718,7 +707,6 @@ public class VAbstractOrderedLayout extends FlowPanel {
                 }
             }
         }
-        WidgetUtil.forceIE8Redraw(getElement());
     }
 
     /**
@@ -747,3 +735,4 @@ public class VAbstractOrderedLayout extends FlowPanel {
     }
 
 }
+
index 2dbb1aca6f329b6f18a75cf4c0653da14b29e06e..ccfb7152918438a3e14af0ec5c16a4079204a020 100644 (file)
@@ -23,11 +23,9 @@ import com.google.gwt.core.client.Scheduler;
 import com.google.gwt.core.client.Scheduler.ScheduledCommand;
 import com.google.gwt.dom.client.Element;
 import com.google.gwt.dom.client.EventTarget;
-import com.google.gwt.dom.client.Style.Position;
 import com.google.gwt.event.shared.HandlerRegistration;
 import com.google.gwt.user.client.ui.Widget;
 import com.vaadin.client.ApplicationConnection;
-import com.vaadin.client.BrowserInfo;
 import com.vaadin.client.ComponentConnector;
 import com.vaadin.client.ConnectorHierarchyChangeEvent;
 import com.vaadin.client.ConnectorHierarchyChangeEvent.ConnectorHierarchyChangeHandler;
@@ -388,19 +386,6 @@ public class TableConnector extends AbstractFieldConnector
     public void updateEnabledState(boolean enabledState) {
         super.updateEnabledState(enabledState);
         getWidget().enabled = isEnabled();
-
-        if (BrowserInfo.get().isIE8() && !getWidget().enabled) {
-            /*
-             * The disabled shim will not cover the table body if it is relative
-             * in IE8. See #7324
-             */
-            getWidget().scrollBodyPanel.getElement().getStyle()
-                    .setPosition(Position.STATIC);
-        } else if (BrowserInfo.get().isIE8()) {
-            getWidget().scrollBodyPanel.getElement().getStyle()
-                    .setPosition(Position.RELATIVE);
-        }
-
     }
 
     @Override
@@ -431,9 +416,6 @@ public class TableConnector extends AbstractFieldConnector
             Scheduler.get().scheduleFinally(new ScheduledCommand() {
                 @Override
                 public void execute() {
-                    // IE8 needs some hacks to measure sizes correctly
-                    WidgetUtil.forceIE8Redraw(getWidget().getElement());
-
                     getLayoutManager().setNeedsMeasure(TableConnector.this);
                     ServerConnector parent = getParent();
                     if (parent instanceof ComponentConnector) {
index ba3ee07afb9c3b570de80869e4d04cc34a547959..c28a58aaad7aa452cc46c19293cfc8f5c9975136 100644 (file)
@@ -66,9 +66,6 @@ public class TreeConnector extends AbstractComponentConnector
         if (uidl.hasAttribute("partialUpdate")) {
             handleUpdate(uidl);
 
-            // IE8 needs a hack to measure the tree again after update
-            WidgetUtil.forceIE8Redraw(getWidget().getElement());
-
             getWidget().rendering = false;
             return;
         }
@@ -178,9 +175,6 @@ public class TreeConnector extends AbstractComponentConnector
             getWidget().focusedNode.setFocused(false);
         }
 
-        // IE8 needs a hack to measure the tree again after update
-        WidgetUtil.forceIE8Redraw(getWidget().getElement());
-
         getWidget().rendering = false;
 
     }
@@ -395,3 +389,4 @@ public class TreeConnector extends AbstractComponentConnector
         WidgetUtil.clearTextSelection();
     }
 }
+
index ec2144fb08d2c9149a6b2a60387fe0f375512478..7c0df8761d6e87fd9b544a865dcf965ab978ba6b 100644 (file)
@@ -30,7 +30,6 @@ import com.google.gwt.dom.client.NativeEvent;
 import com.google.gwt.dom.client.NodeList;
 import com.google.gwt.dom.client.Style;
 import com.google.gwt.dom.client.Style.Position;
-import com.google.gwt.dom.client.StyleElement;
 import com.google.gwt.dom.client.StyleInjector;
 import com.google.gwt.event.dom.client.KeyDownEvent;
 import com.google.gwt.event.dom.client.KeyDownHandler;
@@ -51,7 +50,6 @@ import com.google.gwt.user.client.ui.Widget;
 import com.google.web.bindery.event.shared.HandlerRegistration;
 import com.vaadin.client.ApplicationConnection;
 import com.vaadin.client.ApplicationConnection.ApplicationStoppedEvent;
-import com.vaadin.client.BrowserInfo;
 import com.vaadin.client.ComponentConnector;
 import com.vaadin.client.ConnectorHierarchyChangeEvent;
 import com.vaadin.client.Focusable;
@@ -486,17 +484,6 @@ public class UIConnector extends AbstractSingleComponentContainerConnector
 
     public void init(String rootPanelId,
             ApplicationConnection applicationConnection) {
-        // Create a style tag for style injections so they don't end up in
-        // the theme tag in IE8-IE10 (we don't want to wipe them out if we
-        // change theme).
-        // StyleInjectorImplIE always injects to the last style tag on the page.
-        if (BrowserInfo.get().isIE()
-                && BrowserInfo.get().getBrowserMajorVersion() < 11) {
-            StyleElement style = Document.get().createStyleElement();
-            style.setType("text/css");
-            getHead().appendChild(style);
-        }
-
         Widget shortcutContextWidget = getWidget();
         if (applicationConnection.getConfiguration().isStandalone()) {
             // Listen to body for standalone apps (#19392)
@@ -611,7 +598,7 @@ public class UIConnector extends AbstractSingleComponentContainerConnector
          * height. Assuming v-ui does not have an undefined width for now, see
          * #8460.
          */
-        if (child.isRelativeHeight() && !BrowserInfo.get().isIE9()) {
+        if (child.isRelativeHeight()) {
             childStyle.setPosition(Position.ABSOLUTE);
         } else {
             childStyle.clearPosition();
index fe1d5e521fe93cb57254919faa0cb7eb02158c35..7d9094e583a4ce3d1c64c7ab953053ab840a4ef1 100644 (file)
@@ -33,13 +33,11 @@ import com.google.gwt.event.dom.client.DoubleClickHandler;
 import com.google.gwt.user.client.DOM;
 import com.google.gwt.user.client.Window;
 import com.vaadin.client.ApplicationConnection;
-import com.vaadin.client.BrowserInfo;
 import com.vaadin.client.ComponentConnector;
 import com.vaadin.client.ConnectorHierarchyChangeEvent;
 import com.vaadin.client.LayoutManager;
 import com.vaadin.client.Paintable;
 import com.vaadin.client.UIDL;
-import com.vaadin.client.WidgetUtil;
 import com.vaadin.client.communication.RpcProxy;
 import com.vaadin.client.communication.StateChangeEvent;
 import com.vaadin.client.ui.AbstractSingleComponentContainerConnector;
@@ -251,10 +249,7 @@ public class WindowConnector extends AbstractSingleComponentContainerConnector
             Element layoutElement = content.getWidget().getElement();
             Style childStyle = layoutElement.getStyle();
 
-            // IE8 needs some hackery to measure its content correctly
-            WidgetUtil.forceIE8Redraw(layoutElement);
-
-            if (content.isRelativeHeight() && !BrowserInfo.get().isIE9()) {
+            if (content.isRelativeHeight()) {
                 childStyle.setPosition(Position.ABSOLUTE);
 
                 Style wrapperStyle = contentElement.getStyle();
index 2aca1515098c91f275d98cddb882a2ea619fc8db..a5e95a26a5d80bcd6ec1199b505b0b081991b888 100644 (file)
@@ -132,7 +132,7 @@ import com.vaadin.shared.util.SharedUtil;
 
  Each RowContainer can be thought to have three levels of
  indices for any given displayed row (but the distinction
- matters primarily for the BodyRowContainerImpl, because of 
+ matters primarily for the BodyRowContainerImpl, because of
  the way it scrolls through data):
 
  - Logical index
@@ -151,8 +151,8 @@ import com.vaadin.shared.util.SharedUtil;
  (because of 0-based indices). In Header and
  FooterRowContainers, you are safe to assume that the logical
  index is the same as the physical index. But because the
- BodyRowContainerImpl never displays large data sources 
- entirely in the DOM, a physical index usually has no 
+ BodyRowContainerImpl never displays large data sources
+ entirely in the DOM, a physical index usually has no
  apparent direct relationship with its logical index.
 
  VISUAL INDEX is the index relating to the order that you
@@ -678,7 +678,7 @@ public class Escalator extends Widget
             var hScrollElem = hScroll.@com.vaadin.client.widget.escalator.ScrollbarBundle::getElement()();
 
             return $entry(function(e) {
-                var target = e.target || e.srcElement; // IE8 uses e.scrElement
+                var target = e.target;
 
                 // in case the scroll event was native (i.e. scrollbars were dragged, or
                 // the scrollTop/Left was manually modified), the bundles have old cache
@@ -926,14 +926,9 @@ public class Escalator extends Widget
          * class.
          */
         /*-{
-            if (element.addEventListener) {
-                // firefox likes "wheel", while others use "mousewheel"
-                var eventName = 'onmousewheel' in element ? 'mousewheel' : 'wheel';
-                element.addEventListener(eventName, this.@com.vaadin.client.widgets.JsniWorkaround::mousewheelListenerFunction);
-            } else {
-                // IE8
-                element.attachEvent("onmousewheel", this.@com.vaadin.client.widgets.JsniWorkaround::mousewheelListenerFunction);
-            }
+            // firefox likes "wheel", while others use "mousewheel"
+            var eventName = 'onmousewheel' in element ? 'mousewheel' : 'wheel';
+            element.addEventListener(eventName, this.@com.vaadin.client.widgets.JsniWorkaround::mousewheelListenerFunction);
         }-*/;
 
         public native void detachMousewheelListener(Element element)
@@ -946,14 +941,9 @@ public class Escalator extends Widget
          * class.
          */
         /*-{
-            if (element.addEventListener) {
-                // firefox likes "wheel", while others use "mousewheel"
-                var eventName = element.onwheel===undefined?"mousewheel":"wheel";
-                element.removeEventListener(eventName, this.@com.vaadin.client.widgets.JsniWorkaround::mousewheelListenerFunction);
-            } else {
-                // IE8
-                element.detachEvent("onmousewheel", this.@com.vaadin.client.widgets.JsniWorkaround::mousewheelListenerFunction);
-            }
+            // firefox likes "wheel", while others use "mousewheel"
+            var eventName = element.onwheel===undefined?"mousewheel":"wheel";
+            element.removeEventListener(eventName, this.@com.vaadin.client.widgets.JsniWorkaround::mousewheelListenerFunction);
         }-*/;
 
         public native void attachTouchListeners(Element element)
@@ -966,14 +956,10 @@ public class Escalator extends Widget
          * class.
          */
         /*-{
-            if (element.addEventListener) {
-                element.addEventListener("touchstart", this.@com.vaadin.client.widgets.JsniWorkaround::touchStartFunction);
-                element.addEventListener("touchmove", this.@com.vaadin.client.widgets.JsniWorkaround::touchMoveFunction);
-                element.addEventListener("touchend", this.@com.vaadin.client.widgets.JsniWorkaround::touchEndFunction);
-                element.addEventListener("touchcancel", this.@com.vaadin.client.widgets.JsniWorkaround::touchEndFunction);
-            } else {
-                // this would be IE8, but we don't support it with touch
-            }
+            element.addEventListener("touchstart", this.@com.vaadin.client.widgets.JsniWorkaround::touchStartFunction);
+            element.addEventListener("touchmove", this.@com.vaadin.client.widgets.JsniWorkaround::touchMoveFunction);
+            element.addEventListener("touchend", this.@com.vaadin.client.widgets.JsniWorkaround::touchEndFunction);
+            element.addEventListener("touchcancel", this.@com.vaadin.client.widgets.JsniWorkaround::touchEndFunction);
         }-*/;
 
         public native void detachTouchListeners(Element element)
@@ -986,14 +972,10 @@ public class Escalator extends Widget
          * class.
          */
         /*-{
-            if (element.removeEventListener) {
-                element.removeEventListener("touchstart", this.@com.vaadin.client.widgets.JsniWorkaround::touchStartFunction);
-                element.removeEventListener("touchmove", this.@com.vaadin.client.widgets.JsniWorkaround::touchMoveFunction);
-                element.removeEventListener("touchend", this.@com.vaadin.client.widgets.JsniWorkaround::touchEndFunction);
-                element.removeEventListener("touchcancel", this.@com.vaadin.client.widgets.JsniWorkaround::touchEndFunction);
-            } else {
-                // this would be IE8, but we don't support it with touch
-            }
+            element.removeEventListener("touchstart", this.@com.vaadin.client.widgets.JsniWorkaround::touchStartFunction);
+            element.removeEventListener("touchmove", this.@com.vaadin.client.widgets.JsniWorkaround::touchMoveFunction);
+            element.removeEventListener("touchend", this.@com.vaadin.client.widgets.JsniWorkaround::touchEndFunction);
+            element.removeEventListener("touchcancel", this.@com.vaadin.client.widgets.JsniWorkaround::touchEndFunction);
         }-*/;
 
         public void scrollToColumn(final int columnIndex,
@@ -1069,8 +1051,9 @@ public class Escalator extends Widget
 
         /**
          * The table section element ({@code <thead>}, {@code <tbody>} or
-         * {@code <tfoot>}) the rows (i.e. {@code 
-         * <tr>
+         * {@code <tfoot>}) the rows (i.e. {@code
+         *
+        <tr>
          * } tags) are contained in.
          */
         protected final TableSectionElement root;
@@ -1760,8 +1743,9 @@ public class Escalator extends Widget
          * Applies the total length of the columns to each row element.
          * <p>
          * <em>Note:</em> In contrast to {@link #reapplyColumnWidths()}, this
-         * method only modifies the width of the {@code 
-         * <tr>
+         * method only modifies the width of the {@code
+         *
+        <tr>
          * } element, not the cells within.
          */
         protected void reapplyRowWidths() {
@@ -3218,7 +3202,7 @@ public class Escalator extends Widget
                          * |3| ==> |*| ==> |5| <- newly rendered
                          * |4|     |*|
                          *  5       5
-                         *  
+                         *
                          *  1       1      |1| <- newly rendered
                          * |2|     |*|     |4|
                          * |3| ==> |*| ==> |5| <- newly rendered
@@ -3265,7 +3249,7 @@ public class Escalator extends Widget
                          *  1      |1| <-- newly rendered (by scrolling)
                          * |4|     |4|
                          * |*| ==> |*|
-                         * |*|       
+                         * |*|
                          *  5       5
                          */
                         final double newScrollTop = contentBottom
@@ -3297,7 +3281,7 @@ public class Escalator extends Widget
                          * |1|     |1|
                          * |4| ==> |4|
                          * |*|     |5| <-- newly rendered
-                         *           
+                         *
                          *  5
                          */
 
@@ -3370,7 +3354,7 @@ public class Escalator extends Widget
              *  :       :      |4| <- newly rendered
              * |5|     |5|     |5|
              * |6| ==> |*| ==> |7|
-             * |7|     |7|     
+             * |7|     |7|
              */
 
             final int logicalTargetIndex = getLogicalRowIndex(
@@ -5616,32 +5600,15 @@ public class Escalator extends Widget
         if (BrowserInfo.get().isIE()) {
             /*
              * IE refuses to scroll properly if the DIV isn't at least one pixel
-             * larger than the scrollbar controls themselves. But, probably
-             * because of subpixel rendering, in Grid, one pixel isn't enough,
-             * so we'll add two instead.
+             * larger than the scrollbar controls themselves.
              */
-            if (BrowserInfo.get().isIE9()) {
-                scrollbarThickness += 2;
-            } else {
-                scrollbarThickness += 1;
-            }
+            scrollbarThickness += 1;
         }
 
         root.appendChild(verticalScrollbar.getElement());
         verticalScrollbar.addScrollHandler(scrollHandler);
         verticalScrollbar.setScrollbarThickness(scrollbarThickness);
 
-        if (BrowserInfo.get().isIE8()) {
-            /*
-             * IE8 will have to compensate for a misalignment where it pops the
-             * scrollbar outside of its box. See Bug 3 in
-             * http://edskes.net/ie/ie8overflowandexpandingboxbugs.htm
-             */
-            Style vScrollStyle = verticalScrollbar.getElement().getStyle();
-            vScrollStyle.setRight(verticalScrollbar.getScrollbarThickness() - 1,
-                    Unit.PX);
-        }
-
         root.appendChild(horizontalScrollbar.getElement());
         horizontalScrollbar.addScrollHandler(scrollHandler);
         horizontalScrollbar.setScrollbarThickness(scrollbarThickness);
@@ -6815,4 +6782,4 @@ public class Escalator extends Widget
     double getMinCellWidth(int colIndex) {
         return columnConfiguration.getMinCellWidth(colIndex);
     }
-}
\ No newline at end of file
+}
index bbeb683ad7f4fd9086d3fdeff6ff2a6f599f47e9..53be286ee0205e579253a9dd4ad58eb80108e36e 100644 (file)
@@ -36,7 +36,6 @@ import com.google.gwt.core.client.Scheduler.ScheduledCommand;
 import com.google.gwt.core.shared.GWT;
 import com.google.gwt.dom.client.BrowserEvents;
 import com.google.gwt.dom.client.DivElement;
-import com.google.gwt.dom.client.Document;
 import com.google.gwt.dom.client.Element;
 import com.google.gwt.dom.client.EventTarget;
 import com.google.gwt.dom.client.NativeEvent;
@@ -1291,23 +1290,6 @@ public class Grid<T> extends ResizeComposite implements HasSelectionHandlers<T>,
         private static final String ERROR_CLASS_NAME = "error";
         private static final String NOT_EDITABLE_CLASS_NAME = "not-editable";
 
-        ScheduledCommand fieldFocusCommand = new ScheduledCommand() {
-            private int count = 0;
-
-            @Override
-            public void execute() {
-                Element focusedElement = WidgetUtil.getFocusedElement();
-                if (focusedElement == grid.getElement()
-                        || focusedElement == Document.get().getBody()
-                        || count > 2) {
-                    focusColumn(focusedColumnIndex);
-                } else {
-                    ++count;
-                    Scheduler.get().scheduleDeferred(this);
-                }
-            }
-        };
-
         /**
          * A handler for events related to the Grid editor. Responsible for
          * opening, moving or closing the editor based on the received event.
@@ -1865,11 +1847,7 @@ public class Grid<T> extends ResizeComposite implements HasSelectionHandlers<T>,
                     }
 
                     if (i == focusedColumnIndex) {
-                        if (BrowserInfo.get().isIE8()) {
-                            Scheduler.get().scheduleDeferred(fieldFocusCommand);
-                        } else {
-                            focusColumn(focusedColumnIndex);
-                        }
+                        focusColumn(focusedColumnIndex);
                     }
                 } else {
                     cell.addClassName(NOT_EDITABLE_CLASS_NAME);
@@ -3405,8 +3383,7 @@ public class Grid<T> extends ResizeComposite implements HasSelectionHandlers<T>,
              */
             final double widthPerRatio;
             int leftOver = 0;
-            if (BrowserInfo.get().isIE8() || BrowserInfo.get().isIE9()
-                    || BrowserInfo.getBrowserString().contains("PhantomJS")) {
+            if (BrowserInfo.getBrowserString().contains("PhantomJS")) {
                 // These browsers report subpixels as integers. this usually
                 // results into issues..
                 widthPerRatio = (int) (pixelsToDistribute / totalRatios);
@@ -4092,10 +4069,12 @@ public class Grid<T> extends ResizeComposite implements HasSelectionHandlers<T>,
      * This is a workaround to make Chrome work like Firefox. In Chrome,
      * normally if you start a drag on one cell and release on:
      * <ul>
-     * <li>that same cell, the click event is that {@code 
-     * <td>}.
-     * <li>a cell on that same row, the click event is the parent {@code 
-     * <tr>
+     * <li>that same cell, the click event is that {@code
+     *
+    <td>}.
+     * <li>a cell on that same row, the click event is the parent {@code
+     *
+    <tr>
      * }.
      * <li>a cell on another row, the click event is the table section ancestor
      * ({@code <thead>}, {@code <tbody>} or {@code <tfoot>}).
index 077448541be32ad8644a578d398370348539d40a..35a5b46576906bd1295f7b0b843317417b7ec6d3 100644 (file)
@@ -33,7 +33,6 @@ import com.google.gwt.dom.client.Style.Unit;
 import com.google.gwt.event.logical.shared.CloseEvent;
 import com.google.gwt.event.logical.shared.CloseHandler;
 import com.google.gwt.user.client.Command;
-import com.google.gwt.user.client.DOM;
 import com.google.gwt.user.client.Window;
 import com.google.gwt.user.client.ui.PopupPanel;
 import com.google.gwt.user.client.ui.RootPanel;
@@ -42,7 +41,6 @@ import com.vaadin.client.AnimationUtil;
 import com.vaadin.client.AnimationUtil.AnimationEndListener;
 import com.vaadin.client.BrowserInfo;
 import com.vaadin.client.ComputedStyle;
-import com.vaadin.client.WidgetUtil;
 
 /**
  * Overlay widget extending the PopupPanel. Overlay is used to float elements on
@@ -51,34 +49,9 @@ import com.vaadin.client.WidgetUtil;
  * <b>Note:</b> This class should always be constructed with
  * {@link GWT#create(Class)}.
  *
- * <h3>Shadow</h3>
- * <p>
- * The separate shadow element underneath the main overlay element is <strong>
- * <em>deprecated</em></strong>, and should not be used for new overlay
- * components. CSS box-shadow should be used instead of a separate shadow
- * element. Remember to include any vendor-prefixed versions to support all
- * browsers that you need to. To cover all possible browsers that Vaadin 7
- * supports, add <code>-webkit-box-shadow</code> and the standard
- * <code>box-shadow</code> properties.
- * </p>
- *
- * <p>
- * For IE8, which doesn't support CSS box-shadow, you can use the proprietary
- * DropShadow filter. It doesn't provide the exact same features as box-shadow,
- * but it is suitable for graceful degradation. Other options are to use a
- * border or a pseudo-element underneath the overlay which mimics a shadow, or
- * any combination of these.
- * </p>
- *
- * <p>
- * Read more about the DropShadow filter from
- * <a href="http://msdn.microsoft.com/en-us/library/ms532985(v=vs.85).aspx"
- * >Microsoft Developer Network</a>
- * </p>
- *
  * @since 7.6.1
  */
-public class Overlay extends PopupPanel implements CloseHandler<PopupPanel> {
+public class Overlay extends PopupPanel {
 
     @Override
     protected void onAttach() {
@@ -186,15 +159,6 @@ public class Overlay extends PopupPanel implements CloseHandler<PopupPanel> {
      */
     public static final String ADDITIONAL_CLASSNAME_ANIMATE_OUT = "animate-out";
 
-    /**
-     * The shadow element for this overlay.
-     *
-     * @deprecated See main JavaDoc for Overlay
-     *
-     */
-    @Deprecated
-    private Element shadow;
-
     /*
      * The creator of this Overlay (the widget that made the instance, not the
      * layout parent)
@@ -207,41 +171,11 @@ public class Overlay extends PopupPanel implements CloseHandler<PopupPanel> {
      */
     private IFrameElement shimElement;
 
-    /**
-     * The HTML snippet that is used to render the actual shadow. In consists of
-     * nine different DIV-elements with the following class names:
-     *
-     * <pre>
-     *   .v-shadow[-stylename]
-     *   ----------------------------------------------
-     *   | .top-left     |   .top    |     .top-right |
-     *   |---------------|-----------|----------------|
-     *   |               |           |                |
-     *   | .left         |  .center  |         .right |
-     *   |               |           |                |
-     *   |---------------|-----------|----------------|
-     *   | .bottom-left  |  .bottom  |  .bottom-right |
-     *   ----------------------------------------------
-     * </pre>
-     *
-     * See default theme 'shadow.css' for implementation example.
-     *
-     * @deprecated See main JavaDoc for Overlay
-     */
-    @Deprecated
-    private static final String SHADOW_HTML = "<div aria-hidden=\"true\" class=\"top-left\"></div><div class=\"top\"></div><div class=\"top-right\"></div><div class=\"left\"></div><div class=\"center\"></div><div class=\"right\"></div><div class=\"bottom-left\"></div><div class=\"bottom\"></div><div class=\"bottom-right\"></div>";
-
     /**
      * Matches {@link PopupPanel}.ANIMATION_DURATION
      */
     private static final int POPUP_PANEL_ANIMATION_DURATION = 200;
 
-    /**
-     * @deprecated See main JavaDoc for Overlay
-     */
-    @Deprecated
-    private boolean sinkShadowEvents = false;
-
     private List<Command> runOnClose = new ArrayList<Command>();
 
     public Overlay() {
@@ -259,65 +193,6 @@ public class Overlay extends PopupPanel implements CloseHandler<PopupPanel> {
         adjustZIndex();
     }
 
-    /**
-     * @deprecated See main JavaDoc for Overlay. Use the other constructors
-     *             without the <code>showShadow</code> parameter.
-     */
-    @Deprecated
-    public Overlay(boolean autoHide, boolean modal, boolean showShadow) {
-        super(autoHide, modal);
-        setShadowEnabled(showShadow && useShadowDiv());
-        adjustZIndex();
-    }
-
-    /**
-     * Return true if a separate shadow div should be used. Since Vaadin 7.3,
-     * shadows are implemented with CSS box-shadow. Thus, a shadow div is only
-     * used for IE8 by default.
-     *
-     * @deprecated See main JavaDoc for Overlay
-     * @since 7.3
-     * @return true to use a shadow div
-     */
-    @Deprecated
-    protected boolean useShadowDiv() {
-        return BrowserInfo.get().isIE8();
-    }
-
-    /**
-     * Method to control whether DOM elements for shadow are added. With this
-     * method subclasses can control displaying of shadow also after the
-     * constructor.
-     *
-     * @param enabled
-     *            true if shadow should be displayed
-     *
-     * @deprecated See main JavaDoc for Overlay
-     */
-    @Deprecated
-    protected void setShadowEnabled(boolean enabled) {
-        if (enabled != isShadowEnabled()) {
-            if (enabled) {
-                shadow = DOM.createDiv();
-                shadow.setClassName(CLASSNAME_SHADOW);
-                shadow.setInnerHTML(SHADOW_HTML);
-                shadow.getStyle().setPosition(Position.ABSOLUTE);
-                addCloseHandler(this);
-            } else {
-                removeShadowIfPresent();
-                shadow = null;
-            }
-        }
-    }
-
-    /**
-     * @deprecated See main JavaDoc for Overlay
-     */
-    @Deprecated
-    protected boolean isShadowEnabled() {
-        return shadow != null;
-    }
-
     protected boolean isShimElementEnabled() {
         return shimElement != null;
     }
@@ -328,27 +203,6 @@ public class Overlay extends PopupPanel implements CloseHandler<PopupPanel> {
         }
     }
 
-    /**
-     * @deprecated See main JavaDoc for Overlay
-     */
-    @Deprecated
-    private void removeShadowIfPresent() {
-        if (isShadowAttached()) {
-            // Remove event listener from the shadow
-            unsinkShadowEvents();
-
-            shadow.removeFromParent();
-        }
-    }
-
-    /**
-     * @deprecated See main JavaDoc for Overlay
-     */
-    @Deprecated
-    private boolean isShadowAttached() {
-        return isShadowEnabled() && shadow.getParentElement() != null;
-    }
-
     private void adjustZIndex() {
         setZIndex(Z_INDEX);
     }
@@ -361,9 +215,6 @@ public class Overlay extends PopupPanel implements CloseHandler<PopupPanel> {
      */
     protected void setZIndex(int zIndex) {
         getElement().getStyle().setZIndex(zIndex);
-        if (isShadowEnabled()) {
-            shadow.getStyle().setZIndex(zIndex);
-        }
     }
 
     @Override
@@ -553,19 +404,13 @@ public class Overlay extends PopupPanel implements CloseHandler<PopupPanel> {
         boolean isAttached = isAttached() && isShowing();
         super.show();
 
-        // Don't animate if already visible or browser is IE8 or IE9 (no CSS
-        // animation support)
-        if (isAttached || BrowserInfo.get().isIE8()
-                || BrowserInfo.get().isIE9()) {
+        // Don't animate if already visible
+        if (isAttached) {
             return false;
         } else {
             // Check if animations are used
             setVisible(false);
             addStyleDependentName(ADDITIONAL_CLASSNAME_ANIMATE_IN);
-            if (isShadowEnabled()) {
-                shadow.addClassName(CLASSNAME_SHADOW + "-"
-                        + ADDITIONAL_CLASSNAME_ANIMATE_IN);
-            }
 
             ComputedStyle cs = new ComputedStyle(getElement());
             String animationName = AnimationUtil.getAnimationName(cs);
@@ -589,21 +434,12 @@ public class Overlay extends PopupPanel implements CloseHandler<PopupPanel> {
                                             getElement(), animateInListener);
                                     removeStyleDependentName(
                                             ADDITIONAL_CLASSNAME_ANIMATE_IN);
-                                    if (isShadowEnabled()) {
-                                        shadow.removeClassName(CLASSNAME_SHADOW
-                                                + "-"
-                                                + ADDITIONAL_CLASSNAME_ANIMATE_IN);
-                                    }
                                 }
                             }
                         });
                 return true;
             } else {
                 removeStyleDependentName(ADDITIONAL_CLASSNAME_ANIMATE_IN);
-                if (isShadowEnabled()) {
-                    shadow.removeClassName(CLASSNAME_SHADOW + "-"
-                            + ADDITIONAL_CLASSNAME_ANIMATE_IN);
-                }
                 return false;
             }
         }
@@ -614,17 +450,12 @@ public class Overlay extends PopupPanel implements CloseHandler<PopupPanel> {
         super.onDetach();
 
         // Always ensure shadow is removed when the overlay is removed.
-        removeShadowIfPresent();
         removeShimElement();
     }
 
     @Override
     public void setVisible(boolean visible) {
         super.setVisible(visible);
-        if (isShadowEnabled()) {
-            shadow.getStyle().setProperty("visibility",
-                    visible ? "visible" : "hidden");
-        }
         if (isShimElementEnabled()) {
             shimElement.getStyle().setProperty("visibility",
                     visible ? "visible" : "hidden");
@@ -643,25 +474,6 @@ public class Overlay extends PopupPanel implements CloseHandler<PopupPanel> {
         positionOrSizeUpdated(1.0);
     }
 
-    /**
-     * Sets the shadow style for this overlay. Will override any previous style
-     * for the shadow. The default style name is defined by CLASSNAME_SHADOW.
-     * The given style will be prefixed with CLASSNAME_SHADOW.
-     *
-     * @param style
-     *            The new style name for the shadow element. Will be prefixed by
-     *            CLASSNAME_SHADOW, e.g. style=='foobar' -> actual style
-     *            name=='v-shadow-foobar'.
-     *
-     * @deprecated See main JavaDoc for Overlay
-     */
-    @Deprecated
-    protected void setShadowStyle(String style) {
-        if (isShadowEnabled()) {
-            shadow.setClassName(CLASSNAME_SHADOW + "-" + style);
-        }
-    }
-
     /**
      * Extending classes should always call this method after they change the
      * size of overlay without using normal 'setWidth(String)' and
@@ -715,7 +527,7 @@ public class Overlay extends PopupPanel implements CloseHandler<PopupPanel> {
             getOffsetWidth();
         }
 
-        if (isShadowEnabled() || needsShimElement()) {
+        if (needsShimElement()) {
 
             PositionAndSize positionAndSize = new PositionAndSize(
                     getActualLeft(), getActualTop(), getOffsetWidth(),
@@ -726,14 +538,6 @@ public class Overlay extends PopupPanel implements CloseHandler<PopupPanel> {
 
             Element container = getElement().getParentElement();
 
-            if (isShadowEnabled()) {
-                updateShadowPosition(progress, zIndex, positionAndSize);
-                if (shadow.getParentElement() == null) {
-                    container.insertBefore(shadow, getElement());
-                    sinkShadowEvents();
-                }
-            }
-
             if (needsShimElement()) {
                 updateShimPosition(positionAndSize);
                 if (shimElement.getParentElement() == null) {
@@ -741,43 +545,6 @@ public class Overlay 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()) {
-            WidgetUtil.forceIERedraw(getElement());
-        }
-    }
-
-    /**
-     * @deprecated See main JavaDoc for Overlay
-     */
-    @Deprecated
-    private void updateShadowPosition(final double progress, int zIndex,
-            PositionAndSize positionAndSize) {
-        // Opera needs some shaking to get parts of the shadow showing
-        // properly (ticket #2704)
-        if (BrowserInfo.get().isOpera()) {
-            // Clear the height of all middle elements
-            DOM.getChild(shadow, 3).getStyle().setProperty("height", "auto");
-            DOM.getChild(shadow, 4).getStyle().setProperty("height", "auto");
-            DOM.getChild(shadow, 5).getStyle().setProperty("height", "auto");
-        }
-
-        updatePositionAndSize(shadow, positionAndSize);
-        shadow.getStyle().setZIndex(zIndex);
-        shadow.getStyle().setProperty("display", progress < 0.9 ? "none" : "");
-
-        // Opera fix, part 2 (ticket #2704)
-        if (BrowserInfo.get().isOpera()) {
-            // We'll fix the height of all the middle elements
-            DOM.getChild(shadow, 3).getStyle().setPropertyPx("height",
-                    DOM.getChild(shadow, 3).getOffsetHeight());
-            DOM.getChild(shadow, 4).getStyle().setPropertyPx("height",
-                    DOM.getChild(shadow, 4).getOffsetHeight());
-            DOM.getChild(shadow, 5).getStyle().setPropertyPx("height",
-                    DOM.getChild(shadow, 5).getOffsetHeight());
-        }
     }
 
     private void updateShimPosition(PositionAndSize positionAndSize) {
@@ -811,72 +578,6 @@ public class Overlay extends PopupPanel implements CloseHandler<PopupPanel> {
         }
     }
 
-    @Override
-    public void onClose(CloseEvent<PopupPanel> event) {
-        removeShadowIfPresent();
-    }
-
-    @Override
-    public void sinkEvents(int eventBitsToAdd) {
-        super.sinkEvents(eventBitsToAdd);
-        // Also sink events on the shadow if present
-        sinkShadowEvents();
-    }
-
-    /**
-     * @deprecated See main JavaDoc for Overlay
-     */
-    @Deprecated
-    private void sinkShadowEvents() {
-        if (isSinkShadowEvents() && isShadowAttached()) {
-            // Sink the same events as the actual overlay has sunk
-            DOM.sinkEvents(shadow, DOM.getEventsSunk(getElement()));
-            // Send events to Overlay.onBrowserEvent
-            DOM.setEventListener(shadow, this);
-        }
-    }
-
-    /**
-     * @deprecated See main JavaDoc for Overlay
-     */
-    @Deprecated
-    private void unsinkShadowEvents() {
-        if (isShadowAttached()) {
-            DOM.setEventListener(shadow, null);
-            DOM.sinkEvents(shadow, 0);
-        }
-    }
-
-    /**
-     * Enables or disables sinking the events of the shadow to the same
-     * onBrowserEvent as events to the actual overlay goes.
-     *
-     * Please note, that if you enable this, you can't assume that e.g.
-     * event.getEventTarget returns an element inside the DOM structure of the
-     * overlay
-     *
-     * @param sinkShadowEvents
-     *
-     * @deprecated See main JavaDoc for Overlay
-     */
-    @Deprecated
-    protected void setSinkShadowEvents(boolean sinkShadowEvents) {
-        this.sinkShadowEvents = sinkShadowEvents;
-        if (sinkShadowEvents) {
-            sinkShadowEvents();
-        } else {
-            unsinkShadowEvents();
-        }
-    }
-
-    /**
-     * @deprecated See main JavaDoc for Overlay
-     */
-    @Deprecated
-    protected boolean isSinkShadowEvents() {
-        return sinkShadowEvents;
-    }
-
     /**
      * Get owner (Widget that made this Overlay, not the layout parent) of
      * Overlay
@@ -1011,80 +712,59 @@ public class Overlay extends PopupPanel implements CloseHandler<PopupPanel> {
      */
     public void hide(final boolean autoClosed, final boolean animateIn,
             final boolean animateOut) {
-        if (BrowserInfo.get().isIE8() || BrowserInfo.get().isIE9()) {
-            reallyHide(autoClosed);
+        if (animateIn
+                && getStyleName().contains(ADDITIONAL_CLASSNAME_ANIMATE_IN)) {
+            AnimationUtil.addAnimationEndListener(getElement(),
+                    new AnimationEndListener() {
+                        @Override
+                        public void onAnimationEnd(NativeEvent event) {
+                            if (AnimationUtil.getAnimationName(event).contains(
+                                    ADDITIONAL_CLASSNAME_ANIMATE_IN)) {
+                                reallyHide(autoClosed);
+                            }
+                        }
+                    });
         } else {
-            if (animateIn && getStyleName()
-                    .contains(ADDITIONAL_CLASSNAME_ANIMATE_IN)) {
+            // Check if animations are used
+            addStyleDependentName(ADDITIONAL_CLASSNAME_ANIMATE_OUT);
+            ComputedStyle cs = new ComputedStyle(getElement());
+            String animationName = AnimationUtil.getAnimationName(cs);
+            if (animationName == null) {
+                animationName = "";
+            }
+
+            if (animateOut && animationName
+                    .contains(ADDITIONAL_CLASSNAME_ANIMATE_OUT)) {
+                // Disable GWT PopupPanel closing animation if used
+                setAnimationEnabled(false);
+
                 AnimationUtil.addAnimationEndListener(getElement(),
                         new AnimationEndListener() {
                             @Override
                             public void onAnimationEnd(NativeEvent event) {
-                                if (AnimationUtil.getAnimationName(event)
-                                        .contains(
-                                                ADDITIONAL_CLASSNAME_ANIMATE_IN)) {
+                                String animationName = AnimationUtil
+                                        .getAnimationName(event);
+                                if (animationName.contains(
+                                        ADDITIONAL_CLASSNAME_ANIMATE_OUT)) {
+                                    AnimationUtil
+                                            .removeAllAnimationEndListeners(
+                                                    getElement());
+                                    // Remove both animation styles just in
+                                    // case
+                                    removeStyleDependentName(
+                                            ADDITIONAL_CLASSNAME_ANIMATE_IN);
+                                    removeStyleDependentName(
+                                            ADDITIONAL_CLASSNAME_ANIMATE_OUT);
                                     reallyHide(autoClosed);
                                 }
                             }
                         });
+                // No event previews should happen after the animation has
+                // started
+                Overlay.this.setPreviewingAllNativeEvents(false);
             } else {
-                // Check if animations are used
-                addStyleDependentName(ADDITIONAL_CLASSNAME_ANIMATE_OUT);
-                if (isShadowEnabled()) {
-                    shadow.addClassName(CLASSNAME_SHADOW + "-"
-                            + ADDITIONAL_CLASSNAME_ANIMATE_OUT);
-                }
-                ComputedStyle cs = new ComputedStyle(getElement());
-                String animationName = AnimationUtil.getAnimationName(cs);
-                if (animationName == null) {
-                    animationName = "";
-                }
-
-                if (animateOut && animationName
-                        .contains(ADDITIONAL_CLASSNAME_ANIMATE_OUT)) {
-                    // Disable GWT PopupPanel closing animation if used
-                    setAnimationEnabled(false);
-
-                    AnimationUtil.addAnimationEndListener(getElement(),
-                            new AnimationEndListener() {
-                                @Override
-                                public void onAnimationEnd(NativeEvent event) {
-                                    String animationName = AnimationUtil
-                                            .getAnimationName(event);
-                                    if (animationName.contains(
-                                            ADDITIONAL_CLASSNAME_ANIMATE_OUT)) {
-                                        AnimationUtil
-                                                .removeAllAnimationEndListeners(
-                                                        getElement());
-                                        // Remove both animation styles just in
-                                        // case
-                                        removeStyleDependentName(
-                                                ADDITIONAL_CLASSNAME_ANIMATE_IN);
-                                        removeStyleDependentName(
-                                                ADDITIONAL_CLASSNAME_ANIMATE_OUT);
-                                        if (isShadowEnabled()) {
-                                            shadow.removeClassName(
-                                                    CLASSNAME_SHADOW + "-"
-                                                            + ADDITIONAL_CLASSNAME_ANIMATE_IN);
-                                            shadow.removeClassName(
-                                                    CLASSNAME_SHADOW + "-"
-                                                            + ADDITIONAL_CLASSNAME_ANIMATE_OUT);
-                                        }
-                                        reallyHide(autoClosed);
-                                    }
-                                }
-                            });
-                    // No event previews should happen after the animation has
-                    // started
-                    Overlay.this.setPreviewingAllNativeEvents(false);
-                } else {
-                    removeStyleDependentName(ADDITIONAL_CLASSNAME_ANIMATE_OUT);
-                    if (isShadowEnabled()) {
-                        shadow.removeClassName(CLASSNAME_SHADOW + "-"
-                                + ADDITIONAL_CLASSNAME_ANIMATE_OUT);
-                    }
-                    reallyHide(autoClosed);
-                }
+                removeStyleDependentName(ADDITIONAL_CLASSNAME_ANIMATE_OUT);
+                reallyHide(autoClosed);
             }
         }
     }
index 35b225560ebf3d0c7b22b36751edefb259fe9278..739225e5948d8399621c3873e0838edfa332ae54 100644 (file)
@@ -13,8 +13,6 @@
     <inherits name="com.google.gwt.logging.Logging" />
     <set-property name="gwt.logging.enabled" value="TRUE" />
 
-    <inherits name="com.vaadin.VaadinBrowserSpecificOverrides" />
-
     <source path="client" />
     <source path="shared" />
 
@@ -42,8 +40,7 @@
     <!-- Use the new cross site linker to get a nocache.js without document.write -->
     <add-linker name="xsiframe" />
 
-    <!-- Remove IE6/IE7 permutation as they are not supported -->
-    <set-property name="user.agent" value="ie8,ie9,ie10,gecko1_8,safari" />
+    <set-property name="user.agent" value="gecko1_8,safari" />
 
     <!-- Pointer event support -->
     <define-property name="modernie" values="none,yes" />
         </none>
     </replace-with>
 
-    <replace-with class="com.vaadin.client.event.PointerEventSupportImplIE10">
-        <when-type-is class="com.vaadin.client.event.PointerEventSupportImpl" />
-        <when-property-is value="ie10" name="user.agent" />
-    </replace-with>
-
     <replace-with
         class="com.vaadin.client.communication.DefaultConnectionStateHandler">
         <when-type-is
diff --git a/client/src/main/resources/com/vaadin/VaadinBrowserSpecificOverrides.gwt.xml b/client/src/main/resources/com/vaadin/VaadinBrowserSpecificOverrides.gwt.xml
deleted file mode 100644 (file)
index ceedde5..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<module>
-    <!-- This GWT module defines the browser specific overrides used by Vaadin -->
-
-    <!-- Hint for WidgetSetBuilder not to automatically update the file -->
-    <!-- WS Compiler: manually edited -->
-
-    <!-- Fall through to this rule for everything but IE -->
-    <replace-with
-        class="com.vaadin.client.ui.upload.UploadIFrameOnloadStrategy">
-        <when-type-is
-            class="com.vaadin.client.ui.upload.UploadIFrameOnloadStrategy" />
-    </replace-with>
-
-    <replace-with
-        class="com.vaadin.client.ui.upload.UploadIFrameOnloadStrategyIE">
-        <when-type-is
-            class="com.vaadin.client.ui.upload.UploadIFrameOnloadStrategy" />
-        <any>
-            <when-property-is name="user.agent" value="ie8" />
-        </any>
-    </replace-with>
-
-    <!-- Fall through to this rule for everything but IE -->
-    <replace-with class="com.vaadin.client.ui.VDragAndDropWrapper">
-        <when-type-is class="com.vaadin.client.ui.VDragAndDropWrapper" />
-    </replace-with>
-
-    <replace-with class="com.vaadin.client.ui.VDragAndDropWrapperIE">
-        <when-type-is class="com.vaadin.client.ui.VDragAndDropWrapper" />
-        <any>
-            <when-property-is name="user.agent" value="ie8" />
-        </any>
-    </replace-with>
-
-    <!-- Fall through to this rule for everything but IE -->
-    <replace-with class="com.vaadin.client.LayoutManager">
-        <when-type-is class="com.vaadin.client.LayoutManager" />
-    </replace-with>
-
-    <replace-with class="com.vaadin.client.LayoutManagerIE8">
-        <when-type-is class="com.vaadin.client.LayoutManager" />
-        <any>
-            <when-property-is name="user.agent" value="ie8" />
-        </any>
-    </replace-with>
-
-</module>
index c7eaf306fefae2e15f67dd36dbef235a3af47ee4..a52c5d63a9e6328900a2774d667ad939bb6d080b 100644 (file)
@@ -22,17 +22,6 @@ public class VBrowserDetailsUserAgentParserTest {
     private static final String FIREFOX_40B11_WIN = "Mozilla/5.0 (Windows NT 5.1; rv:2.0b11) Gecko/20100101 Firefox/4.0b11";
     private static final String KONQUEROR_LINUX = "Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.5 (like Gecko) (Exabot-Thumbnails)";
 
-    private static final String IE6_WINDOWS = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)";
-    private static final String IE7_WINDOWS = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)";
-
-    private static final String IE8_WINDOWS = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2)";
-    private static final String IE8_IN_IE7_MODE_WINDOWS = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2)";
-
-    private static final String IE9_IN_IE7_MODE_WINDOWS_7 = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)";
-    private static final String IE9_BETA_IN_IE8_MODE_WINDOWS_7 = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)";
-    private static final String IE9_BETA_WINDOWS_7 = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)";
-
-    private static final String IE10_WINDOWS_8 = "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)";
     private static final String IE11_WINDOWS_7 = "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; rv:11.0) like Gecko";
     private static final String IE11_WINDOWS_PHONE_8_1_UPDATE = "Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 920) Like iPhone OS 7_0_3 Mac OS X AppleWebKit/537 (KHTML, like Gecko) Mobile Safari/537";
 
@@ -343,106 +332,6 @@ public class VBrowserDetailsUserAgentParserTest {
         assertWindows(bd);
     }
 
-    @Test
-    public void testIE6() {
-        VBrowserDetails bd = new VBrowserDetails(IE6_WINDOWS);
-        assertEngineVersion(bd, -1);
-        assertIE(bd);
-        assertBrowserMajorVersion(bd, 6);
-        assertBrowserMinorVersion(bd, 0);
-        assertWindows(bd);
-    }
-
-    @Test
-    public void testIE7() {
-        VBrowserDetails bd = new VBrowserDetails(IE7_WINDOWS);
-        assertEngineVersion(bd, -1);
-        assertIE(bd);
-        assertBrowserMajorVersion(bd, 7);
-        assertBrowserMinorVersion(bd, 0);
-        assertWindows(bd);
-    }
-
-    @Test
-    public void testIE8() {
-        VBrowserDetails bd = new VBrowserDetails(IE8_WINDOWS);
-        assertTrident(bd);
-        assertEngineVersion(bd, 4);
-        assertIE(bd);
-        assertBrowserMajorVersion(bd, 8);
-        assertBrowserMinorVersion(bd, 0);
-        assertWindows(bd);
-    }
-
-    @Test
-    public void testIE8CompatibilityMode() {
-        VBrowserDetails bd = new VBrowserDetails(IE8_IN_IE7_MODE_WINDOWS);
-        bd.setIEMode(7);
-
-        assertTrident(bd);
-        assertEngineVersion(bd, 4);
-        assertIE(bd);
-        assertBrowserMajorVersion(bd, 7);
-        assertBrowserMinorVersion(bd, 0);
-
-        assertWindows(bd);
-    }
-
-    @Test
-    public void testIE9() {
-        VBrowserDetails bd = new VBrowserDetails(IE9_BETA_WINDOWS_7);
-        assertTrident(bd);
-        assertEngineVersion(bd, 5);
-        assertIE(bd);
-        assertBrowserMajorVersion(bd, 9);
-        assertBrowserMinorVersion(bd, 0);
-        assertWindows(bd);
-    }
-
-    @Test
-    public void testIE9InIE7CompatibilityMode() {
-        VBrowserDetails bd = new VBrowserDetails(IE9_IN_IE7_MODE_WINDOWS_7);
-        // bd.setIE8InCompatibilityMode();
-
-        assertTrident(bd);
-        assertEngineVersion(bd, 5);
-        assertIE(bd);
-        assertBrowserMajorVersion(bd, 7);
-        assertBrowserMinorVersion(bd, 0);
-
-        assertWindows(bd);
-    }
-
-    @Test
-    public void testIE9InIE8CompatibilityMode() {
-        VBrowserDetails bd = new VBrowserDetails(
-                IE9_BETA_IN_IE8_MODE_WINDOWS_7);
-        // bd.setIE8InCompatibilityMode();
-
-        /*
-         * Trident/4.0 in example user agent string based on beta even though it
-         * should be Trident/5.0 in real (non-beta) user agent strings
-         */
-        assertTrident(bd);
-        assertEngineVersion(bd, 4);
-        assertIE(bd);
-        assertBrowserMajorVersion(bd, 8);
-        assertBrowserMinorVersion(bd, 0);
-
-        assertWindows(bd);
-    }
-
-    @Test
-    public void testIE10() {
-        VBrowserDetails bd = new VBrowserDetails(IE10_WINDOWS_8);
-        assertTrident(bd);
-        assertEngineVersion(bd, 6);
-        assertIE(bd);
-        assertBrowserMajorVersion(bd, 10);
-        assertBrowserMinorVersion(bd, 0);
-        assertWindows(bd);
-    }
-
     @Test
     public void testIE11() {
         VBrowserDetails bd = new VBrowserDetails(IE11_WINDOWS_7);
@@ -679,3 +568,4 @@ public class VBrowserDetailsUserAgentParserTest {
     }
 
 }
+
index e776e007fd8d370a6f371c0faea62cd0a885efd1..001d00be49ab500548963789f08b1336e1b3f026 100644 (file)
@@ -40,7 +40,6 @@ $v-line-height: $line-height !default;
 @import "popupview/popupview.scss";
 @import "progressindicator/progressindicator.scss";
 @import "select/select.scss";
-@import "shadow/shadow.scss";
 @import "slider/slider.scss";
 @import "splitpanel/splitpanel.scss";
 @import "table/table.scss";
@@ -117,7 +116,6 @@ $v-line-height: $line-height !default;
        @include base-progressindicator(v-progressindicator);
 
        @include base-select;
-       @include base-shadow;
        @include base-slider;
        @include base-splitpanel;
        @include base-table;
diff --git a/themes/src/main/themes/VAADIN/themes/base/shadow/img/bottom-left.png b/themes/src/main/themes/VAADIN/themes/base/shadow/img/bottom-left.png
deleted file mode 100644 (file)
index 6b2cd00..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/base/shadow/img/bottom-left.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/base/shadow/img/bottom-right.png b/themes/src/main/themes/VAADIN/themes/base/shadow/img/bottom-right.png
deleted file mode 100644 (file)
index c5c10a7..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/base/shadow/img/bottom-right.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/base/shadow/img/bottom.png b/themes/src/main/themes/VAADIN/themes/base/shadow/img/bottom.png
deleted file mode 100644 (file)
index 14935a8..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/base/shadow/img/bottom.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/base/shadow/img/center.png b/themes/src/main/themes/VAADIN/themes/base/shadow/img/center.png
deleted file mode 100644 (file)
index 1db9a53..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/base/shadow/img/center.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/base/shadow/img/left.png b/themes/src/main/themes/VAADIN/themes/base/shadow/img/left.png
deleted file mode 100644 (file)
index 45634c0..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/base/shadow/img/left.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/base/shadow/img/right.png b/themes/src/main/themes/VAADIN/themes/base/shadow/img/right.png
deleted file mode 100644 (file)
index 619c403..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/base/shadow/img/right.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/base/shadow/img/top-left.png b/themes/src/main/themes/VAADIN/themes/base/shadow/img/top-left.png
deleted file mode 100644 (file)
index 10e7438..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/base/shadow/img/top-left.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/base/shadow/img/top-right.png b/themes/src/main/themes/VAADIN/themes/base/shadow/img/top-right.png
deleted file mode 100644 (file)
index 2088806..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/base/shadow/img/top-right.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/base/shadow/img/top.png b/themes/src/main/themes/VAADIN/themes/base/shadow/img/top.png
deleted file mode 100644 (file)
index 9daf3f4..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/base/shadow/img/top.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/base/shadow/shadow.scss b/themes/src/main/themes/VAADIN/themes/base/shadow/shadow.scss
deleted file mode 100644 (file)
index b690ce0..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-@mixin base-shadow($primaryStyleName : v-shadow) {
-
-.#{$primaryStyleName} {
-       position: absolute;
-       display: none;
-       pointer-events: none;
-}
-
-.#{$primaryStyleName} .top-left {
-    position: absolute; overflow: hidden;
-    top: -3px;             left: -5px;
-    width: 10px;         height: 10px;
-    background: transparent url(img/top-left.png);
-}
-
-.#{$primaryStyleName} .top {
-    position: absolute; overflow: hidden;
-    top: -3px;             left: 5px;
-    height: 10px;           right: 5px;
-    background: transparent url(img/top.png);
-}
-
-.#{$primaryStyleName} .top-right {
-    position: absolute; overflow: hidden;
-    top: -3px;             right: -5px;
-    width: 10px;         height: 10px;
-    background: transparent url(img/top-right.png);
-}
-
-.#{$primaryStyleName} .left {
-    position: absolute; overflow: hidden;
-    top: 7px;           left: -5px;
-    width: 10px;
-    bottom: 3px;
-    background: transparent url(img/left.png);
-}
-
-.#{$primaryStyleName} .center {
-    position: absolute; overflow: hidden;
-    top: 7px;           left: 5px;
-    bottom: 3px;        right: 5px;
-    background: transparent url(img/center.png);
-}
-
-.#{$primaryStyleName} .right {
-    position: absolute; overflow: hidden;
-    top: 7px;           right: -5px;
-    width: 10px;
-    bottom: 3px;
-    background: transparent url(img/right.png);
-}
-
-.#{$primaryStyleName} .bottom-left {
-    position: absolute; overflow: hidden;
-    bottom: -7px;           left: -5px;
-    width: 10px;          height: 10px;
-    background: transparent url(img/bottom-left.png);
-}
-
-.#{$primaryStyleName} .bottom {
-    position: absolute; overflow: hidden;
-    bottom: -7px;           left: 5px;
-    right: 5px;          height: 10px;
-    background: transparent url(img/bottom.png);
-}
-
-.#{$primaryStyleName} .bottom-right {
-    position: absolute; overflow: hidden;
-    bottom: -7px;           right: -5px;
-    width: 10px;          height: 10px;
-    background: transparent url(img/bottom-right.png);
-}
-
-}
diff --git a/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/bottom-left.png b/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/bottom-left.png
deleted file mode 100644 (file)
index f40e53f..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/bottom-left.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/bottom-right.png b/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/bottom-right.png
deleted file mode 100644 (file)
index 8ef8376..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/bottom-right.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/bottom.png b/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/bottom.png
deleted file mode 100644 (file)
index 8909631..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/bottom.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/center.png b/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/center.png
deleted file mode 100644 (file)
index 1db9a53..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/center.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/left.png b/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/left.png
deleted file mode 100644 (file)
index bc526b1..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/left.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/right.png b/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/right.png
deleted file mode 100644 (file)
index b837d90..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/right.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/top-left.png b/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/top-left.png
deleted file mode 100644 (file)
index abd7943..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/top-left.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/top-right.png b/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/top-right.png
deleted file mode 100644 (file)
index d54b748..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/top-right.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/top.png b/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/top.png
deleted file mode 100644 (file)
index 4d5272e..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/base/window/img/shadow/top.png and /dev/null differ
index e264c486e962f2ddc20ac6b565c8574d7d26e566..a0f68e25230bd26ee205fda87a9d1e47bc12e8ef 100644 (file)
@@ -123,69 +123,4 @@ div.#{$primaryStyleName}-header {
        height: 100%;
        filter: alpha(opacity=50);
 }
-/* Shadow for window */
-.v-shadow-window {
-       position: absolute;
-       display: none;
-       pointer-events: none;
-
-}
-.v-shadow-window .top-left {
-    position: absolute; overflow: hidden;
-    top: -10px;             left: -15px;
-    width: 28px;         height: 28px;
-    background: transparent url(img/shadow/top-left.png);
-}
-.v-shadow-window .top {
-    position: absolute; overflow: hidden;
-    top: -10px;             left: 13px;
-    height: 28px;
-    right: 13px;
-    background: transparent url(img/shadow/top.png);
-}
-.v-shadow-window .top-right {
-    position: absolute; overflow: hidden;
-    top: -10px;             right: -15px;
-    width: 28px;         height: 28px;
-    background: transparent url(img/shadow/top-right.png);
-}
-.v-shadow-window .left {
-    position: absolute; overflow: hidden;
-    top: 18px;           left: -15px;
-    width: 28px;
-    bottom: 10px;
-    background: transparent url(img/shadow/left.png);
-}
-.v-shadow-window .center {
-    position: absolute; overflow: hidden;
-    top: 18px;           left: 13px;
-    bottom: 10px;        right: 13px;
-    background: transparent url(img/shadow/center.png);
-}
-.v-shadow-window .right {
-    position: absolute; overflow: hidden;
-    top: 18px;           right: -15px;
-    width: 28px;
-    bottom: 10px;
-    background: transparent url(img/shadow/right.png);
-}
-.v-shadow-window .bottom-left {
-    position: absolute; overflow: hidden;
-    bottom: -18px;           left: -15px;
-    width: 28px;          height: 28px;
-    background: transparent url(img/shadow/bottom-left.png);
-}
-.v-shadow-window .bottom {
-    position: absolute; overflow: hidden;
-    bottom: -18px;           left: 13px;
-    right: 13px;          height: 28px;
-    background: transparent url(img/shadow/bottom.png);
-}
-.v-shadow-window .bottom-right {
-    position: absolute; overflow: hidden;
-    bottom: -18px;           right: -15px;
-    width: 28px;          height: 28px;
-    background: transparent url(img/shadow/bottom-right.png);
-}
-
 }
index d481476d4caf9d931de5362b27428de9c2e352b4..3c1110968b8215a6788c11a3648809d4d0ffb80a 100644 (file)
@@ -39,7 +39,6 @@ $v-grid-header-background-color: #e7e9ea !default;
 @import "popupview/popupview.scss";
 @import "progressindicator/progressindicator.scss";
 @import "select/select.scss";
-@import "shadow/shadow.scss";
 @import "slider/slider.scss";
 @import "splitpanel/splitpanel.scss";
 @import "table/table.scss";
@@ -82,7 +81,6 @@ $v-grid-header-background-color: #e7e9ea !default;
        @include runo-progressindicator(v-progressindicator);
 
        @include runo-select;
-       @include runo-shadow;
        @include runo-slider;
        @include runo-splitpanel;
        @include runo-table;
diff --git a/themes/src/main/themes/VAADIN/themes/runo/shadow/img/bottom-left.png b/themes/src/main/themes/VAADIN/themes/runo/shadow/img/bottom-left.png
deleted file mode 100644 (file)
index b119a13..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/runo/shadow/img/bottom-left.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/runo/shadow/img/bottom-right.png b/themes/src/main/themes/VAADIN/themes/runo/shadow/img/bottom-right.png
deleted file mode 100644 (file)
index 50aaa3b..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/runo/shadow/img/bottom-right.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/runo/shadow/img/bottom.png b/themes/src/main/themes/VAADIN/themes/runo/shadow/img/bottom.png
deleted file mode 100644 (file)
index 96af859..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/runo/shadow/img/bottom.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/runo/shadow/img/center.png b/themes/src/main/themes/VAADIN/themes/runo/shadow/img/center.png
deleted file mode 100644 (file)
index d6fb99a..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/runo/shadow/img/center.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/runo/shadow/img/left.png b/themes/src/main/themes/VAADIN/themes/runo/shadow/img/left.png
deleted file mode 100644 (file)
index 4c3611c..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/runo/shadow/img/left.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/runo/shadow/img/right.png b/themes/src/main/themes/VAADIN/themes/runo/shadow/img/right.png
deleted file mode 100644 (file)
index 34a46e7..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/runo/shadow/img/right.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/runo/shadow/img/top-left.png b/themes/src/main/themes/VAADIN/themes/runo/shadow/img/top-left.png
deleted file mode 100644 (file)
index 27cf4d3..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/runo/shadow/img/top-left.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/runo/shadow/img/top-right.png b/themes/src/main/themes/VAADIN/themes/runo/shadow/img/top-right.png
deleted file mode 100644 (file)
index 7f187ca..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/runo/shadow/img/top-right.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/runo/shadow/img/top.png b/themes/src/main/themes/VAADIN/themes/runo/shadow/img/top.png
deleted file mode 100644 (file)
index b654d78..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/runo/shadow/img/top.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/runo/shadow/shadow.scss b/themes/src/main/themes/VAADIN/themes/runo/shadow/shadow.scss
deleted file mode 100644 (file)
index f24cab1..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-@mixin runo-shadow($primaryStyleName : v-shadow) {
-
-.#{$primaryStyleName} {
-       position: absolute;
-}
-
-.#{$primaryStyleName} .top-left {
-    position: absolute; overflow: hidden;
-    top: -3px;             left: -4px;
-    width: 8px;         height: 8px;
-    background: transparent url(img/top-left.png);
-}
-
-.#{$primaryStyleName} .top {
-    position: absolute; overflow: hidden;
-    top: -3px;             left: 4px;
-    height: 8px;           right: 4px;
-    background: transparent url(img/top.png);
-}
-
-.#{$primaryStyleName} .top-right {
-    position: absolute; overflow: hidden;
-    top: -3px;             right: -4px;
-    width: 8px;         height: 8px;
-    background: transparent url(img/top-right.png);
-}
-
-.#{$primaryStyleName} .left {
-    position: absolute; overflow: hidden;
-    top: 5px;           left: -4px;
-    width: 8px;
-    bottom: 3px;
-    background: transparent url(img/left.png);
-}
-
-.#{$primaryStyleName} .center {
-    position: absolute; overflow: hidden;
-    top: 5px;           left: 4px;
-    bottom: 3px;        right: 4px;
-    background: transparent url(img/center.png);
-}
-
-.#{$primaryStyleName} .right {
-    position: absolute; overflow: hidden;
-    top: 5px;           right: -4px;
-    width: 8px;
-    bottom: 3px;
-    background: transparent url(img/right.png);
-}
-
-.#{$primaryStyleName} .bottom-left {
-    position: absolute; overflow: hidden;
-    bottom: -5px;           left: -4px;
-    width: 8px;          height: 8px;
-    background: transparent url(img/bottom-left.png);
-}
-
-.#{$primaryStyleName} .bottom {
-    position: absolute; overflow: hidden;
-    bottom: -5px;           left: 4px;
-    right: 4px;          height: 8px;
-    background: transparent url(img/bottom.png);
-}
-
-.#{$primaryStyleName} .bottom-right {
-    position: absolute; overflow: hidden;
-    bottom: -5px;           right: -4px;
-    width: 8px;          height: 8px;
-    background: transparent url(img/bottom-right.png);
-}
-
-}
\ No newline at end of file
diff --git a/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/bottom-left.png b/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/bottom-left.png
deleted file mode 100644 (file)
index 1ffd763..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/bottom-left.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/bottom-right.png b/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/bottom-right.png
deleted file mode 100644 (file)
index af3552a..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/bottom-right.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/bottom.png b/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/bottom.png
deleted file mode 100644 (file)
index ed24b66..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/bottom.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/center.png b/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/center.png
deleted file mode 100644 (file)
index f3825db..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/center.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/left.png b/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/left.png
deleted file mode 100644 (file)
index 4c0b430..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/left.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/right.png b/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/right.png
deleted file mode 100644 (file)
index f81cfa0..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/right.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/top-left.png b/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/top-left.png
deleted file mode 100644 (file)
index 7f79389..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/top-left.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/top-right.png b/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/top-right.png
deleted file mode 100644 (file)
index feb490d..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/top-right.png and /dev/null differ
diff --git a/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/top.png b/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/top.png
deleted file mode 100644 (file)
index 10bcc45..0000000
Binary files a/themes/src/main/themes/VAADIN/themes/runo/window/img/shadow/top.png and /dev/null differ
index bf2081674c404bf5977b882376d5b828da5ca705..9b298309c32f0e14749a85764a7803de89348c3f 100644 (file)
        }
 }
 
-/* Shadow for window */
-.v-shadow-window .top-left {
-    top: -13px;             left: -20px;
-    width: 39px;         height: 39px;
-    background: transparent url(img/shadow/top-left.png);
-}
-.v-shadow-window .top {
-    top: -13px;             left: 19px;
-    height: 39px;
-    right: 19px;
-    background: transparent url(img/shadow/top.png);
-}
-.v-shadow-window .top-right {
-    top: -13px;             right: -20px;
-    width: 39px;         height: 39px;
-    background: transparent url(img/shadow/top-right.png);
-}
-.v-shadow-window .left {
-    top: 26px;           left: -20px;
-    width: 39px;
-    bottom: 12px;
-    background: transparent url(img/shadow/left.png);
-}
-.v-shadow-window .center {
-    top: 26px;           left: 19px;
-    bottom: 12px;        right: 19px;
-    background: transparent url(img/shadow/center.png);
-}
-.v-shadow-window .right {
-    top: 26px;           right: -20px;
-    width: 39px;
-    bottom: 12px;
-    background: transparent url(img/shadow/right.png);
-}
-.v-shadow-window .bottom-left {
-    bottom: -27px;           left: -20px;
-    width: 39px;          height: 39px;
-    background: transparent url(img/shadow/bottom-left.png);
-}
-.v-shadow-window .bottom {
-    bottom: -27px;           left: 19px;
-    right: 19px;          height: 39px;
-    background: transparent url(img/shadow/bottom.png);
-}
-.v-shadow-window .bottom-right {
-    bottom: -27px;           right: -20px;
-    width: 39px;          height: 39px;
-    background: transparent url(img/shadow/bottom-right.png);
-}
-
 }
\ No newline at end of file
index 5af159b4ff200cc3a64c91a203aa6c5ab960cd79..1c6f0c6fbc4415816e03d800f3eb946556d363ce 100644 (file)
@@ -144,56 +144,6 @@ $v-selection-item-font-weight: max(400, $v-font-weight);
  */
 $v-selection-item-selection-color: $v-selection-color !default;
 
-
-
-
-
-/*
- * Simulates CSS box-shadow using the extraneous shadow elements in the DOM.
- *
- * @access private
- * @deprecated The .v-shadow element is deprecated since 7.3.0
- * @group overlay
- */
-@mixin valo-ie8-shadow($shadow, $element: top) {
-  .#{$element} {
-    $shadow-offset-x: nth($shadow, 1);
-    $shadow-offset-y: nth($shadow, 2);
-    $shadow-blur: nth($shadow, 3);
-    $shadow-spread: 0;
-    @if length($shadow) > 4 {
-      $shadow-spread: nth($shadow, 4);
-    }
-    $shadow-color: last($shadow);
-    $shadow-color-opacity: round(opacity($shadow-color) * 100);
-    $shadow-color: opacify($shadow-color, 1);
-
-    position: absolute;
-    top: $shadow-offset-y - $shadow-blur - $shadow-spread;
-    right: -$shadow-offset-x + $shadow-blur - $shadow-spread;
-    bottom: -$shadow-offset-y + $shadow-blur - $shadow-spread;
-    left: $shadow-offset-x - $shadow-blur - $shadow-spread;
-    background: $shadow-color;
-    filter: alpha(opacity=#{$shadow-color-opacity}) progid:DXImageTransform.Microsoft.blur(pixelradius=#{strip-units($shadow-blur)}, makeShadow=false);
-  }
-}
-
-
-
-
-
-// Not needed in modern browsers
-.v-shadow,
-.v-shadow-window {
-  display: none;
-}
-
-
-
-
-
-
-
 /**
  * Outputs styles for overlay elements
  *