]> source.dussan.org Git - vaadin-framework.git/commitdiff
Fixes a few Escalator regressions relating to IE8 and IE9 (#13334)
authorHenrik Paul <henrik@vaadin.com>
Tue, 18 Mar 2014 14:20:22 +0000 (16:20 +0200)
committerHenrik Paul <henrik@vaadin.com>
Thu, 10 Apr 2014 12:06:31 +0000 (15:06 +0300)
Change-Id: I3446d1f781f5aa5e3262a20f51999b0a52d48dd3

WebContent/VAADIN/themes/base/escalator/escalator.scss
client/src/com/vaadin/client/ui/grid/ScrollbarBundle.java

index 6f85a541eefc70eeb5fe15e630a40d0b3d014946..c6438ac9cc08620084b206d262e2f9985e4649bc 100644 (file)
@@ -67,15 +67,18 @@ $border-color: #aaa;
 .#{$primaryStyleName}-row {
        display: block;
        
-       .v-ie8 & {
-               /* IE8 doesn't let table rows be longer than body only with display block. Moar hax. */
+       .v-ie8 &, .v-ie9 & {
+               /* 
+                * Neither IE8 nor IE9 let table rows be longer than tbody, with only 
+                * "display: block". Moar hax. 
+                */
                float: left;
                clear: left;
                
                /* 
-                * The inline style of margin-top from the <tbody> to offset the header's dimension is, 
-                * for some strange reason, inherited into each contained <tr>. 
-                * We need to cancel it: 
+                * The inline style of margin-top from the <tbody> to offset the 
+                * header's dimension is, for some strange reason, inherited into each
+                * contained <tr>. We need to cancel it:
                 */
                margin-top: 0;
        }
index 1f637a9cccd233a23aa623526d8b957c4a897410..3f387abfef4ab9af6e4a6155e09f90d68cddcaa8 100644 (file)
@@ -312,7 +312,7 @@ abstract class ScrollbarBundle {
      *            the length of the scrollbar in pixels
      */
     public final void setOffsetSize(double px) {
-        internalSetOffsetSize(truncate(px));
+        internalSetOffsetSize(Math.max(0, truncate(px)));
         forceScrollbar(showsScrollHandle());
         recalculateMaxScrollPos();
         fireVisibilityChangeIfNeeded();
@@ -360,7 +360,7 @@ abstract class ScrollbarBundle {
              * large numbers (as of today, 25.3.2014). This double-ranged is
              * only facilitating future virtual scrollbars.
              */
-            internalSetScrollPos(toInt32(px));
+            internalSetScrollPos(toInt32(scrollPos));
         }
     }
 
@@ -445,7 +445,7 @@ abstract class ScrollbarBundle {
      *            through
      */
     public final void setScrollSize(double px) {
-        internalSetScrollSize(toInt32(truncate(px)));
+        internalSetScrollSize(toInt32(Math.max(0, truncate(px))));
         forceScrollbar(showsScrollHandle());
         recalculateMaxScrollPos();
         fireVisibilityChangeIfNeeded();
@@ -485,7 +485,7 @@ abstract class ScrollbarBundle {
      */
     public final void setScrollbarThickness(int px) {
         isInvisibleScrollbar = (px == 0);
-        internalSetScrollbarThickness(px != 0 ? px
+        internalSetScrollbarThickness(px != 0 ? Math.max(0, px)
                 : OSX_INVISIBLE_SCROLLBAR_FAKE_SIZE_PX);
     }
 
@@ -572,7 +572,6 @@ abstract class ScrollbarBundle {
         }
     }
 
-
     /**
      * Converts a double into an integer by JavaScript's terms.
      * <p>