(el, includeSelf)
| 442 | return -1; |
| 443 | } |
| 444 | function getParentAutoScrollElement(el, includeSelf) { |
| 445 | // skip to window |
| 446 | if (!el || !el.getBoundingClientRect) return getWindowScrollingElement(); |
| 447 | var elem = el; |
| 448 | var gotSelf = false; |
| 449 | do { |
| 450 | // we don't need to get elem css if it isn't even overflowing in the first place (performance) |
| 451 | if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) { |
| 452 | var elemCSS = css(elem); |
| 453 | if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) { |
| 454 | if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement(); |
| 455 | if (gotSelf || includeSelf) return elem; |
| 456 | gotSelf = true; |
| 457 | } |
| 458 | } |
| 459 | /* jshint boss:true */ |
| 460 | } while (elem = elem.parentNode); |
| 461 | return getWindowScrollingElement(); |
| 462 | } |
| 463 | function extend(dst, src) { |
| 464 | if (dst && src) { |
| 465 | for (var key in src) { |
no test coverage detected
searching dependent graphs…