Index: sdk/lib/html/dart2js/html_dart2js.dart |
diff --git a/sdk/lib/html/dart2js/html_dart2js.dart b/sdk/lib/html/dart2js/html_dart2js.dart |
index 9fd94afccb91fa101e004f895bb498851fe1524c..6f4577128c902e9c065c1fff9a8f306017769442 100644 |
--- a/sdk/lib/html/dart2js/html_dart2js.dart |
+++ b/sdk/lib/html/dart2js/html_dart2js.dart |
@@ -2824,18 +2824,10 @@ class CssRule extends Interceptor { |
} |
String _camelCase(String hyphenated) { |
- bool firstWord = true; |
- return hyphenated.splitMapJoin('-', onMatch : (_) => '', |
- onNonMatch : (String word) { |
- if (word.length > 0) { |
- if (firstWord) { |
- firstWord = false; |
- return word; |
- } |
- return word[0].toUpperCase() + word.substring(1); |
- } |
- return ''; |
- }); |
+ // The "ms" prefix is always lowercased. |
+ return hyphenated.replaceFirst(new RegExp('^-ms-'), 'ms-').replaceAllMapped( |
+ new RegExp('-([a-z]+)', caseSensitive: false), |
+ (match) => match[0][1].toUpperCase() + match[0].substring(2)); |
} |
void _setPropertyHelper(String propertyName, String value, [String priority]) { |