On Sat, Feb 16, 2013 at 11:26 PM, Dirk Schulze <dschu...@adobe.com> wrote: > On Feb 16, 2013, at 10:50 PM, Maciej Stachowiak <m...@apple.com> wrote: >> On Feb 16, 2013, at 10:16 PM, Dirk Schulze <dschu...@adobe.com> wrote: >>> On Feb 16, 2013, at 6:54 PM, Adam Barth <aba...@webkit.org> wrote: >>> >>>> It's much easier to discuss a concrete example. Which interface are >>>> you interested in deprecating? >>> >>> I can understand that it is easier to discuss on a concrete example, even >>> if I would like to discuss this in a general scope. We have multiple >>> interfaces that we may want to deprecate at some point. >>> >>> A concrete example I thought about is WebKitCSSMatrix[1]. It is not used in >>> WebCore yet but hopefully replaced by a standardized Matrix interface in >>> the future[2]. This new interface will not be fully compatible to >>> WebKitCSSMatrix and I would like to warn authors before they actually start >>> using it. >> >> Since you're the one designing the new interface (or at least you are the >> spec editor), why don't you just make it compatible? Breaking changes to >> existing Web APIs should only be done as a last resort, and I don't >> understand the justification for doing it here. > > It is a proposal so far and no draft yet. Technically, I am not the editor of > it so. The proposal has quite some way to go (hopefully not too much) and I > do not plan to land anything in this direction as long as the responsible WGs > did not agree on continuing with the proposal and the general direction. I > will post a separate mail with the actual feature implementation announcement > when the time comes. > >> Then we have a much simper transition story, and WebKitCSSMatrix can be >> aliased to the new class. > > I indeed tried to preserve the behavior of WebKitCSSMatrix as much as > possible. I got an action of the SVG WG to work on a replacement for > SVGMatrix. The highest priority was to preserver the behavior of SVGMatrix > (which is definitely actively used by web content) and provide a basic > interface that can be used beyond just SVG. There are a lot of use cases in > the near future for a generalized matrix IMO. SVG, CSS Transforms, Canvas and > WebGL are the obvious once. A specification interoperable format to share > transformation data seems extremely desirable. I encourage everyone who is > interested to look at the proposal and give feedback. > >> >>> >>> Again, I think it would be better to discuss this in a wider scope but am >>> happy to discuss it on the concrete example as well. This actually might >>> make it easier to come up with general rules in the future. >> >> I think spamming the console is not a useful thing to do for interfaces that >> actually have significant usage in the wild. A more productive step would be >> to measure usage of WebKitCSSMatrix. If it's reasonably high, we're not >> going to be able to remove it. > > I agree that we need more metrics to discuss the next active steps on > WebKitCSSMatrix and I already uploaded a patch to add it to the > FeatureObserver[1]. > > The question remains: How do we want to continue with deprecating WebKit > specific features in the long term. Especially when we have a standard > compliant replacement. It is extremely hard to maintain all different > behaviors. So far we have multiple implementations of background, flex-box, > gradients to name some. This doesn't scale very well and there will be a time > where we can not guarantee for the correct functioning of old features. This > is a problem that other browsers like IE are focused for quite some time as > well (not necessarily successfully). As long as we are concerned to deprecate > and remove features, we increase the complexity of the code base. Less and > less reviewers will be able to determine the behavior of patches to the > general code base, while we increase the feature count and interoperability > between modules more and more. There is no other way then to risk breaking > content that relies on non-standardized behavior of platforms. And we should > formalize this to give a bit more reliability to web authors. The last section on [2] is too vague at the moment.
I don't think we're be successful at formalizing a general approach at this time. Instead, we should consider each case in turn and use our best judgement. If a pattern emerges over time, we might want to document that pattern in http://trac.webkit.org/wiki/DeprecatingFeatures. At the moment, deprecating WebKitCSSMatrix seems premature as there isn't yet a suitable replacement. Adam _______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-dev