On Fri, Apr 12, 2013 at 7:36 AM, Dirk Schulze <dschu...@adobe.com> wrote:

> Hi,
>
> 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?


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
to StyleBuilder
move individual properties from DeprecatedStyleBuilder to StyleBuilder
until nothing remains
delete DeprecatedStyleBuilder


   antti


> Greetings,
> Dirk
>
> [1] https://bugs.webkit.org/show_bug.cgi?id=54707
> [2] https://bugs.webkit.org/show_bug.cgi?id=102844
> _______________________________________________
> webkit-dev mailing list
> webkit-dev@lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev
>
_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to