diff options
author | Artur Signell <artur.signell@itmill.com> | 2011-03-31 06:16:12 +0000 |
---|---|---|
committer | Artur Signell <artur.signell@itmill.com> | 2011-03-31 06:16:12 +0000 |
commit | 95ec3d17bebff391a6899da17d006c14582a3080 (patch) | |
tree | ff3e093129c40cf7631f0e5a306f7802be570f78 | |
parent | 27a59cf0543259efaedc31776f0c288d834e7b8f (diff) | |
download | vaadin-framework-95ec3d17bebff391a6899da17d006c14582a3080.tar.gz vaadin-framework-95ec3d17bebff391a6899da17d006c14582a3080.zip |
Ugly workaround for #6682 that ensures getAbsoluteTop/getAbsoluteLeft always return an integer for Webkit
svn changeset:18040/svn branch:6.5
-rw-r--r-- | src/com/google/gwt/dom/client/VaadinDOMImplSafari.java | 19 | ||||
-rw-r--r-- | src/com/vaadin/terminal/gwt/DefaultWidgetSet.gwt.xml | 9 |
2 files changed, 27 insertions, 1 deletions
diff --git a/src/com/google/gwt/dom/client/VaadinDOMImplSafari.java b/src/com/google/gwt/dom/client/VaadinDOMImplSafari.java new file mode 100644 index 0000000000..deb9efbaec --- /dev/null +++ b/src/com/google/gwt/dom/client/VaadinDOMImplSafari.java @@ -0,0 +1,19 @@ +package com.google.gwt.dom.client;
+
+/**
+ * Overridden to workaround GWT issue #6194. Remove this when updating to a
+ * newer GWT that fixes the problem (2.3.0 possibly). Must be in this package as
+ * the whole DOMImpl hierarchy is package private and I really did not want to
+ * copy all the parent classes into this one...
+ */
+class VaadinDOMImplSafari extends DOMImplSafari {
+ @Override
+ public int getAbsoluteLeft(Element elem) {
+ return super.getAbsoluteLeft(elem) | 0;
+ }
+
+ @Override
+ public int getAbsoluteTop(Element elem) {
+ return super.getAbsoluteTop(elem) | 0;
+ }
+}
diff --git a/src/com/vaadin/terminal/gwt/DefaultWidgetSet.gwt.xml b/src/com/vaadin/terminal/gwt/DefaultWidgetSet.gwt.xml index 929d35f364..66ab7202ed 100644 --- a/src/com/vaadin/terminal/gwt/DefaultWidgetSet.gwt.xml +++ b/src/com/vaadin/terminal/gwt/DefaultWidgetSet.gwt.xml @@ -12,7 +12,8 @@ <source path="client" /> - <!-- Use own Scheduler implementation to be able to track if commands are running --> + <!-- Use own Scheduler implementation to be able to track if commands are + running --> <replace-with class="com.vaadin.terminal.gwt.client.VSchedulerImpl"> <when-type-is class="com.google.gwt.core.client.impl.SchedulerImpl" /> </replace-with> @@ -51,6 +52,12 @@ </any> </replace-with> + <!-- Workaround for #6682. Remove when fixed in GWT. --> + <replace-with class="com.google.gwt.dom.client.VaadinDOMImplSafari"> + <when-type-is class="com.google.gwt.dom.client.DOMImpl" /> + <when-property-is name="user.agent" value="safari" /> + </replace-with> + <entry-point class="com.vaadin.terminal.gwt.client.ApplicationConfiguration" /> |