Primary eng (and PM) emails
e...@opera.com
Link to “Intent to Deprecate” thread
https://groups.google.com/a/chromium.org/d/msg/blink-dev/r2aARnIHG4k/mGAsu9RGKSMJ
Summary
Make DOMImplementation.hasFeature() return true always.
Motivation
hasFeature() is an antiquated form of feature detection. By philipj's
request, the spec was changed to make it always return true:
https://dom.spec.whatwg.org/#dom-domimplementation-hasfeature
http://lists.w3.org/Archives/Public/www-dom/2014JanMar/0157.html
https://www.w3.org/Bugs/Public/show_bug.cgi?id=25428
The alternative path to get the spec and implementations to agree is to
figure out the exact inputs for which hasFeature() should return false,
and that doesn't seem like fun. As an example, Gecko and Blink do not
agree about `document.implementation.hasFeature("org.w3c.svg", "1.0")`.
Usage information from UseCounter
Total usage of hasFeature:
https://www.chromestatus.com/metrics/feature/timeline/popularity/230 (~5%)
hasFeature returning false:
https://www.chromestatus.com/metrics/feature/timeline/popularity/231
(~0.0045%)
hasFeature returning false internally (in svg code):
https://www.chromestatus.com/metrics/feature/timeline/popularity/594 (0%)
What these counters measure is first, all callers of
DOMImplementation.hasFeature(). Second, how often the hasFeature call
results in false being returned. And third, how often false was returned
in SVG content as part of switch/requiredFeatures tests.
Entry on
chromestatus.com
https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation.hasFeature
Compatibility Risk
The only case where hasFeature() returns false is for SVG features. Thus
there may be some SVG apps that use this for feature detection, which
would stop working partially or fully. However, same as for hasFeature in
general, the granularity and reliability of this in svg is not that good
anyway.
--
Erik Dahlstrom, Web Technology Developer, Opera Software
Co-Chair, W3C SVG Working Group