import java.util.Map;
import java.util.Set;
+import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.DOM;
+import com.google.gwt.user.client.DeferredCommand;
import com.google.gwt.user.client.Element;
+import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.Widget;
return detectedScrollbarSize;
}
+ /**
+ * Run workaround for webkits overflow auto issue.
+ *
+ * See: our buh #2138 and https://bugs.webkit.org/show_bug.cgi?id=21462
+ *
+ * @param elem
+ * with overflow auto
+ */
+ public static void runWebkitOverflowAutoFix(final Element elem) {
+ // add max version if fix landes sometime to webkit
+ if (BrowserInfo.get().getWebkitVersion() > 0) {
+ DeferredCommand.addCommand(new Command() {
+ public void execute() {
+ // Dough, safari scoll auto means actually just a moped
+ elem.getStyle().setProperty("overflow", "hidden");
+ (new Timer() {
+ @Override
+ public void run() {
+ elem.getStyle().setProperty("overflow", "auto");
+ }
+ }).schedule(1);
+ }
+ });
+ }
+
+ }
+
}
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.DeferredCommand;
import com.google.gwt.user.client.Element;
-import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.ComplexPanel;
import com.google.gwt.user.client.ui.Widget;
import com.itmill.toolkit.terminal.gwt.client.Paintable;
import com.itmill.toolkit.terminal.gwt.client.RenderSpace;
import com.itmill.toolkit.terminal.gwt.client.UIDL;
+import com.itmill.toolkit.terminal.gwt.client.Util;
public class IAccordion extends ITabsheetBase implements
ContainerResizedListener {
client.runDescendentsLayout(item);
- if (BrowserInfo.get().getWebkitVersion() > 0) {
- final Element selectedTabContent = getSelectedStack()
- .getContainerElement();
- DeferredCommand.addCommand(new Command() {
- public void execute() {
- // Dough, safari scoll auto means actually just a moped
- selectedTabContent.getStyle().setProperty("overflow",
- "hidden");
- (new Timer() {
- @Override
- public void run() {
- selectedTabContent.getStyle().setProperty(
- "overflow", "auto");
- }
- }).schedule(1);
- }
- });
- }
+ Util.runWebkitOverflowAutoFix(getSelectedStack().getContainerElement());
+
}
/**
import java.util.Set;
-import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.DOM;
-import com.google.gwt.user.client.DeferredCommand;
import com.google.gwt.user.client.Element;
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.itmill.toolkit.terminal.gwt.client.ApplicationConnection;
}
}
- if (BrowserInfo.get().getWebkitVersion() > 0) {
- DeferredCommand.addCommand(new Command() {
- public void execute() {
- // Dough, safari scoll auto means actually just a moped
- contentNode.getStyle().setProperty("overflow", "hidden");
- (new Timer() {
- @Override
- public void run() {
- contentNode.getStyle().setProperty("overflow",
- "auto");
- }
- }).schedule(1);
- }
- });
- }
-
client.runDescendentsLayout(this);
+
+ Util.runWebkitOverflowAutoFix(contentNode);
+
}
@Override
renderInformation.updateSize(getElement());
+ // fixes scrollbars sometimes seen on webkit 528.5, but not in Safari
+ // 3.1
+ Util.runWebkitOverflowAutoFix(secondContainer);
+
}
private void setFirstWidget(Widget w) {
import com.google.gwt.user.client.DeferredCommand;
import com.google.gwt.user.client.Element;
import com.google.gwt.user.client.Event;
-import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.ComplexPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Widget;
import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection;
-import com.itmill.toolkit.terminal.gwt.client.BrowserInfo;
import com.itmill.toolkit.terminal.gwt.client.ContainerResizedListener;
import com.itmill.toolkit.terminal.gwt.client.ICaption;
import com.itmill.toolkit.terminal.gwt.client.Paintable;
import com.itmill.toolkit.terminal.gwt.client.RenderInformation;
import com.itmill.toolkit.terminal.gwt.client.RenderSpace;
import com.itmill.toolkit.terminal.gwt.client.UIDL;
+import com.itmill.toolkit.terminal.gwt.client.Util;
public class ITabsheet extends ITabsheetBase implements
ContainerResizedListener {
updateTabScroller();
- if (BrowserInfo.get().getWebkitVersion() > 0) {
- DeferredCommand.addCommand(new Command() {
- public void execute() {
- // Dough, safari scoll auto means actually just a moped
- contentNode.getStyle().setProperty("overflow", "hidden");
- (new Timer() {
- @Override
- public void run() {
- contentNode.getStyle().setProperty("overflow",
- "auto");
- }
- }).schedule(100);
- }
- });
- }
+ Util.runWebkitOverflowAutoFix(contentNode);
}