[webkit-dev] StyleBuilder vs StyleResolver

Dirk Schulze dschulze at adobe.com
Thu Apr 11 21:36:08 PDT 2013


The style of CSS properties is either set in StyleBuilder/CSSProperty or in StyleResolver (alias CSSStyleSelector). 

StyleResolver has a giant switch statement to handle all CSS property values and set the style. It is the historical way to build the style.

StyleBuilder was introduced ~2 years ago. Instead of a giant switch to handle all property styles, it has a concept of template to combine CSS property handling.

In these last two years new properties were mainly added to StyleBuilder, older properties were left alone in StyleResolver. The concept of StyleBuilder was always controversial[1][2]. A lot of people had concerns that StyleBuilder is less readable and makes it harder to understand the code.

I personally am more worried that we still have two ways to set the style. I think it is bad to keep half of the properties in StyleResolver and the other half in StyleBuilder. We may use the general "spring cleanup" to revalidate the concept of StyleBuilder and StyleResolver and decide to use the one or the other concept.

Any thoughts?


[1] https://bugs.webkit.org/show_bug.cgi?id=54707
[2] https://bugs.webkit.org/show_bug.cgi?id=102844

More information about the webkit-dev mailing list