blob: bd525194a7a2789b5deb050a17890fd61920f71e [file] [log] [blame]
Copybara botbe50d492023-11-30 00:16:42 +01001define( [
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} );