Commit d0763a37 authored by Oleg's avatar Oleg Committed by Dave Methvin

Fix #11823. Remove webkitConvertPointFromNodeToPage. Closes gh-796.

parent bc7231e3
...@@ -12,8 +12,7 @@ ...@@ -12,8 +12,7 @@
smarttabs: true, smarttabs: true,
predef: [ predef: [
"define", "define",
"DOMParser", "DOMParser"
"WebKitPoint"
], ],
maxerr: 100 maxerr: 100
}; };
......
...@@ -84,7 +84,6 @@ module.exports = function( grunt ) { ...@@ -84,7 +84,6 @@ module.exports = function( grunt ) {
predef: [ predef: [
"define", "define",
"DOMParser", "DOMParser",
"WebKitPoint",
"__dirname" "__dirname"
], ],
maxerr: 100 maxerr: 100
......
(function( jQuery ) { (function( jQuery ) {
var getOffset, var rroot = /^(?:body|html)$/i;
rroot = /^(?:body|html)$/i;
if ( "getBoundingClientRect" in document.documentElement ) {
getOffset = function( elem, doc, docElem ) {
var box;
try {
box = elem.getBoundingClientRect();
} catch(e) {}
// Make sure we're not dealing with a disconnected DOM node
if ( !box || !jQuery.contains( docElem, elem ) ) {
return box ? { top: box.top, left: box.left } : { top: 0, left: 0 };
}
var body = doc.body,
win = getWindow( doc ),
clientTop = docElem.clientTop || body.clientTop || 0,
clientLeft = docElem.clientLeft || body.clientLeft || 0,
scrollTop = win.pageYOffset || docElem.scrollTop,
scrollLeft = win.pageXOffset || docElem.scrollLeft,
top = box.top + scrollTop - clientTop,
left = box.left + scrollLeft - clientLeft;
return { top: top, left: left };
};
} else {
getOffset = function( elem, doc, docElem ) {
if ( !jQuery.contains( docElem, elem ) ) {
return { top: 0, left: 0 };
}
var point = getWindow( doc ).webkitConvertPointFromNodeToPage( elem, new WebKitPoint( 0, 0 ) );
return { top: point.y, left: point.x };
};
}
jQuery.fn.offset = function( options ) { jQuery.fn.offset = function( options ) {
if ( arguments.length ) { if ( arguments.length ) {
...@@ -48,18 +11,39 @@ jQuery.fn.offset = function( options ) { ...@@ -48,18 +11,39 @@ jQuery.fn.offset = function( options ) {
}); });
} }
var elem = this[0], var docElem, body, win, clientTop, clientLeft, scrollTop, scrollLeft, top, left,
box = {},
elem = this[ 0 ],
doc = elem && elem.ownerDocument; doc = elem && elem.ownerDocument;
if ( !doc ) { if ( !doc ) {
return null; return null;
} }
if ( elem === doc.body ) { if ( (body = doc.body) === elem ) {
return jQuery.offset.bodyOffset( elem ); return jQuery.offset.bodyOffset( elem );
} }
return getOffset( elem, doc, doc.documentElement ); docElem = doc.documentElement;
try {
box = elem.getBoundingClientRect();
} catch(e) {}
// Make sure we're not dealing with a disconnected DOM node
if ( !box.top || !jQuery.contains( docElem, elem ) ) {
return { top: box.top || 0, left: box.left || 0 };
}
win = getWindow( doc );
clientTop = docElem.clientTop || body.clientTop || 0;
clientLeft = docElem.clientLeft || body.clientLeft || 0;
scrollTop = win.pageYOffset || docElem.scrollTop;
scrollLeft = win.pageXOffset || docElem.scrollLeft;
top = box.top + scrollTop - clientTop;
left = box.left + scrollLeft - clientLeft;
return { top: top, left: left };
}; };
jQuery.offset = { jQuery.offset = {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment