aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichał Gołębiowski-Owczarek <m.goleb@gmail.com>2019-04-29 21:06:53 +0200
committerGitHub <noreply@github.com>2019-04-29 21:06:53 +0200
commit8fae21200e80647fec4389995c4879948d11ad66 (patch)
treee54dca524d936d0258aebb22b59a20fc4d982431 /src
parenteb6c0a7c97b1b3cf00144de12d945c9c569f935c (diff)
downloadjquery-8fae21200e80647fec4389995c4879948d11ad66.tar.gz
jquery-8fae21200e80647fec4389995c4879948d11ad66.zip
Data: Separate data & css/effects camelCase implementations
The camelCase implementation used by the data module no longer turns `-ms-foo` into `msFoo` but to `MsFoo` now. This is because `data` is supposed to be a generic utility not specifically bound to CSS use cases. Fixes gh-3355 Closes gh-4365
Diffstat (limited to 'src')
-rw-r--r--src/core/camelCase.js9
-rw-r--r--src/css.js8
-rw-r--r--src/css/cssCamelCase.js20
-rw-r--r--src/deprecated.js6
-rw-r--r--src/effects.js8
5 files changed, 34 insertions, 17 deletions
diff --git a/src/core/camelCase.js b/src/core/camelCase.js
index 799fb3752..95de46866 100644
--- a/src/core/camelCase.js
+++ b/src/core/camelCase.js
@@ -3,19 +3,16 @@ define( [], function() {
"use strict";
// Matches dashed string for camelizing
-var rmsPrefix = /^-ms-/,
- rdashAlpha = /-([a-z])/g;
+var rdashAlpha = /-([a-z])/g;
// Used by camelCase as callback to replace()
function fcamelCase( all, letter ) {
return letter.toUpperCase();
}
-// Convert dashed to camelCase; used by the css and data modules
-// Support: IE <=9 - 11, Edge 12 - 15
-// Microsoft forgot to hump their vendor prefix (#9572)
+// Convert dashed to camelCase
function camelCase( string ) {
- return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
+ return string.replace( rdashAlpha, fcamelCase );
}
return camelCase;
diff --git a/src/css.js b/src/css.js
index d6354a310..f9277bf6c 100644
--- a/src/css.js
+++ b/src/css.js
@@ -1,11 +1,11 @@
define( [
"./core",
"./core/access",
- "./core/camelCase",
"./var/rcssNum",
"./css/var/rnumnonpx",
"./css/var/cssExpand",
"./css/isAutoPx",
+ "./css/cssCamelCase",
"./css/var/getStyles",
"./css/var/swap",
"./css/curCSS",
@@ -17,7 +17,7 @@ define( [
"./core/init",
"./core/ready",
"./selector" // contains
-], function( jQuery, access, camelCase, rcssNum, rnumnonpx, cssExpand, isAutoPx,
+], function( jQuery, access, rcssNum, rnumnonpx, cssExpand, isAutoPx, cssCamelCase,
getStyles, swap, curCSS, adjustCSS, addGetHookIf, support, finalPropName ) {
"use strict";
@@ -213,7 +213,7 @@ jQuery.extend( {
// Make sure that we're working with the right name
var ret, type, hooks,
- origName = camelCase( name ),
+ origName = cssCamelCase( name ),
isCustomProp = rcustomProp.test( name ),
style = elem.style;
@@ -281,7 +281,7 @@ jQuery.extend( {
css: function( elem, name, extra, styles ) {
var val, num, hooks,
- origName = camelCase( name ),
+ origName = cssCamelCase( name ),
isCustomProp = rcustomProp.test( name );
// Make sure that we're working with the right name. We don't
diff --git a/src/css/cssCamelCase.js b/src/css/cssCamelCase.js
new file mode 100644
index 000000000..9b5c328ad
--- /dev/null
+++ b/src/css/cssCamelCase.js
@@ -0,0 +1,20 @@
+define( [
+ "../core/camelCase"
+], function( camelCase ) {
+
+"use strict";
+
+// Matches dashed string for camelizing
+var rmsPrefix = /^-ms-/;
+
+// Convert dashed to camelCase, handle vendor prefixes.
+// Used by the css & effects modules.
+// Support: IE <=9 - 11+, Edge 12 - 18+
+// Microsoft forgot to hump their vendor prefix (#9572)
+function cssCamelCase( string ) {
+ return camelCase( string.replace( rmsPrefix, "ms-" ) );
+}
+
+return cssCamelCase;
+
+} );
diff --git a/src/deprecated.js b/src/deprecated.js
index c11b0d332..e24de4818 100644
--- a/src/deprecated.js
+++ b/src/deprecated.js
@@ -1,14 +1,14 @@
define( [
"./core",
"./core/nodeName",
- "./core/camelCase",
"./core/toType",
+ "./css/cssCamelCase",
"./var/isFunction",
"./var/isWindow",
"./var/slice",
"./event/alias"
-], function( jQuery, nodeName, camelCase, toType, isFunction, isWindow, slice ) {
+], function( jQuery, nodeName, toType, cssCamelCase, isFunction, isWindow, slice ) {
"use strict";
@@ -76,7 +76,7 @@ jQuery.parseJSON = JSON.parse;
jQuery.nodeName = nodeName;
jQuery.isFunction = isFunction;
jQuery.isWindow = isWindow;
-jQuery.camelCase = camelCase;
+jQuery.camelCase = cssCamelCase;
jQuery.type = toType;
jQuery.now = Date.now;
diff --git a/src/effects.js b/src/effects.js
index a778de106..c9332f7d7 100644
--- a/src/effects.js
+++ b/src/effects.js
@@ -1,6 +1,5 @@
define( [
"./core",
- "./core/camelCase",
"./var/document",
"./var/isFunction",
"./var/rcssNum",
@@ -9,6 +8,7 @@ define( [
"./css/var/isHiddenWithinTree",
"./css/var/swap",
"./css/adjustCSS",
+ "./css/cssCamelCase",
"./data/var/dataPriv",
"./css/showHide",
@@ -19,8 +19,8 @@ define( [
"./manipulation",
"./css",
"./effects/Tween"
-], function( jQuery, camelCase, document, isFunction, rcssNum, rnothtmlwhite, cssExpand,
- isHiddenWithinTree, swap, adjustCSS, dataPriv, showHide ) {
+], function( jQuery, document, isFunction, rcssNum, rnothtmlwhite, cssExpand,
+ isHiddenWithinTree, swap, adjustCSS, cssCamelCase, dataPriv, showHide ) {
"use strict";
@@ -261,7 +261,7 @@ function propFilter( props, specialEasing ) {
// camelCase, specialEasing and expand cssHook pass
for ( index in props ) {
- name = camelCase( index );
+ name = cssCamelCase( index );
easing = specialEasing[ name ];
value = props[ index ];
if ( Array.isArray( value ) ) {