On Mon, Feb 13, 2012 at 1:02 PM, Maciej Stachowiak <[email protected]> wrote:
>
> On Feb 10, 2012, at 4:09 PM, Ryosuke Niwa wrote:
>
>> Hi all,
>>
>> In general, the decision of whether a given feature is enabled or not is 
>> made by each port. However, at last year's W3C TPAC, there were complaints 
>> from other participants about WebKit shipping half-baked implementations and 
>> breaking feature-detection.
>>
>> As an example, when WebKit enabled new types for form controls, we didn't 
>> initially have useful UIs. This resulted in breaking websites that relied on 
>> feature-detection to decide whether to use new types or fallback to JS-based 
>> fallback UI. Now those websites need to rely on navigator string. (I don't 
>> intend to name-call anyone or blame this instance in particular).
>>
>> So when is a Web-facing feature implemented in WebKit good enough to be 
>> enabled by any port? Should there be some set of criteria to be met?
>
> I think you raise a good point. Another point worth mentioning is that 
> sometimes a feature can be complete and useful in one port, but half-baked in 
> another (for example, fullscreen API was shipped in Safari and at the same 
> time present but non-functional in Chrome).
>
> I think in the past, port owners have made clear that they want to own the 
> final decisions on what features are enabled in their ports.
>
> But we as a community could do better, by having a shared recommendation of 
> what features we think should be enabled in shipping releases. In some cases, 
> this may not match the settings on trunk, as some features may be desirable 
> to enable for experimental builds, but not in shipping product. For features 
> that we recommended disabling, ideally we'd identify a reason. And in some 
> cases, those might be port-specific issues.
>
> Would other port owners find such a list useful? Is anyone else willing to 
> help maintain it? I think a good place to keep it would be in WebKit SVN, and 
> we should treat it as if it was shared cross-platform code, which means 
> anything in the list would require community consensus, not port-specific 
> decisions. In some cases, we may have a hard time coming to agreement, in 
> which case the default should probably be no recommendation either way.
>
> For features that we recommend for all ports and that do not have port 
> specific issues, we might even consider removing the ENABLE flag.

One idea we've kicked around is to replace the binary on/off flags for
features (e.g., in features.gypi for the Chromium port) with something
like off/nightly/beta/stable.  That way folks can think about whether
they want to enable features for nightly, beta, or stable builds on a
given port.  This mechanism also gives the community a better sense
for the perceived maturity of each feature.

Adam
_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to