From 002c49b32f98e64b3badc2d56705fa92cd161477 Mon Sep 17 00:00:00 2001 From: Miles Tinsley Date: Sun, 6 Jan 2013 16:57:31 +0000 Subject: [PATCH] Updated CPBrowserCSSProperty to support camel cased style property names and convert them into valid browser-aware CSS properties. --- AppKit/CPCompatibility.j | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/AppKit/CPCompatibility.j b/AppKit/CPCompatibility.j index 6f9c6f56f..f86fe5365 100644 --- a/AppKit/CPCompatibility.j +++ b/AppKit/CPCompatibility.j @@ -348,20 +348,26 @@ function CPBrowserCSSProperty(aProperty) if (!browserProperty) return nil; - var prefixes = { - 'Webkit': '-webkit-', - 'Moz': '-moz-', - 'O': '-o-', - 'ms': '-ms-' + var parts = browserProperty.match(/[A-Z][a-z]+/g), + formattedBrowserProperty = browserProperty, + prefixes = { + 'Webkit': '-webkit', + 'Moz': '-moz', + 'O': '-o', + 'ms': '-ms' }; + // If there were any capitalized words in the browserProperty, insert a "-" between each one + if (parts && parts.length > 0) + formattedBrowserProperty = parts.join("-"); + for (var prefix in prefixes) { - if (browserProperty.substring(0, prefix.length) == prefix) + if (formattedBrowserProperty.substring(0, prefix.length) == prefix) { - return prefixes[prefix] + browserProperty.substring(prefix.length).toLowerCase(); + return prefixes[prefix] + formattedBrowserProperty.substring(prefix.length).toLowerCase(); } } - return browserProperty.toLowerCase(); + return formattedBrowserProperty.toLowerCase(); }