From 6889bceb564bc4f58f5974f6a89c8fe973e4e356 Mon Sep 17 00:00:00 2001 From: Chris Charabaruk Date: Wed, 30 Jul 2014 17:43:38 -0400 Subject: [PATCH] strip vendor prefixes from at-rules --- parser.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/parser.js b/parser.js index a772674..b29c90c 100644 --- a/parser.js +++ b/parser.js @@ -243,6 +243,15 @@ function parse(tokens) { } } +function stripVendorPrefix(name) { + var prefixRegex = /^((?:-|_)[a-z][a-z0-9]*)-(.+)$/i; + if (prefixRegex.test(name)) { + return prefixRegex.exec(name)[2]; + } else { + return name; + } +} + function CSSParserRule() { return this; } CSSParserRule.prototype.fillType = ''; CSSParserRule.prototype.toString = function(indent) { @@ -264,11 +273,11 @@ Stylesheet.prototype.toJSON = function() { } function AtRule(name) { - this.name = name; + this.name = stripVendorPrefix(name); this.prelude = []; this.value = []; - if(name in AtRule.registry) - this.fillType = AtRule.registry[name]; + if (this.name in AtRule.registry) + this.fillType = AtRule.registry[this.name]; return this; } AtRule.prototype = new CSSParserRule;