svn changeset:5612/svn branch:trunktags/6.7.0.beta1
@@ -9,8 +9,11 @@ import java.util.HashSet; | |||
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; | |||
@@ -242,4 +245,31 @@ public class Util { | |||
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); | |||
} | |||
}); | |||
} | |||
} | |||
} |
@@ -10,7 +10,6 @@ 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.ClickListener; | |||
import com.google.gwt.user.client.ui.ComplexPanel; | |||
import com.google.gwt.user.client.ui.Widget; | |||
@@ -21,6 +20,7 @@ import com.itmill.toolkit.terminal.gwt.client.ICaption; | |||
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 { | |||
@@ -161,24 +161,8 @@ public class IAccordion extends ITabsheetBase implements | |||
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()); | |||
} | |||
/** |
@@ -6,12 +6,9 @@ package com.itmill.toolkit.terminal.gwt.client.ui; | |||
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; | |||
@@ -306,23 +303,10 @@ public class IPanel extends SimplePanel implements Container, | |||
} | |||
} | |||
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 |
@@ -312,6 +312,10 @@ public class ISplitPanel extends ComplexPanel implements Container, | |||
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) { |
@@ -13,19 +13,18 @@ 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.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 { | |||
@@ -394,21 +393,7 @@ public class ITabsheet extends ITabsheetBase implements | |||
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); | |||
} | |||