diff options
-rw-r--r-- | WebContent/VAADIN/themes/runo/table/table.css | 10 | ||||
-rw-r--r-- | src/com/vaadin/terminal/gwt/client/ApplicationConfiguration.java | 31 |
2 files changed, 16 insertions, 25 deletions
diff --git a/WebContent/VAADIN/themes/runo/table/table.css b/WebContent/VAADIN/themes/runo/table/table.css index f09dc0e3bb..2b2bcbce05 100644 --- a/WebContent/VAADIN/themes/runo/table/table.css +++ b/WebContent/VAADIN/themes/runo/table/table.css @@ -158,7 +158,15 @@ tr.v-table-row-odd:hover { /* IE6 hack */ .v-ie6 .v-table-scrollposition { background: transparent; - zoom: expression((function(e) {vaadin.setAlphaImageLoader(e, "../runo/table/img/scroll-position-bg.png", "scale")})(this)); + /* + AlphaImageLoader uses src attribute relative to host page, not CSS + We need multiple different filters because we cannot be sure how host page is served compared to theme resources + TODO: This actually does not work as expected, since only the last filter is applied. Can we chain filters together (i.e. contain all versions on one line)? + */ + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../../VAADIN/themes/default/table/img/scroll-position-bg.png", sizingMethod="scale"); + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../VAADIN/themes/default/table/img/scroll-position-bg.png", sizingMethod="scale"); + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="VAADIN/themes/default/table/img/scroll-position-bg.png", sizingMethod="scale"); + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="/VAADIN/themes/default/table/img/scroll-position-bg.png", sizingMethod="scale"); } diff --git a/src/com/vaadin/terminal/gwt/client/ApplicationConfiguration.java b/src/com/vaadin/terminal/gwt/client/ApplicationConfiguration.java index f87ec51b93..6787b36022 100644 --- a/src/com/vaadin/terminal/gwt/client/ApplicationConfiguration.java +++ b/src/com/vaadin/terminal/gwt/client/ApplicationConfiguration.java @@ -361,7 +361,7 @@ public class ApplicationConfiguration implements EntryPoint { cmd.execute(); } callbacks.clear(); - } else if (widgetsLoading == 0 && deferredWidgetLoader != null) { + } else if(widgetsLoading == 0 && deferredWidgetLoader != null) { deferredWidgetLoader.trigger(); } @@ -377,17 +377,17 @@ public class ApplicationConfiguration implements EntryPoint { int communicationFree = 0; int nextWidgetIndex = 0; private boolean pending; - + public DeferredWidgetLoader() { schedule(5000); } public void trigger() { - if (!pending) { + if(!pending) { schedule(FREE_CHECK_TIMEOUT); } } - + @Override public void schedule(int delayMillis) { super.schedule(delayMillis); @@ -438,14 +438,13 @@ public class ApplicationConfiguration implements EntryPoint { return communicationFree < FREE_LIMIT; } } - + private static DeferredWidgetLoader deferredWidgetLoader; - + public void onModuleLoad() { - boolean isIE6 = BrowserInfo.get().isIE6(); // Enable IE6 Background image caching - if (isIE6) { + if (BrowserInfo.get().isIE6()) { enableIE6BackgroundImageCache(); } // Prepare VConsole for debugging @@ -474,25 +473,9 @@ public class ApplicationConfiguration implements EntryPoint { }); initConfigurations(); - - // Set up hack for finding transparent theme resources in IE6 - if (isIE6 && !unstartedApplications.isEmpty()) { - String themeUri = unstartedApplications.get(0).getThemeUri(); - initAlphaImageLoader(themeUri); - } - startNextApplication(); } - private static native void initAlphaImageLoader(String themeBase) - /*-{ - // Used to enable defining AlphaImageLoader filters with the src path relative to the theme directory for IE6 - $wnd.vaadin.setAlphaImageLoader = function(element, image, sizingMethod) { - element.runtimeStyle.zoom="1"; //Reset the zoom definition to avoid running the expression again - element.runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+themeBase+'/'+image+"', sizingMethod='"+(themeBase||"crop")+"')"; - } - }-*/; - // From ImageSrcIE6 private static native void enableIE6BackgroundImageCache() /*-{ |