You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ma...@apache.org on 2010/01/22 12:30:53 UTC

svn commit: r902065 - /myfaces/trinidad/branches/trinidad-1.0.x/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Core.js

Author: matzew
Date: Fri Jan 22 11:30:52 2010
New Revision: 902065

URL: http://svn.apache.org/viewvc?rev=902065&view=rev
Log:
porting revision 902052 to 10x branch

Modified:
    myfaces/trinidad/branches/trinidad-1.0.x/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Core.js

Modified: myfaces/trinidad/branches/trinidad-1.0.x/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Core.js
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/trinidad-1.0.x/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Core.js?rev=902065&r1=902064&r2=902065&view=diff
==============================================================================
--- myfaces/trinidad/branches/trinidad-1.0.x/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Core.js (original)
+++ myfaces/trinidad/branches/trinidad-1.0.x/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Core.js Fri Jan 22 11:30:52 2010
@@ -4846,15 +4846,30 @@
     // if possible, use more accurate browser specific methods
     if (_agent.isGecko)
     {
-      TrUIUtils._getElemLoc = function(elem)
+      var doc = elem.ownerDocument;
+
+      if (doc.getBoxObjectFor === undefined)
+      {
+        var boundingRect = elem.getBoundingClientRect();
+        // top and bottom are not rounded off in Gecko1.9
+        // http://www.quirksmode.org/dom/w3c_cssom.html#elementviewm
+        var elemTop = Math.round(boundingRect.top);
+        var elemLeft = boundingRect.left;
+        var docElement = doc.documentElement;
+        // clientLeft and clientTop would be 0 for Gecko1.9
+        // https://bugzilla.mozilla.org/show_bug.cgi?id=174397#c34
+        elemLeft += docElement.scrollLeft;
+        elemTop += docElement.scrollTop;
+        return {x:elemLeft, y:elemTop};
+      }
+      else
       {
-        var doc = elem.ownerDocument;
         var box = doc.getBoxObjectFor(elem);
         var loc = { x: box.screenX, y: box.screenY };
         box = doc.getBoxObjectFor(doc.documentElement);
         loc.x -= box.screenX;
         loc.y -= box.screenY;
-        return loc;
+        return loc;        
       }
     }
     else if(_agent.isIE)