Copybara bot | be50d49 | 2023-11-30 00:16:42 +0100 | [diff] [blame] | 1 | define( [ |
| 2 | "../core", |
| 3 | "../var/documentElement", |
| 4 | "../selector" // jQuery.contains |
| 5 | ], function( jQuery, documentElement ) { |
| 6 | "use strict"; |
| 7 | |
| 8 | var isAttached = function( elem ) { |
| 9 | return jQuery.contains( elem.ownerDocument, elem ); |
| 10 | }, |
| 11 | composed = { composed: true }; |
| 12 | |
| 13 | // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only |
| 14 | // Check attachment across shadow DOM boundaries when possible (gh-3504) |
| 15 | // Support: iOS 10.0-10.2 only |
| 16 | // Early iOS 10 versions support `attachShadow` but not `getRootNode`, |
| 17 | // leading to errors. We need to check for `getRootNode`. |
| 18 | if ( documentElement.getRootNode ) { |
| 19 | isAttached = function( elem ) { |
| 20 | return jQuery.contains( elem.ownerDocument, elem ) || |
| 21 | elem.getRootNode( composed ) === elem.ownerDocument; |
| 22 | }; |
| 23 | } |
| 24 | |
| 25 | return isAttached; |
| 26 | } ); |