Age | Commit message (Collapse) | Author | |
---|---|---|---|
2011-08-02 | don't reuse user- and useragent-stylesheet | Johannes Hofmann | |
The notMatchingBefore variable in CssSelector is modified as a page is styled. Thererfore we can't share a single copy of the user- and useragent-stylesheets between CssContexts. Testcase: <html> <body> <a href=whatever.html> <img alt=test src=whatever.jpg> </a> <div> <img src=something.jpg> </div> </body> </html> On reload the first image looses it's border. Tests with gettimeofday showed times below 1ms to create user- and useragent-styles on a Pentium-M 1.8 GHz laptop. reported-by: corvid <corvid@lavabit.com> | |||
2011-06-07 | support !important in style attributes | Johannes Hofmann | |
2010-11-24 | trim some spaces | corvid | |
2010-10-17 | no need to inline CssPropertyList copy constructor | Johannes Hofmann | |
2010-10-12 | implement optional deep copy for CssPropertyList | Johannes Hofmann | |
2010-10-11 | allow to apply CssContext to an arbitrary node in the docTree | Johannes Hofmann | |
2010-10-11 | rework nonCssHints API of StyleEngine | Johannes Hofmann | |
* Instead of passing the nonCssHints as a CssPropertyList, set the hints separately and create the list in StyleEngine. * The CssPropertyList holding the nonCssHints is now completely managed by StyleEngine and kept on the stack. * Replace the table_cell_props mechanic in html.cc/table.cc with a new method inheritNonCssHints() in StyleEngine. | |||
2010-08-23 | add lout::misc::roundInt() for double -> int conversion | Johannes Hofmann | |
Add lout::misc::roundInt() and use it for double -> int conversion instead of doing the + 0.5 trick all over the place. It was wrong for negative values and we might even replace roundInt() with rint() from libm in the future. Reported-by: corvid | |||
2010-04-23 | use CSS rule position when specificity is equal | Johannes Hofmann | |
When two CSS rules have the same specificity make sure they are applied in the order as they appear in the stylesheets (see [1]). Testcase: <html><head><style> A:link {color: red} A.foo {color: green} </style></head><body> <a class="foo" href=http://www.dillo.org>should be green</a> </body></html> Reported by: corvid [1] http://www.w3.org/TR/CSS2/cascade.html#cascading-order | |||
2010-04-20 | css word-spacing property | corvid | |
2010-04-02 | add CSS_TYPE_LENGTH_PERCENTAGE_NUMBER | Johannes Hofmann | |
* Add an additional CssValueType CSS_TYPE_LENGTH_PERCENTAGE_NUMBER which can be a length, a percentage, or a number without unit. * Numbers without units are represented as CssLength of type CSS_LENGTH_TYPE_NONE. * Properly detect numbers without unit in cases where they are not allowed (see testcase below). For lengths only '0' can be specified without unit. Testcase: <html> <head> <style tyoe="text/css"> div {border: solid black 2px} </style> </head> <body> <!-- correct - border-width should be set to 0 -> no border --> <div style="border-width: 0">foo bar</div> <!-- false - border-width should be left untouched -> 2px border --> <div style="border-width: 40">foo bar</div> <!-- false - border-width should be left untouched -> 2px border --> <div style="border-width: 40 px">foo bar</div> </body> </html> | |||
2009-12-18 | support border-width: thin | medium | thick | Johannes Hofmann | |
2009-10-18 | represent millimeter values as fractions in CssLength | Johannes Hofmann | |
E.g. for letter-spacing sub-millimeter values actually make a difference. The maximum value that is representable is now 65535 mm which should be enough in most cases. | |||
2009-10-17 | add letter-spacing support to CSS subsystem | Johannes Hofmann | |
The implementation in the fltk backend is still missing. | |||
2009-07-17 | Fix an implicit int cast error when int != int32_t | Jorge Arellano Cid | |
2009-07-11 | allow multiple class strings in CssSimpleSelector | Johannes Hofmann | |
2009-07-11 | make CssSimpleSelector members private | Johannes Hofmann | |
2009-07-07 | Added parenthesis to math expression | Jorge Arellano Cid | |
2009-07-06 | adjust CssLength | Johannes Hofmann | |
CssLength now stores px and mm values as pure integers similar to what dw::core::style::Length does. | |||
2009-04-23 | comments | Johannes Hofmann | |
2009-03-23 | allow negative values for specific CSS properties only | Johannes Hofmann | |
This needs to be done at parser level, so that alternative settings can overrule a faulty negative one. Testcase: <html> <head> <style type="text/css" > #foo {padding: -1px; background-color: green} .bar {padding: 10px} </style> </head> <body> <div id="foo" class="bar">should be green and have 10px padding</div> </body> </html> | |||
2009-03-15 | move CssOrigin definition to css.hh | Johannes Hofmann | |
2009-03-12 | replace CSS_LENGTH_* macros with inline functions | Johannes Hofmann | |
2009-02-09 | whitespace cleanup: 's/ +$//g' | Jorge Arellano Cid | |
2009-02-08 | 's/if(/if (/g' 's/for(/for (/g' 's/while(/while (/g', and indentation. | Jorge Arellano Cid | |
2009-02-07 | free CSS values based on type | Johannes Hofmann | |
2009-02-06 | support font-size enum values | Johannes Hofmann | |
2009-02-06 | switch font-weight handling to new multi type system | Johannes Hofmann | |
2009-02-06 | add type to CSS properties | Johannes Hofmann | |
2009-02-05 | move CssProperty::Name and CssProperty::Value out of CssProperty class | Johannes Hofmann | |
2009-02-05 | add CssProperty::type | Johannes Hofmann | |
2009-01-30 | insert rules in correct order | Johannes Hofmann | |
2009-01-30 | add CssRule::specificity | Johannes Hofmann | |
2009-01-30 | add CssSelector::specificity() | Johannes Hofmann | |
2009-01-30 | inline some CSS methods | Johannes Hofmann | |
2009-01-30 | CssContext::addRule(): only add rules with nonempty property list | Johannes Hofmann | |
2009-01-30 | remove unused method | Johannes Hofmann | |
2009-01-29 | free font names when replacing them | Johannes Hofmann | |
2009-01-28 | make sure strings from CSS parser are freed | Johannes Hofmann | |
2009-01-28 | descendent -> descendant (noticed by corvid) | Johannes Hofmann | |
2009-01-25 | allocate/deallocate CssSimpleSelector properly | Johannes Hofmann | |
2009-01-21 | don't call docTree->top() over and over | Johannes Hofmann | |
2009-01-21 | move assert from CssSelector::match() to CssRule constructor | Johannes Hofmann | |
2009-01-21 | simplify CssSelector a bit | Johannes Hofmann | |
2009-01-13 | merge | Johannes Hofmann | |
2009-01-13 | initial implementation of a CSS selector matching optimization | Johannes Hofmann | |
The idea is to avoid repeated checks of CssSimpleSelector against the same part of the doctree. E.g .navigation * { background-color:green } Would result in checking for class="navigation" all the way down to the document root for all elements. The optimization shortcuts this, for parts of the doctree that have been checked before. | |||
2009-01-12 | whitespace | Johannes Hofmann | |
2009-01-12 | add RuleList class to implement proper memory management | Johannes Hofmann | |
2009-01-12 | String -> ConstString | Johannes Hofmann | |
2009-01-12 | remove CssRule reference counting | Johannes Hofmann | |