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

Reply via email to