[webkit-dev] Remove SVGTests.hasExtension?

Philip Jägenstedt foolip at chromium.org
Mon Jun 10 02:12:37 PDT 2019


FWIW, here's the original intent to remove it from Chromium:
https://groups.google.com/a/chromium.org/d/msg/blink-dev/Ae_lmov16_o/Wa5XhHFoAAAJ

We had use counters, and I wrote "Usage is zero for all of them."

When concerned about usage in the wild, the tool we usually use for
Chromium is httparchive, currently containing ~460k pages. I just did a
quick search and found 230 matches for ".hasExtension(". But most are
".hasExtension()" and obviously not use of this API. A search for the
regexp r'\.hasExtension\([^)]' gives only 34 matches, listed here:
https://gist.github.com/foolip/5081f13794baafcd400d8630778dad86

A larger CSV with the bodies included:
https://drive.google.com/file/d/1neFKBtmyjOLaRb_sppP3cmMeFEXfiGqr/view?usp=sharing

Skimming that, I can't find any real usage of SVG's hasExtension, it seems
to be mostly utility code around file extensions.

Ryosuke, does that address the concern of existing content, or is there
anything else you'd check?

Note that in the case of Range's detach, I don't think anyone made an
attempt to remove it:
https://www.w3.org/Bugs/Public/show_bug.cgi?id=14591

There are 865,911 resources (more than there are pages) matching
".detach()" in httparchive, probably also mostly not real usage, but still
putting it in a very different situation than hasExtension :)

HTH

On Sat, Jun 8, 2019 at 12:42 AM Ryosuke Niwa <rniwa at webkit.org> wrote:

> The concern here isn't with the future versions of Edge or Firefox but
> rather with the content that may be relying on this feature even
> unintentionally.
> Removing a JS method or object is very high risk because that could result
> in an immediate JS exception and break a key functionality of a website.
>
> This is why HTML and DOM standards has a bunch of methods that don't do
> anything like Range's detach:
> https://dom.spec.whatwg.org/#dom-range-detach
>
> - R. Niwa
>
> On Fri, Jun 7, 2019 at 11:54 AM Frédéric Wang <fwang at igalia.com> wrote:
>
>> Patch for Firefox was uploaded 4 years ago and they announced plan for
>> removal at that time. We pinged Mozilla some weeks ago about it, they
>> landed the patch and announced it:
>>
>> https://bugzilla.mozilla.org/show_bug.cgi?id=1133175
>>
>> https://www.fxsitecompat.com/en-CA/docs/2019/hasextension-has-been-removed-from-some-svg-interfaces/
>>
>> https://www.fxsitecompat.com/en-CA/docs/2015/several-properties-will-be-removed-from-svgsvgelement/
>>
>> I didn't check Edge, but Microsoft is migrating to Chromium so that's not
>> going to be there in future versions.
>>
>> On 07/06/2019 20:40, Ryosuke Niwa wrote:
>>
>> Does Edge support it? When did Firefox remove this feature?
>>
>> On Fri, Jun 7, 2019 at 1:55 AM Frédéric Wang <fwang at igalia.com> wrote:
>>
>>> Hi,
>>>
>>> 4 years ago, the SVG WG resolved to remove SVGTests.hasExtension due to lack of use and being a poor API.
>>> It was removed from Chromium at that time and has been removed from Firefox recently.
>>>
>>> I'm not sure whether the WebKit community is willing to keep that feature. Anyway I opened a bug entry to track possible removal:
>>> https://bugs.webkit.org/show_bug.cgi?id=198652
>>>
>>> --
>>> Frédéric Wang
>>>
>>> _______________________________________________
>>> webkit-dev mailing list
>>> webkit-dev at lists.webkit.org
>>> https://lists.webkit.org/mailman/listinfo/webkit-dev
>>>
>> --
>> - R. Niwa
>>
>>
>> --
>> Frédéric Wang
>>
>> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20190610/2bb9d6d3/attachment.html>


More information about the webkit-dev mailing list