[Dillo-dev] css

Johannes Hofmann Johannes.Hofmann at gmx.de
Wed Oct 22 18:36:33 CEST 2008


Hi,

here comes my proposal to get css support started. Note that I'm new
to this stuff so I will probabely simplify things a lot and miss many
issues that will have to be addressed later on.

* Separate out the style handling from html.cc in a new class
  StyleEngine (better name welcome).
  This class will be fed the html tree via a SAX like interface as the
  document is parsed and will hand out the current Style object.

* Initially StyleEngine will be implemented to just mimic the
  current behaviour of html.cc. So after this step everything should
  work as currently.

* Then we can design the data structures to hold parsed css data and
  make StyleEngine use these structures which will be statically
  filled initially.
  Again dillo should work as it does now.

* Next we can implement a css parser that is able to fill the data
  structures from the last step.
  Now we should already be able to set a fixed user style sheet.

* Hooking up the css parser to automatically load css information as
  referenced in html pages would be next.

* In parallel to all this we would need to make floating objects
  work in dw/textblock.cc.

This approach has some issues. In contrast to
http://www.dillo.org/CSS.html it would only be possible to apply
style information that is available when starting parsing of a
document. However we could start rendering with what style
information is available and reload once all css files have been
loaded.
Currently dillo parses attributes on demand. So we don't have a
complete list of attributes and their values. As StyleEngine might
access any attribute, we might need to change this.

Comments or more advanced plans would be more than welcome!

Cheers,
Johannes



More information about the Dillo-dev mailing list