[webkit-dev] Following up on removing -khtml- and -apple- CSS vendor prefixes

Ryosuke Niwa rniwa at webkit.org
Thu May 3 19:57:48 PDT 2012


Resent from the right email address.

---------- Forwarded message ----------
From: Ryosuke Niwa <rniwa at berkeley.edu>
Date: Thu, May 3, 2012 at 7:49 PM
Subject: Re: [webkit-dev] Following up on removing -khtml- and -apple- CSS
vendor prefixes
To: Adam Barth <abarth at webkit.org>
Cc: Alexey Proskuryakov <ap at webkit.org>, webkit-dev at lists.webkit.org


On Fri, Apr 6, 2012 at 4:27 PM, Adam Barth <abarth at webkit.org> wrote:

> 2012/4/5 Alexey Proskuryakov <ap at webkit.org>:
> > 05.04.2012, в 01:08, Adam Barth написал(а):
> >
> >> Based on this information, I've posted a patch that limits the -apple-
> >> and -khtml- vendor prefixes to ENABLE(DASHBOARD_SUPPORT):
> >>
> >> https://bugs.webkit.org/show_bug.cgi?id=83256
> >>
> >> This approach lets ports that wish to remain compatible with Dashboard
> >> widgets continue to support these prefixes while also letting ports
> >> that aren't constrained by dashboard widgets disable them, hopefully
> >> lessening their use on the broader web.
> >
> > Guarding on ENABLE(DASHBOARD_SUPPORT) will make it so that these names
> will be available in Safari on Mac, in every Mac application that uses
> WebKit, but not in Safari on Windows or iOS, and not in other WebKit based
> browsers such as Chrome. I don't think that this level of fragmentation is
> good.
> >
> > We normally guard Dashboard-only quirks with
> settings->usesDashboardBackwardCompatibilityMode().
>
> I attempted to implement this approach in
> <https://bugs.webkit.org/attachment.cgi?id=136093&action=prettypatch>,
> but I ran into a problem because cssPropertyID is a free function.
> Requiring all the callers to pass in a Settings object seems
> undesirable.  Note: there are already a number of uses of
> ENABLE(DASHBOARD_SUPPORT) in CSSParser.cpp, and none of them check
> usesDashboardBackwardCompatibilityMode().
>

I don't think you need to do that. Looking at your latest work-in-progress
patch, it's probably sufficient to add a guard in CSSParser.cpp. It's okay
to have those free functions (in fact we DO need them)
when ENABLE(DASHBOARD_SUPPORT) is true
and usesDashboardBackwardCompatibilityMode() is false since they will never
be called if the parser rejects values.

- Ryosuke
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20120503/637dcf0b/attachment.html>


More information about the webkit-dev mailing list