Re: Should implementors copy vendor prefixes from each other?

On May 15, 2009, at 2:41 PM, Daniel Glazman wrote:

> L. David Baron wrote:
>
>> When implementors are implementing experimental properties that have
>> already been implemented by other vendors, should they copy vendor
>> prefixes from each other, or not?
>> For example, if Mozilla is implementing the 'transition-delay'
>> property [1], which is already implemented in WebKit as
>> '-webkit-transition-delay', should it implement it as
>> '-moz-transition-delay' (the approach we've taken so far) or
>> '-webkit-transition-delay'?
>
> It's a complex but very good question. Let me push it to the
> limits: if Mozilla implements -webkit-* properties, I don't
> understand why prefixes exist at all. BTW, a third option
> for your case above is -moz-webkit-transition-delay. I'm not
> saying it's not crazy but it's logical...
>
> But let's go back to your question.
> On one hand, prefixes are used the following ways:
>
>  1. experimental properties that are not fully conformant to the spec
>  2. proprietary properties
>
> In the second case, if Mozilla starts implementing an Apple  
> proprietary
> property for instance, then the property should probably be  
> standardized
> and at some point in the future you'll want the -moz-* version.
>
> In the first case, browser vendors use prefixes until they're sure  
> their
> implementations is conformant to the spec. This is a positive and a  
> very
> bad thing at the same time. I have seen so many style sheets on the  
> Web
> these days with
>
>  -moz-border-radius: 5px;
>  -webkit-border-radius: 5px;
>  border-radius: 5px;
>
> Am I the only one here to find that totally crazy?

yes, it is a little crazy at times. But then. Different vendor  
implement things at different times, based on the most recent draft of  
a given spec.
Take the example of border-radius.
The shorthand example above is pretty easy. But try to use the long  
hand version

	-webkit-border-top-left-radius: 10px;
	-moz-border-radius-topleft:10px; /* based on some old draft */

or

	-moz-border-radius: 10px 3px 10px 3px;
	-webkit-border-radius: 10px 3px 10px 3px; /* but this doesn't work -  
broken or not implemented*/

Or take the box-shadow property. Gecko 1.9.1 implements what is in the  
current draft; WebKit doesn't support the 'inset' keyword, nor the  
'offset value.

As an author, I prefer separate vendor prefixes, even if it is a  
little crazy, and a little confusing - and some  bloat in the  
stylesheet.

Philippe
---
Philippe Wittenbergh
http://l-c-n.com/

Received on Friday, 15 May 2009 06:06:22 UTC