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)