]> source.dussan.org Git - vaadin-framework.git/commitdiff
Ugly workaround for #6682 that ensures getAbsoluteTop/getAbsoluteLeft always return...
authorArtur Signell <artur.signell@itmill.com>
Thu, 31 Mar 2011 06:16:12 +0000 (06:16 +0000)
committerArtur Signell <artur.signell@itmill.com>
Thu, 31 Mar 2011 06:16:12 +0000 (06:16 +0000)
svn changeset:18040/svn branch:6.5

src/com/google/gwt/dom/client/VaadinDOMImplSafari.java [new file with mode: 0644]
src/com/vaadin/terminal/gwt/DefaultWidgetSet.gwt.xml

diff --git a/src/com/google/gwt/dom/client/VaadinDOMImplSafari.java b/src/com/google/gwt/dom/client/VaadinDOMImplSafari.java
new file mode 100644 (file)
index 0000000..deb9efb
--- /dev/null
@@ -0,0 +1,19 @@
+package com.google.gwt.dom.client;\r
+\r
+/**\r
+ * Overridden to workaround GWT issue #6194. Remove this when updating to a\r
+ * newer GWT that fixes the problem (2.3.0 possibly). Must be in this package as\r
+ * the whole DOMImpl hierarchy is package private and I really did not want to\r
+ * copy all the parent classes into this one...\r
+ */\r
+class VaadinDOMImplSafari extends DOMImplSafari {\r
+    @Override\r
+    public int getAbsoluteLeft(Element elem) {\r
+        return super.getAbsoluteLeft(elem) | 0;\r
+    }\r
+\r
+    @Override\r
+    public int getAbsoluteTop(Element elem) {\r
+        return super.getAbsoluteTop(elem) | 0;\r
+    }\r
+}\r
index 929d35f364a58ecb6a5d282659a2910c08307348..66ab7202ed0863e5084a20317e0e6a76c16d98aa 100644 (file)
@@ -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>
                </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" />