Core: Remove deprecated jQuery APIs
[jquery.git] / src / css / finalPropName.js
blobc290eb2b412318c60a2a3337a3f9186cd1a03824
1 define( [
2         "../var/document"
3 ], function( document ) {
5 "use strict";
7 var cssPrefixes = [ "Webkit", "Moz", "ms" ],
8         emptyStyle = document.createElement( "div" ).style,
9         vendorProps = {};
11 // Return a vendor-prefixed property or undefined
12 function vendorPropName( name ) {
14         // Check for vendor prefixed names
15         var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
16                 i = cssPrefixes.length;
18         while ( i-- ) {
19                 name = cssPrefixes[ i ] + capName;
20                 if ( name in emptyStyle ) {
21                         return name;
22                 }
23         }
26 // Return a potentially-mapped vendor prefixed property
27 function finalPropName( name ) {
28         var final = vendorProps[ name ];
30         if ( final ) {
31                 return final;
32         }
33         if ( name in emptyStyle ) {
34                 return name;
35         }
36         return vendorProps[ name ] = vendorPropName( name ) || name;
39 return finalPropName;
41 } );