mirror of
https://github.com/jquery/jquery.git
synced 2026-04-20 03:01:22 -04:00
Core: Make isAttached work with iOS 10.0-10.2
The test for Shadow DOM v1 support has been changed to rely on the presence of `documentElement.getRootNode` as iOS 10.0-10.2 supports `attachShadow` but doesn't support `getRootNode`. No new test is necessary - iOS 10.0 fails lots of our test suite because of this bug. Fixes gh-4356 Closes gh-4360
This commit is contained in:
committed by
GitHub
parent
6c1e7dbf73
commit
7dddb19ca4
@@ -10,8 +10,12 @@ define( [
|
||||
},
|
||||
composed = { composed: true };
|
||||
|
||||
// Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only
|
||||
// Check attachment across shadow DOM boundaries when possible (gh-3504)
|
||||
if ( documentElement.attachShadow ) {
|
||||
// Support: iOS 10.0-10.2 only
|
||||
// Early iOS 10 versions support `attachShadow` but not `getRootNode`,
|
||||
// leading to errors. We need to check for `getRootNode`.
|
||||
if ( documentElement.getRootNode ) {
|
||||
isAttached = function( elem ) {
|
||||
return jQuery.contains( elem.ownerDocument, elem ) ||
|
||||
elem.getRootNode( composed ) === elem.ownerDocument;
|
||||
|
||||
@@ -641,7 +641,11 @@ QUnit.test( "show/hide detached nodes", function( assert ) {
|
||||
span.remove();
|
||||
} );
|
||||
|
||||
QUnit[ document.body.attachShadow ? "test" : "skip" ]( "show/hide shadow child nodes", function( assert ) {
|
||||
QUnit[
|
||||
document.body.attachShadow && document.body.getRootNode ?
|
||||
"test" :
|
||||
"skip"
|
||||
]( "show/hide shadow child nodes", function( assert ) {
|
||||
assert.expect( 28 );
|
||||
jQuery( "<div id='shadowHost'></div>" ).appendTo( "#qunit-fixture" );
|
||||
var shadowHost = document.querySelector( "#shadowHost" );
|
||||
@@ -1023,7 +1027,11 @@ QUnit[ jQuery.find.compile && jQuery.fn.toggle ? "test" : "skip" ]( "detached to
|
||||
"cascade-hidden element in detached tree" );
|
||||
} );
|
||||
|
||||
QUnit[ jQuery.find.compile && jQuery.fn.toggle && document.body.attachShadow ? "test" : "skip" ]( "shadow toggle()", function( assert ) {
|
||||
QUnit[ jQuery.find.compile && jQuery.fn.toggle &&
|
||||
document.body.attachShadow && document.body.getRootNode ?
|
||||
"test" :
|
||||
"skip"
|
||||
]( "shadow toggle()", function( assert ) {
|
||||
assert.expect( 4 );
|
||||
jQuery( "<div id='shadowHost'></div>" ).appendTo( "#qunit-fixture" );
|
||||
var shadowHost = document.querySelector( "#shadowHost" );
|
||||
|
||||
7
test/unit/effects.js
vendored
7
test/unit/effects.js
vendored
@@ -221,8 +221,11 @@ supportjQuery.each( hideOptions, function( type, setup ) {
|
||||
assert.expectJqData( this, $span, "olddisplay" );
|
||||
} );
|
||||
|
||||
QUnit[ document.body.attachShadow ? "test" : "skip" ](
|
||||
"Persist correct display value - " + type + " hidden, shadow child", function( assert ) {
|
||||
QUnit[
|
||||
document.body.attachShadow && document.body.getRootNode ?
|
||||
"test" :
|
||||
"skip"
|
||||
]( "Persist correct display value - " + type + " hidden, shadow child", function( assert ) {
|
||||
assert.expect( 3 );
|
||||
|
||||
jQuery( "<div id='shadowHost'></div>" ).appendTo( "#qunit-fixture" );
|
||||
|
||||
Reference in New Issue
Block a user