Index

backlog

author:$LastChangedBy: cthedot $
date:$LastChangedDate: 2007-11-25 19:15:02 +0100 (So, 25 Nov 2007) $
version:$LastChangedRevision: 700 $

improvements

test improvements

prio:1
  • Token.EOF handle in all classes for end of stylesheet

    User agents must close all open constructs (for example: blocks, parentheses, brackets, rules, strings, and comments) at the end of the style sheet.

  • line/col reporting tests

  • tests with almost all details with comments

  • check escape handling:

    \\@a \\{ \\: : \\; ; \\} }
    .\1 is valid selector
    
  • csshack tests, see online tables (comment hack?)

  • test tigris.css

  • implement testsuite on HTML? http://www.w3.org/Style/CSS/Test/CSS3/Selectors/current/xhtml/index.html

  • CSSStyleSheet.setSerializer()

  • CSSStyleSheet.setSerializerPref()

@unknown

prio:2

needs to be parsed properly, check for open blocks () [] {}, etc

CSS2Properties

prio:2

needs to be implemented fully, setting of margin: 1px sets actually marginTop, marginLeft etc

@namespace

prio:3
  • stylesheet:
    • tests for undeclared prefixes in stylerules, mediarule
    • use parentRule or parentStyleSheet to look for @namespace!
    • remove from stylesheet!
  • CSSRule.nsvalid ?

CSSValue

prio:3

this feature may be implemented later as CSSOM defines the complete thing differently

implement RGBColor, Rect and Counter

serializer

  • add preference option how color values should be serializer:

    ser.prefs.COLORS_HEX, also the DEFAULT?

    e.g. #123, so short form is possible ignored for rgba()

    ser.prefs.COLORS_HEXFULL

    e.g. #112233, so always 6digit hex ignored for rgba()

    ser.prefs.COLORS_RGB_INTEGER

    e.g. rgb(1.1, 55, 255), so range from 0-255 also for rgba()

    ser.prefs.COLORS_RGB_PERCENTAGE

    e.g. rgb(10%, 20%, 100%), so range from 0 to 100% also for rgba()

    ser.prefs.COLORS_FROM_SOURCE

    use colors as used in CSS Source

    additionally:
    ser.prefs.NAMED_COLORS

    e.g. white for #fff or rgb(100%, 100%, 100%)

  • refactor: all preferences values should be constansts like above

performance

prio:3
  • Use of the XIST CSS-tokenizer

    TODO:

    • renaming of tokens
    • add of line and column information
  • other bottlenecks

new features

Selector

prio:1
  • CSS2XPath converter? -> lxml.cssselector!
  • optimize selector parsing
  • add query functionality

serializer

prio:2
  • prettyprint convinience serializer?
  • XML serializer to be able to handle CSS with XSLT, schemas etc?
  • different coding styles?

rbga()

prio:3

implement rgba

  • names colors:

    Black = #000000             Green = #008000
    Silver = #C0C0C0            Lime = #00FF00
    Gray = #808080              Olive = #808000
    White = #FFFFFF             Yellow = #FFFF00
    Maroon = #800000            Navy = #000080
    Red = #FF0000               Blue = #0000FF
    Purple = #800080            Teal = #008080
    Fuchsia = #FF00FF           Aqua = #00FFFF
    
  • "transparent"

  • rgba(R, G, B, opacity): opacity in range (0,1)

  • hsl(), hsla() ?

  • SVG colors?

  • "currentColor"

  • System Colors are DEPRECATED!

  • "flavor"?

Properties

prio:3

Set styledeclaration properties with dict or list of tuples?

LinkStyle, DocumentStyle

prio:3
// Introduced in DOM Level 2:
interface LinkStyle {
  readonly attribute StyleSheet       sheet;
};
// Introduced in DOM Level 2:
interface DocumentStyle {
  readonly attribute StyleSheetList   styleSheets;
};