[webkit-dev] StyleBuilder vs StyleResolver
koivisto at iki.fi
Fri Apr 12 01:08:02 PDT 2013
On Fri, Apr 12, 2013 at 7:36 AM, Dirk Schulze <dschulze at adobe.com> wrote:
> 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. A lot of people had concerns
> that StyleBuilder is less readable and makes it harder to understand the
> 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?
Fully agreed. I'm still sad I couldn't stop this refactoring initially. So
much wasted effort.
Having property applying code in a separate class instead of piling it back
to StyleResolver still makes sense though and StyleBuilder is a good name.
Maybe something like this would be a good strategy?
rename StyleBuilder -> DeprecatedStyleBuilder
create new StyleBuilder
move the giant switch and the related functions from StyleResolver
move individual properties from DeprecatedStyleBuilder to StyleBuilder
until nothing remains
>  https://bugs.webkit.org/show_bug.cgi?id=54707
>  https://bugs.webkit.org/show_bug.cgi?id=102844
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the webkit-dev