<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>25428</bug_id>
          
          <creation_ts>2014-04-23 13:52:59 +0000</creation_ts>
          <short_desc>hasFeature removal was premature</short_desc>
          <delta_ts>2015-08-03 13:02:13 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebAppsWG</product>
          <component>DOM</component>
          <version>unspecified</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          <see_also>https://bugzilla.mozilla.org/show_bug.cgi?id=984778</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Philip Jägenstedt">philipj</reporter>
          <assigned_to name="Anne">annevk</assigned_to>
          <cc>bugs</cc>
    
    <cc>crimsteam</cc>
    
    <cc>ehsan</cc>
    
    <cc>mike</cc>
    
    <cc>www-dom</cc>
          
          <qa_contact>public-webapps-bugzilla</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>104265</commentid>
    <comment_count>0</comment_count>
    <who name="Philip Jägenstedt">philipj</who>
    <bug_when>2014-04-23 13:52:59 +0000</bug_when>
    <thetext>hasFeature was made to always return true on my request.

It looks like I underestimated just how much the use counter data can change when it reaches the stable channel:
http://www.chromestatus.com/metrics/feature/timeline/popularity/230
http://www.chromestatus.com/metrics/feature/timeline/popularity/231

Removing hasFeature entirely is hopeless, and making it always return true is also right above the highest threshold (0.06%) ever cited for Blink.

It would be very interesting to learn what the features that return false are, but there&apos;s no way of collecting strings with the use counter system...

Sadly, I think the path of least resistance is to just go back to special-casing SVG.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>104739</commentid>
    <comment_count>1</comment_count>
    <who name="Philip Jägenstedt">philipj</who>
    <bug_when>2014-04-29 22:11:27 +0000</bug_when>
    <thetext>Huh, something strange has happened in http://www.chromestatus.com/metrics/feature/timeline/popularity/231

The counts dropped from above 0.06% to around 0.004% between April 24 and 26. I have no idea how that could happen, will consult blink-dev.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>104794</commentid>
    <comment_count>2</comment_count>
    <who name="Philip Jägenstedt">philipj</who>
    <bug_when>2014-04-30 09:30:39 +0000</bug_when>
    <thetext>Here&apos;s the blink-dev thread:
https://groups.google.com/a/chromium.org/d/msg/blink-dev/yCUjWJAUd9g/89KL8HjApecJ

Since it&apos;s not clear what&apos;s going on, I suggest waiting for a few weeks or months before drawing any conclusions from the data.

In the meanwhile, Anne, do you think Mozilla would be willing change hasFeature to always return true if the usage turns out to be really low?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>104800</commentid>
    <comment_count>3</comment_count>
    <who name="Olli Pettay">bugs</who>
    <bug_when>2014-04-30 09:51:37 +0000</bug_when>
    <thetext>Would need to add some telemetry. Since the special cases are for svg, 
even low usage could mean breaking quite large portion of svg content.
So better to have telemetry for svg part only and compare
true and false return value counts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109532</commentid>
    <comment_count>4</comment_count>
    <who name="Philip Jägenstedt">philipj</who>
    <bug_when>2014-07-29 22:52:40 +0000</bug_when>
    <thetext>Chrome&apos;s use counter has stayed around 0.004% until now. In Chrome, SVG is used on around 10% of page loads, so even relative to that it&apos;s look good:
http://www.chromestatus.com/metrics/feature/timeline/popularity/250

Any luck with telemetry in Firefox?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122402</commentid>
    <comment_count>5</comment_count>
    <who name="Philip Jägenstedt">philipj</who>
    <bug_when>2015-08-03 13:02:13 +0000</bug_when>
    <thetext>hasFeature() always returns true now, https://codereview.chromium.org/1108293002 was in Chromium M44, and Chrome 44 was recently released. I&apos;ll close this and revisit only if there are regressions reported.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>