| define( [ | |
| "../var/document", | |
| "../var/support" | |
| ], function( document, support ) { | |
| "use strict"; | |
| ( function() { | |
| var fragment = document.createDocumentFragment(), | |
| div = fragment.appendChild( document.createElement( "div" ) ), | |
| input = document.createElement( "input" ); | |
| // Support: Android 4.0 - 4.3 only | |
| // Check state lost if the name is set (trac-11217) | |
| // Support: Windows Web Apps (WWA) | |
| // `name` and `type` must use .setAttribute for WWA (trac-14901) | |
| input.setAttribute( "type", "radio" ); | |
| input.setAttribute( "checked", "checked" ); | |
| input.setAttribute( "name", "t" ); | |
| div.appendChild( input ); | |
| // Support: Android <=4.1 only | |
| // Older WebKit doesn't clone checked state correctly in fragments | |
| support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; | |
| if ( window.trustedTypes && window.trustedTypes.createPolicy ) { | |
| support.noCloneChecked = true; | |
| support.option = true; | |
| } else { | |
| // Support: IE <=11 only | |
| // Make sure textarea (and checkbox) defaultValue is properly cloned | |
| div.innerHTML = "<textarea>x</textarea>"; | |
| support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; | |
| // Support: IE <=9 only | |
| // IE <=9 replaces <option> tags with their contents when inserted outside of | |
| // the select element. | |
| div.innerHTML = "<option></option>"; | |
| support.option = !!div.lastChild; | |
| } | |
| } )(); | |
| return support; | |
| } ); |