Allow shorthands to be restricted to specific products.

This commit is contained in:
Cameron McCormack 2016-05-07 16:47:44 +10:00
parent a12493f5fe
commit 2b8f809852
2 changed files with 10 additions and 3 deletions

View file

@ -145,7 +145,11 @@ class PropertiesData(object):
return longand
def declare_shorthand(self, name, sub_properties, *args, **kwargs):
def declare_shorthand(self, name, sub_properties, products="gecko servo", *args, **kwargs):
products = products.split()
if self.product not in products:
return
sub_properties = [self.longhands_by_name[s] for s in sub_properties]
shorthand = Shorthand(name, sub_properties, *args, **kwargs)
self.shorthands.append(shorthand)

View file

@ -191,10 +191,12 @@
</%call>
</%def>
<%def name="shorthand(name, sub_properties, experimental=False)">
<%def name="shorthand(name, sub_properties, experimental=False, **kwargs)">
<%
shorthand = data.declare_shorthand(name, sub_properties.split(), experimental=experimental)
shorthand = data.declare_shorthand(name, sub_properties.split(), experimental=experimental,
**kwargs)
%>
% if shorthand:
pub mod ${shorthand.ident} {
use cssparser::Parser;
use parser::ParserContext;
@ -252,6 +254,7 @@
${caller.body()}
}
}
% endif
</%def>
<%def name="four_sides_shorthand(name, sub_property_pattern, parser_function)">