| define( [ | |
| "../var/document", | |
| "../core" | |
| ], function( document, jQuery ) { | |
| "use strict"; | |
| var cssPrefixes = [ "Webkit", "Moz", "ms" ], | |
| emptyStyle = document.createElement( "div" ).style, | |
| vendorProps = {}; | |
| // Return a vendor-prefixed property or undefined | |
| function vendorPropName( name ) { | |
| // Check for vendor prefixed names | |
| var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), | |
| i = cssPrefixes.length; | |
| while ( i-- ) { | |
| name = cssPrefixes[ i ] + capName; | |
| if ( name in emptyStyle ) { | |
| return name; | |
| } | |
| } | |
| } | |
| // Return a potentially-mapped jQuery.cssProps or vendor prefixed property | |
| function finalPropName( name ) { | |
| var final = jQuery.cssProps[ name ] || vendorProps[ name ]; | |
| if ( final ) { | |
| return final; | |
| } | |
| if ( name in emptyStyle ) { | |
| return name; | |
| } | |
| return vendorProps[ name ] = vendorPropName( name ) || name; | |
| } | |
| return finalPropName; | |
| } ); |