[webkit-dev] Remove SVGTests.hasExtension?

Maciej Stachowiak mjs at apple.com
Mon Jun 10 08:31:39 PDT 2019


The one remaining thing we could potentially worry about is platform-specific content, like books or content embedded in apps. But given what SVGTests.hasExtension() is supposed to do, that seems very unlikely.

Since SVG WG resolved to remove it, has it in fact been removed from the SVG spec?

Regards,
Maciej



> On Jun 10, 2019, at 2:12 AM, Philip Jägenstedt <foolip at chromium.org> wrote:
> 
> 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 <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 <https://gist.github.com/foolip/5081f13794baafcd400d8630778dad86>
> 
> A larger CSV with the bodies included:
> https://drive.google.com/file/d/1neFKBtmyjOLaRb_sppP3cmMeFEXfiGqr/view?usp=sharing <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 <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 <mailto: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 <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 <mailto: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://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/2019/hasextension-has-been-removed-from-some-svg-interfaces/>
> https://www.fxsitecompat.com/en-CA/docs/2015/several-properties-will-be-removed-from-svgsvgelement/ <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 <mailto: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 <https://bugs.webkit.org/show_bug.cgi?id=198652>
>> -- 
>> Frédéric Wang
>> _______________________________________________
>> webkit-dev mailing list
>> webkit-dev at lists.webkit.org <mailto:webkit-dev at lists.webkit.org>
>> https://lists.webkit.org/mailman/listinfo/webkit-dev <https://lists.webkit.org/mailman/listinfo/webkit-dev>
>> -- 
>> - R. Niwa
> 
> -- 
> Frédéric Wang
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org <mailto:webkit-dev at lists.webkit.org>
> https://lists.webkit.org/mailman/listinfo/webkit-dev <https://lists.webkit.org/mailman/listinfo/webkit-dev>
> _______________________________________________
> 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/b6ca7789/attachment.html>


More information about the webkit-dev mailing list