Gitweb links:
...log
http://git.netsurf-browser.org/libcss.git/shortlog/c9accc062acbe9d7e174d66423485af013ed9fbc
...commit
http://git.netsurf-browser.org/libcss.git/commit/c9accc062acbe9d7e174d66423485af013ed9fbc
...tree
http://git.netsurf-browser.org/libcss.git/tree/c9accc062acbe9d7e174d66423485af013ed9fbc
The branch, lcneves/units has been updated
via c9accc062acbe9d7e174d66423485af013ed9fbc (commit)
from c1ccd83393e42fffece5b45013c5ef7ef1ace41e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff
http://git.netsurf-browser.org/libcss.git/commit/?id=c9accc062acbe9d7e174d66423485af013ed9fbc
commit c9accc062acbe9d7e174d66423485af013ed9fbc
Author: Lucas Neves <[email protected]>
Commit: Lucas Neves <[email protected]>
WIP: Select: Add generator for computed properties.
diff --git a/src/select/computed_properties.py
b/src/select/computed_properties.py
index fa8218d..a9fc0e7 100644
--- a/src/select/computed_properties.py
+++ b/src/select/computed_properties.py
@@ -3,115 +3,299 @@
# http://www.opensource.org/licenses/mit-license.php
# Copyright 2017 Lucas Neves <[email protected]>
-uncommon = {
- border_spacing,
- break_before,
- break_after,
- break_inside,
- clip,
- column_count,
- column_fill,
- column_gap,
- column_rule_color,
- column_rule_style,
- column_rule_width,
- content,
- counter_increment,
- counter_reset,
- cursor,
- letter_spacing,
- outline_color,
- outline_width,
- word_spacing
+def get_tuple(from_var):
+ if type(from_var) is tuple:
+ return from_var
+ elif type(from_var) is str:
+ return (from_var,)
+ else:
+ return ()
+
+def make_type(name, css_type, size = 0, default = 'NULL',
+ bits_name = None, bits_type = None,
+ bits_size = None, bits_default = 0):
+ return {
+ 'name': name,
+ 'type': css_type,
+ 'size': size,
+ 'default': default,
+ 'bits': None if bits_name is None else {
+ 'name': bits_name,
+ 'type': bits_type,
+ 'size': bits_size,
+ 'default': bits_default
+ }
+ }
+
+# Configuration of types
+type_config = {
+ ('length', 'css_fixed', 4, 0, 'unit', 'css_unit', 5, 'CSS_UNIT_PX'),
+ ('integer', 'int32_t', 4, 0),
+ ('fixed', 'css_fixed', 4, 0),
+ ('color', 'css_color', 4, 0),
+ ('string', 'lwc_string*'),
+ ('string_arr', 'lwc_string**'),
+ ('counter', 'css_computed_counter*'),
+ ('content_item', 'css_computed_content_item*')
}
-page = {
- page_break_after,
- page_break_before,
- page_break_inside,
- orphans,
- windows
+types = [ make_type(*x) for x in type_config ]
+
+def make_property(name, opcode_size, values = None,
+ defaults = None, comments = None):
+ 'Returns a CSS property.'
+ default_tuple = get_tuple(defaults)
+ value_tuple = get_tuple(values)
+
+ return {
+ 'name': name,
+ 'size': opcode_size,
+ 'values': [ types[x] for x in value_tuple ] or None,
+ 'defaults': default_tuple or None,
+ 'comments': comments
+ }
+
+# Configuration of properties
+prop_config = {
+ # Style group, only opcode
+ ('align_content', 3),
+ ('align_items', 3),
+ ('align_self', 3),
+ ('background_attachment', 2),
+ ('background_repeat', 3),
+ ('border_collapse', 2),
+ ('border_top_style', 4),
+ ('border_right_style', 4),
+ ('border_bottom_style', 4),
+ ('border_left_style', 4),
+ ('box_sizing', 2),
+ ('caption_side', 2),
+ ('clear', 3),
+ ('direction', 2),
+ ('display', 5),
+ ('empty_cells', 2),
+ ('flex_direction', 3),
+ ('flex_wrap', 2),
+ ('float', 2),
+ ('font_style', 2),
+ ('font_variant', 2),
+ ('font_weight', 4),
+ ('justify_content', 3),
+ ('list_style_position', 2),
+ ('list_style_type', 4),
+ ('overflow', 3),
+ ('outline_style', 4),
+ ('position', 3),
+ ('table_layout', 2),
+ ('text_align', 4),
+ ('text_decoration', 5),
+ ('text_transform', 3),
+ ('unicode_bidi', 2),
+ ('visibility', 2),
+ ('white_space', 3),
+ # Style group, with additional value
+ ('background_color', 2, 'color'),
+ ('background_image', 1, 'string'),
+ ('background_position', 1, ('length', 'length')),
+ ('border_top_color', 2, 'color'),
+ ('border_right_color', 2, 'color'),
+ ('border_bottom_color', 2, 'color'),
+ ('border_left_color', 2, 'color'),
+ ('border_top_width', 3, 'length'),
+ ('border_right_width', 3, 'length'),
+ ('border_bottom_width', 3, 'length'),
+ ('border_left_width', 3, 'length'),
+ ('top', 2, 'length'),
+ ('right', 2, 'length'),
+ ('bottom', 2, 'length'),
+ ('left', 2, 'length'),
+ ('color', 1, 'color'),
+ ('flex_basis', 2, 'length'),
+ ('flex_grow', 1, 'fixed'),
+ ('flex_shrink', 1, 'fixed'),
+ ('font_size', 4, 'length'),
+ ('height', 2, 'length'),
+ ('line_height', 2, 'length'),
+ ('list_style_image', 1, 'string'),
+ ('margin_top', 2, 'length'),
+ ('margin_right', 2, 'length'),
+ ('margin_bottom', 2, 'length'),
+ ('margin_left', 2, 'length'),
+ ('max_height', 2, 'length'),
+ ('max_width', 2, 'length'),
+ ('min_height', 2, 'length'),
+ ('min_width', 2, 'length'),
+ ('order', 1, 'integer'),
+ ('padding_top', 1, 'length'),
+ ('padding_right', 1, 'length'),
+ ('padding_left', 1, 'length'),
+ ('padding_bottom', 1, 'length'),
+ ('text_indent', 1, 'length'),
+ ('vertical_align', 4, 'length'),
+ ('width', 2, 'length'),
+ ('z_index', 2, 'integer'),
+ # Style group, arrays
+ ('font_family', 3, 'string_arr', None,
+ 'Encode font family as an array of string objects, terminated with a'
+ '\n' 'blank entry.'),
+ ('quotes', 1, 'string_arr', None,
+ 'Encode quotes as an array of string objects, terminated with a '
+ 'blank entry.'),
+ # Page group
+ ('page_break_after', 3, None, 'CSS_PAGE_BREAK_AFTER_AUTO'),
+ ('page_break_before', 3, None, 'CSS_PAGE_BREAK_BEFORE_AUTO'),
+ ('page_break_inside', 2, None, 'CSS_PAGE_BREAK_INSIDE_AUTO'),
+ ('widows', 1, 'integer', ('CSS_WIDOWS_SET', 2)),
+ ('orphans', 1, 'integer', ('CSS_ORPHANS_SET', 2)),
+ # Uncommon group
+ ('border_spacing', 1, ('length', 'length'),
+ ('CSS_BORDER_SPACING_SET', 0, 'CSS_UNIT_PX', 0, 'CSS_UNIT_PX')),
+ ('break_after', 4, None, 'CSS_BREAK_AFTER_AUTO'),
+ ('break_before', 4, None, 'CSS_BREAK_BEFORE_AUTO'),
+ ('break_inside', 4, None, 'CSS_BREAK_INSIDE_AUTO'),
+ ('clip', 6, ('length, length, length, length'), ('get', 'set')),
+ ('column_count', 2, 'integer', 'CSS_COLUMN_COUNT_AUTO'),
+ ('column_fill', 2, None, 'CSS_COLUMN_FILL_BALANCE'),
+ ('column_gap', 2, 'length', 'CSS_COLUMN_GAP_NORMAL'),
+ ('column_rule_color', 2, 'color', ('CSS_COLUMN_RULE_CURRENT_COLOR', 0)),
+ ('column_rule_style', 4, None, 'CSS_COLUMN_RULE_STYLE_NONE'),
+ ('column_rule_width', 3, 'length', 'CSS_COLUMN_RULE_WIDTH_MEDIUM'),
+ ('column_span', 2, None, 'CSS_COLUMN_SPAN_NONE'),
+ ('column_width', 2, 'length', 'CSS_COLUMN_WIDTH_AUTO'),
+ ('letter_spacing', 2, 'length', 'CSS_LETTER_SPACING_NORMAL'),
+ ('outline_color', 2, 'color', 'CSS_OUTLINE_COLOR_INVERT'),
+ ('outline_width', 3, 'length', 'CSS_OUTLINE_WIDTH_MEDIUM'),
+ ('word_spacing', 2, 'length', 'CSS_WORD_SPACING_NORMAL'),
+ # Uncommon group, arrays
+ ('counter_increment', 1, 'counter', 'CSS_COUNTER_INCREMENT_NONE',
+ 'Encode counter_increment as an array of name, value pairs,\n'
+ 'terminated with a blank entry.'),
+ ('counter_reset', 1, 'counter', 'CSS_COUNTER_RESET_NONE',
+ 'Encode counter_reset as an array of name, value pairs,\n'
+ 'terminated with a blank entry.'),
+ ('cursor', 5, 'string_arr', 'CSS_CURSOR_AUTO',
+ 'Encode cursor uri(s) as an array of string objects, terminated\n'
+ 'with a blank entry'),
+ ('content', 2, 'content_item', 'CSS_CONTENT_NORMAL',
+ 'Encode content as an array of content items, terminated with '
+ 'a blank entry.')
}
-style = {
- align_content,
- align_items,
- align_self,
- background_attachment,
- background_repeat,
- background_color,
- background_image,
- background_position,
- border_collapse,
- border_top_style,
- border_right_style,
- border_bottom_style,
- border_left_style,
- border_top_color,
- border_right_color,
- border_bottom_color,
- border_left_color,
- border_top_width,
- border_right_width,
- border_bottom_width,
- border_left_width,
- top,
- right,
- bottom,
- left,
- box_sizing,
- caption_side,
- clear,
- color,
- direction,
- display,
- empty_cells,
- flex_basis,
- flex_direction,
- flex_grow,
- flex_shrink,
- flex_wrap,
- float_prop,
- font_family,
- font_size,
- font_style,
- font_variant,
- font_weight,
- height,
- justify_content,
- line_height,
- list_style_image,
- list_style_position,
- list_style_type,
- margin_top,
- margin_right,
- margin_bottom,
- margin_left,
- max_height,
- max_width,
- min_height,
- min_width,
- order,
- outline_style,
- overflow,
- padding_top,
- padding_right,
- padding_bottom,
- padding_left,
- position,
- quotes,
- table_layout,
- text_align,
- text_decoration,
- text_indent,
- text_transform,
- unicode_bidi,
- vertical_align,
- visibility,
- white_space,
- width,
- z_index
+properties = [ make_property(*x) for x in prop_config ]
+
+uncommon_config = {
+ 'border_spacing',
+ 'break_before',
+ 'break_after',
+ 'break_inside',
+ 'clip',
+ 'column_count',
+ 'column_fill',
+ 'column_gap',
+ 'column_rule_color',
+ 'column_rule_style',
+ 'column_rule_width',
+ 'content',
+ 'counter_increment',
+ 'counter_reset',
+ 'cursor',
+ 'letter_spacing',
+ 'outline_color',
+ 'outline_width',
+ 'word_spacing'
}
-groups = { uncommon, page, style }
+page_config = {
+ 'page_break_after',
+ 'page_break_before',
+ 'page_break_inside',
+ 'orphans',
+ 'windows'
+}
+
+style_config = {
+ 'align_content',
+ 'align_items',
+ 'align_self',
+ 'background_attachment',
+ 'background_repeat',
+ 'background_color',
+ 'background_image',
+ 'background_position',
+ 'border_collapse',
+ 'border_top_style',
+ 'border_right_style',
+ 'border_bottom_style',
+ 'border_left_style',
+ 'border_top_color',
+ 'border_right_color',
+ 'border_bottom_color',
+ 'border_left_color',
+ 'border_top_width',
+ 'border_right_width',
+ 'border_bottom_width',
+ 'border_left_width',
+ 'top',
+ 'right',
+ 'bottom',
+ 'left',
+ 'box_sizing',
+ 'caption_side',
+ 'clear',
+ 'color',
+ 'direction',
+ 'display',
+ 'empty_cells',
+ 'flex_basis',
+ 'flex_direction',
+ 'flex_grow',
+ 'flex_shrink',
+ 'flex_wrap',
+ 'float',
+ 'font_family',
+ 'font_size',
+ 'font_style',
+ 'font_variant',
+ 'font_weight',
+ 'height',
+ 'justify_content',
+ 'line_height',
+ 'list_style_image',
+ 'list_style_position',
+ 'list_style_type',
+ 'margin_top',
+ 'margin_right',
+ 'margin_bottom',
+ 'margin_left',
+ 'max_height',
+ 'max_width',
+ 'min_height',
+ 'min_width',
+ 'order',
+ 'outline_style',
+ 'overflow',
+ 'padding_top',
+ 'padding_right',
+ 'padding_bottom',
+ 'padding_left',
+ 'position',
+ 'quotes',
+ 'table_layout',
+ 'text_align',
+ 'text_decoration',
+ 'text_indent',
+ 'text_transform',
+ 'unicode_bidi',
+ 'vertical_align',
+ 'visibility',
+ 'white_space',
+ 'width',
+ 'z_index'
+}
+
+uncommon = [ x for x in properties if x['name'] in uncommon_config ]
+page = [ x for x in properties if x['name'] in page_config ]
+style = [ x for x in properties if x['name'] in style_config ]
+
+groups = [ uncommon, page, style ]
-----------------------------------------------------------------------
Summary of changes:
src/select/computed_properties.py | 394 +++++++++++++++++++++++++++----------
1 file changed, 289 insertions(+), 105 deletions(-)
diff --git a/src/select/computed_properties.py
b/src/select/computed_properties.py
index fa8218d..a9fc0e7 100644
--- a/src/select/computed_properties.py
+++ b/src/select/computed_properties.py
@@ -3,115 +3,299 @@
# http://www.opensource.org/licenses/mit-license.php
# Copyright 2017 Lucas Neves <[email protected]>
-uncommon = {
- border_spacing,
- break_before,
- break_after,
- break_inside,
- clip,
- column_count,
- column_fill,
- column_gap,
- column_rule_color,
- column_rule_style,
- column_rule_width,
- content,
- counter_increment,
- counter_reset,
- cursor,
- letter_spacing,
- outline_color,
- outline_width,
- word_spacing
+def get_tuple(from_var):
+ if type(from_var) is tuple:
+ return from_var
+ elif type(from_var) is str:
+ return (from_var,)
+ else:
+ return ()
+
+def make_type(name, css_type, size = 0, default = 'NULL',
+ bits_name = None, bits_type = None,
+ bits_size = None, bits_default = 0):
+ return {
+ 'name': name,
+ 'type': css_type,
+ 'size': size,
+ 'default': default,
+ 'bits': None if bits_name is None else {
+ 'name': bits_name,
+ 'type': bits_type,
+ 'size': bits_size,
+ 'default': bits_default
+ }
+ }
+
+# Configuration of types
+type_config = {
+ ('length', 'css_fixed', 4, 0, 'unit', 'css_unit', 5, 'CSS_UNIT_PX'),
+ ('integer', 'int32_t', 4, 0),
+ ('fixed', 'css_fixed', 4, 0),
+ ('color', 'css_color', 4, 0),
+ ('string', 'lwc_string*'),
+ ('string_arr', 'lwc_string**'),
+ ('counter', 'css_computed_counter*'),
+ ('content_item', 'css_computed_content_item*')
}
-page = {
- page_break_after,
- page_break_before,
- page_break_inside,
- orphans,
- windows
+types = [ make_type(*x) for x in type_config ]
+
+def make_property(name, opcode_size, values = None,
+ defaults = None, comments = None):
+ 'Returns a CSS property.'
+ default_tuple = get_tuple(defaults)
+ value_tuple = get_tuple(values)
+
+ return {
+ 'name': name,
+ 'size': opcode_size,
+ 'values': [ types[x] for x in value_tuple ] or None,
+ 'defaults': default_tuple or None,
+ 'comments': comments
+ }
+
+# Configuration of properties
+prop_config = {
+ # Style group, only opcode
+ ('align_content', 3),
+ ('align_items', 3),
+ ('align_self', 3),
+ ('background_attachment', 2),
+ ('background_repeat', 3),
+ ('border_collapse', 2),
+ ('border_top_style', 4),
+ ('border_right_style', 4),
+ ('border_bottom_style', 4),
+ ('border_left_style', 4),
+ ('box_sizing', 2),
+ ('caption_side', 2),
+ ('clear', 3),
+ ('direction', 2),
+ ('display', 5),
+ ('empty_cells', 2),
+ ('flex_direction', 3),
+ ('flex_wrap', 2),
+ ('float', 2),
+ ('font_style', 2),
+ ('font_variant', 2),
+ ('font_weight', 4),
+ ('justify_content', 3),
+ ('list_style_position', 2),
+ ('list_style_type', 4),
+ ('overflow', 3),
+ ('outline_style', 4),
+ ('position', 3),
+ ('table_layout', 2),
+ ('text_align', 4),
+ ('text_decoration', 5),
+ ('text_transform', 3),
+ ('unicode_bidi', 2),
+ ('visibility', 2),
+ ('white_space', 3),
+ # Style group, with additional value
+ ('background_color', 2, 'color'),
+ ('background_image', 1, 'string'),
+ ('background_position', 1, ('length', 'length')),
+ ('border_top_color', 2, 'color'),
+ ('border_right_color', 2, 'color'),
+ ('border_bottom_color', 2, 'color'),
+ ('border_left_color', 2, 'color'),
+ ('border_top_width', 3, 'length'),
+ ('border_right_width', 3, 'length'),
+ ('border_bottom_width', 3, 'length'),
+ ('border_left_width', 3, 'length'),
+ ('top', 2, 'length'),
+ ('right', 2, 'length'),
+ ('bottom', 2, 'length'),
+ ('left', 2, 'length'),
+ ('color', 1, 'color'),
+ ('flex_basis', 2, 'length'),
+ ('flex_grow', 1, 'fixed'),
+ ('flex_shrink', 1, 'fixed'),
+ ('font_size', 4, 'length'),
+ ('height', 2, 'length'),
+ ('line_height', 2, 'length'),
+ ('list_style_image', 1, 'string'),
+ ('margin_top', 2, 'length'),
+ ('margin_right', 2, 'length'),
+ ('margin_bottom', 2, 'length'),
+ ('margin_left', 2, 'length'),
+ ('max_height', 2, 'length'),
+ ('max_width', 2, 'length'),
+ ('min_height', 2, 'length'),
+ ('min_width', 2, 'length'),
+ ('order', 1, 'integer'),
+ ('padding_top', 1, 'length'),
+ ('padding_right', 1, 'length'),
+ ('padding_left', 1, 'length'),
+ ('padding_bottom', 1, 'length'),
+ ('text_indent', 1, 'length'),
+ ('vertical_align', 4, 'length'),
+ ('width', 2, 'length'),
+ ('z_index', 2, 'integer'),
+ # Style group, arrays
+ ('font_family', 3, 'string_arr', None,
+ 'Encode font family as an array of string objects, terminated with a'
+ '\n' 'blank entry.'),
+ ('quotes', 1, 'string_arr', None,
+ 'Encode quotes as an array of string objects, terminated with a '
+ 'blank entry.'),
+ # Page group
+ ('page_break_after', 3, None, 'CSS_PAGE_BREAK_AFTER_AUTO'),
+ ('page_break_before', 3, None, 'CSS_PAGE_BREAK_BEFORE_AUTO'),
+ ('page_break_inside', 2, None, 'CSS_PAGE_BREAK_INSIDE_AUTO'),
+ ('widows', 1, 'integer', ('CSS_WIDOWS_SET', 2)),
+ ('orphans', 1, 'integer', ('CSS_ORPHANS_SET', 2)),
+ # Uncommon group
+ ('border_spacing', 1, ('length', 'length'),
+ ('CSS_BORDER_SPACING_SET', 0, 'CSS_UNIT_PX', 0, 'CSS_UNIT_PX')),
+ ('break_after', 4, None, 'CSS_BREAK_AFTER_AUTO'),
+ ('break_before', 4, None, 'CSS_BREAK_BEFORE_AUTO'),
+ ('break_inside', 4, None, 'CSS_BREAK_INSIDE_AUTO'),
+ ('clip', 6, ('length, length, length, length'), ('get', 'set')),
+ ('column_count', 2, 'integer', 'CSS_COLUMN_COUNT_AUTO'),
+ ('column_fill', 2, None, 'CSS_COLUMN_FILL_BALANCE'),
+ ('column_gap', 2, 'length', 'CSS_COLUMN_GAP_NORMAL'),
+ ('column_rule_color', 2, 'color', ('CSS_COLUMN_RULE_CURRENT_COLOR', 0)),
+ ('column_rule_style', 4, None, 'CSS_COLUMN_RULE_STYLE_NONE'),
+ ('column_rule_width', 3, 'length', 'CSS_COLUMN_RULE_WIDTH_MEDIUM'),
+ ('column_span', 2, None, 'CSS_COLUMN_SPAN_NONE'),
+ ('column_width', 2, 'length', 'CSS_COLUMN_WIDTH_AUTO'),
+ ('letter_spacing', 2, 'length', 'CSS_LETTER_SPACING_NORMAL'),
+ ('outline_color', 2, 'color', 'CSS_OUTLINE_COLOR_INVERT'),
+ ('outline_width', 3, 'length', 'CSS_OUTLINE_WIDTH_MEDIUM'),
+ ('word_spacing', 2, 'length', 'CSS_WORD_SPACING_NORMAL'),
+ # Uncommon group, arrays
+ ('counter_increment', 1, 'counter', 'CSS_COUNTER_INCREMENT_NONE',
+ 'Encode counter_increment as an array of name, value pairs,\n'
+ 'terminated with a blank entry.'),
+ ('counter_reset', 1, 'counter', 'CSS_COUNTER_RESET_NONE',
+ 'Encode counter_reset as an array of name, value pairs,\n'
+ 'terminated with a blank entry.'),
+ ('cursor', 5, 'string_arr', 'CSS_CURSOR_AUTO',
+ 'Encode cursor uri(s) as an array of string objects, terminated\n'
+ 'with a blank entry'),
+ ('content', 2, 'content_item', 'CSS_CONTENT_NORMAL',
+ 'Encode content as an array of content items, terminated with '
+ 'a blank entry.')
}
-style = {
- align_content,
- align_items,
- align_self,
- background_attachment,
- background_repeat,
- background_color,
- background_image,
- background_position,
- border_collapse,
- border_top_style,
- border_right_style,
- border_bottom_style,
- border_left_style,
- border_top_color,
- border_right_color,
- border_bottom_color,
- border_left_color,
- border_top_width,
- border_right_width,
- border_bottom_width,
- border_left_width,
- top,
- right,
- bottom,
- left,
- box_sizing,
- caption_side,
- clear,
- color,
- direction,
- display,
- empty_cells,
- flex_basis,
- flex_direction,
- flex_grow,
- flex_shrink,
- flex_wrap,
- float_prop,
- font_family,
- font_size,
- font_style,
- font_variant,
- font_weight,
- height,
- justify_content,
- line_height,
- list_style_image,
- list_style_position,
- list_style_type,
- margin_top,
- margin_right,
- margin_bottom,
- margin_left,
- max_height,
- max_width,
- min_height,
- min_width,
- order,
- outline_style,
- overflow,
- padding_top,
- padding_right,
- padding_bottom,
- padding_left,
- position,
- quotes,
- table_layout,
- text_align,
- text_decoration,
- text_indent,
- text_transform,
- unicode_bidi,
- vertical_align,
- visibility,
- white_space,
- width,
- z_index
+properties = [ make_property(*x) for x in prop_config ]
+
+uncommon_config = {
+ 'border_spacing',
+ 'break_before',
+ 'break_after',
+ 'break_inside',
+ 'clip',
+ 'column_count',
+ 'column_fill',
+ 'column_gap',
+ 'column_rule_color',
+ 'column_rule_style',
+ 'column_rule_width',
+ 'content',
+ 'counter_increment',
+ 'counter_reset',
+ 'cursor',
+ 'letter_spacing',
+ 'outline_color',
+ 'outline_width',
+ 'word_spacing'
}
-groups = { uncommon, page, style }
+page_config = {
+ 'page_break_after',
+ 'page_break_before',
+ 'page_break_inside',
+ 'orphans',
+ 'windows'
+}
+
+style_config = {
+ 'align_content',
+ 'align_items',
+ 'align_self',
+ 'background_attachment',
+ 'background_repeat',
+ 'background_color',
+ 'background_image',
+ 'background_position',
+ 'border_collapse',
+ 'border_top_style',
+ 'border_right_style',
+ 'border_bottom_style',
+ 'border_left_style',
+ 'border_top_color',
+ 'border_right_color',
+ 'border_bottom_color',
+ 'border_left_color',
+ 'border_top_width',
+ 'border_right_width',
+ 'border_bottom_width',
+ 'border_left_width',
+ 'top',
+ 'right',
+ 'bottom',
+ 'left',
+ 'box_sizing',
+ 'caption_side',
+ 'clear',
+ 'color',
+ 'direction',
+ 'display',
+ 'empty_cells',
+ 'flex_basis',
+ 'flex_direction',
+ 'flex_grow',
+ 'flex_shrink',
+ 'flex_wrap',
+ 'float',
+ 'font_family',
+ 'font_size',
+ 'font_style',
+ 'font_variant',
+ 'font_weight',
+ 'height',
+ 'justify_content',
+ 'line_height',
+ 'list_style_image',
+ 'list_style_position',
+ 'list_style_type',
+ 'margin_top',
+ 'margin_right',
+ 'margin_bottom',
+ 'margin_left',
+ 'max_height',
+ 'max_width',
+ 'min_height',
+ 'min_width',
+ 'order',
+ 'outline_style',
+ 'overflow',
+ 'padding_top',
+ 'padding_right',
+ 'padding_bottom',
+ 'padding_left',
+ 'position',
+ 'quotes',
+ 'table_layout',
+ 'text_align',
+ 'text_decoration',
+ 'text_indent',
+ 'text_transform',
+ 'unicode_bidi',
+ 'vertical_align',
+ 'visibility',
+ 'white_space',
+ 'width',
+ 'z_index'
+}
+
+uncommon = [ x for x in properties if x['name'] in uncommon_config ]
+page = [ x for x in properties if x['name'] in page_config ]
+style = [ x for x in properties if x['name'] in style_config ]
+
+groups = [ uncommon, page, style ]
--
Cascading Style Sheets library
_______________________________________________
netsurf-commits mailing list
[email protected]
http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org