Firefox 25 for developers

  • Revision slug: Mozilla/Firefox/Releases/25
  • Revision title: Firefox 25 for developers
  • Revision id: 484781
  • Created:
  • Creator: teoli
  • Is current revision? No
  • Comment

Revision Content

Want to help document Firefox 25? See the list of bugs that need to be written about and pitch in!

Changes for Web developers

New in Firefox DevTools

  • The inspector now features autocompletion for css names and values.
  • The debugger now lets you "black box" script files, to prevent breakpoints from stopping in library code you're not interested in debugging.
  • The Profiler now has the ability to save and import profiling results. "Show Gecko Platform Data" is now an option in the Firefox devtools options.
  • The Network panel has a right click context menu, with copy and resend url commands.
  • Numerous under-the-hood changes may make some rewriting necessary for addons that modify the DevTools.

CSS

  • The support for the keyword local as a value of the {{cssxref("background-attachment")}} CSS property has been added ({{bug("483446")}}).
  • Support of a non-standard Mozilla-only media query to determine the operating system version has been added: -moz-os-version ({{bug("810399")}}). The property is currently only implemented on Windows.
  • The {{cssxref("-moz-osx-font-smoothing")}} CSS property has been added ({{bug("857142")}})

HTML

  • The {{htmlattrxref("srcdoc", "iframe")}} attribute of {{HTMLElement("iframe")}}, allowing the inline specification of the content of an {{HTMLElement("iframe")}}, is now supported ({{bug("802895")}}).
  • When used with a "image/jpeg" type, the method HTMLCanvasElement.toBlob now accepts a third attribute defining the quality of the image ({{bug("891884")}}).

JavaScript

EcmaScript 6 (Harmony) implementation continues!

  • The method Array.of() is now implemented on Array ({{bug("866849")}}).
  • The methods {{jsxref("Global_Objects/Number/parseInt", "Number.parseInt()")}} and {{jsxref("Global_Objects/Number/parseFloat", "Number.parseFloat()")}} have been implemented ({{bug("886949")}})
  • The methods Map.prototype.forEach() and Set.prototype.forEach() are now implemented ({{bug("866847")}})
  • New mathematical methods have been implemented on Math: Math.log10(), Math.log2(), Math.log1p(), Math.expm1(), Math.cosh(), Math.sinh(), Math.tanh(), Math.acosh(), Math.asinh(), Math.atanh(), Math.trunc(), Math.sign() and Math.cbrt() ({{bug("717379")}}).
  • Support for binary and octal integer literals has been added: 0b10101010, 0B1010, 0o777, 0O237 are now valid ({{bug("894026")}}).
  • The machine epsilon constant, that is the smallest representible number that added to 1 will not be 1, is now available as {{jsxref("Global_Objects/Number/EPSILON", "Number.EPSILON")}} ({{bug("885798")}}).

Interfaces/APIs/DOM

  • The Web Audio API is now supported. An incomplete implementation was previously available behind a preference ({{bug("779297")}}).
  • Some IME related keys on Windows are supported by KeyboardEvent.key ({{bug("865565")}}), see the key name table for the detail.
  • Firefox for Metro now dispatches key events in the same way as the desktop version ({{bug("843236")}}).
  • keypress event is no longer dispatched if preventDefault() of preceding keydown event is called ({{bug("501496")}}), see the document of keydown event for the detail.
  • Renamed the Future interface to Promise ({{bug("884279")}}).
  • The srcDoc property on the {{domxref("HTMLIFrameElement")}} interface, allowing the inline specification of the content of an {{HTMLElement("iframe")}}, is now supported ({{bug("802895")}}).
  • The createTBody() method on the {{domxref("HTMLTableElement")}} interface, allowing to get its {{HTMLElement("tbody")}}, is now supported ({{bug("813034")}}).
  • The {{domxref("Range.collapse()")}} method toStart parameter is now optional and default to false, like defined in the spec ({{bug("891340")}}).
  • Support of {{domxref("ParentNode")}} interface on {{domxref("Document")}} and {{domxref("DocumentFragment")}} has been added ({{bug("895974")}}).
  • The previousElementSibling and nextElementSibling have been moved to {{domxref("ChildNode")}} allowing them to be called not only on a {{domxref("Element")}} object but also on a {{domxref("CharacterData")}} or {{domxref("DocumentType")}} object ({{bug("895974")}}).
  • The navigator.geolocation property has been updated to match the spec. It never returns null. When the preference geo.enabled is set to false, it now returns undefined ({{bug("884921")}}).
  • The videoPlaybackQuality attribute on the {{ domxref("HTMLVideoElement") }} interface has been changed to the getVideoPlaybackQuality method. ({{bug(889205)}})

MathML

No change.

SVG

No change.

See also

Older versions

{{Firefox_for_developers('24')}}

Revision Source

<p>Want to help document Firefox 25? See the <a class="external" href="http://beta.elchi3.de/doctracker/#list=fx&amp;version=25.0">list of bugs that need to be written about</a> and pitch in!</p>
<h2 id="Changes_for_Web_developers">Changes for Web developers</h2>
<h3 id="New_in_Firefox_DevTools">New in Firefox DevTools</h3>
<ul>
 <li>The inspector now features autocompletion for css names and values.</li>
 <li>The debugger now lets you "black box" script files, to prevent breakpoints from stopping in library code you're not interested in debugging.</li>
 <li>The Profiler now has the ability to save and import profiling results. "Show Gecko Platform Data" is now an option in the Firefox devtools options.</li>
 <li>The Network panel has a right click context menu, with copy and resend url commands.</li>
 <li>Numerous under-the-hood changes may make some rewriting necessary for addons that modify the DevTools.</li>
</ul>
<h3 id="CSS">CSS</h3>
<ul>
 <li>The support for the keyword <code>local</code> as a value of the {{cssxref("background-attachment")}} CSS property has been added ({{bug("483446")}}).</li>
 <li>Support of a non-standard Mozilla-only media query to determine the operating system version has been added: <code><a href="/en-US/docs/Web/Guide/CSS/Media_queries#-moz-os-version" title="/en-US/docs/Web/Guide/CSS/Media_queries#-moz-os-version">-moz-os-version</a></code> ({{bug("810399")}}). The property is currently only implemented on Windows.</li>
 <li>The {{cssxref("-moz-osx-font-smoothing")}} CSS property has been added ({{bug("857142")}})</li>
</ul>
<h3 id="HTML">HTML</h3>
<ul>
 <li>The {{htmlattrxref("srcdoc", "iframe")}} attribute of {{HTMLElement("iframe")}}, allowing the inline specification of the content of an {{HTMLElement("iframe")}}, is now supported ({{bug("802895")}}).</li>
 <li>When used with a <code>"image/jpeg"</code> type, the method <code>HTMLCanvasElement.toBlob</code> now accepts a third attribute defining the quality of the image ({{bug("891884")}}).</li>
</ul>
<h3 id="JavaScript">JavaScript</h3>
<p><a href="/en-US/docs/Web/JavaScript/ECMAScript_6_support_in_Mozilla" title="/en-US/docs/Web/JavaScript/ECMAScript_6_support_in_Mozilla">EcmaScript 6</a> (Harmony) implementation continues!</p>
<ul>
 <li>The method <code>Array.of()</code> is now implemented on <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" title="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a></code> ({{bug("866849")}}).</li>
 <li>The methods {{jsxref("Global_Objects/Number/parseInt", "Number.parseInt()")}} and {{jsxref("Global_Objects/Number/parseFloat", "Number.parseFloat()")}} have been implemented ({{bug("886949")}})</li>
 <li>The methods <span id="summary_alias_container"><span id="short_desc_nonedit_display"><code>Map.prototype.forEach()</code> and <code>Set.prototype.forEach()</code> are now implemented ({{bug("866847")}})</span></span></li>
 <li>New mathematical methods have been implemented on <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math" title="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math"><code>Math</code></a>: <code>Math.log10()</code>, <code>Math.log2()</code>, <code>Math.log1p()</code>, <code>Math.expm1()</code>, <code>Math.cosh()</code>, <code>Math.sinh()</code>, <code>Math.tanh()</code>, <code>Math.acosh()</code>, <code>Math.asinh()</code>, <code>Math.atanh()</code>, <code>Math.trunc()</code>, <code>Math.sign()</code> and <code>Math.cbrt()</code> ({{bug("717379")}}).</li>
 <li>Support for binary and octal integer literals has been added: <code>0b10101010</code>, <code>0B1010</code>, <code>0o777</code>, <code>0O237</code> are now valid ({{bug("894026")}}).</li>
 <li>The machine epsilon constant, that is <font class="quoteHeader" style="">the smallest representible number that added to 1 will not be 1,</font> is now available as {{jsxref("Global_Objects/Number/EPSILON", "Number.EPSILON")}} ({{bug("885798")}}).</li>
</ul>
<h3 id="Interfaces.2FAPIs.2FDOM">Interfaces/APIs/DOM</h3>
<ul>
 <li>The <a href="/en-US/docs/Web_Audio_API" title="/en-US/docs/Web_Audio_API">Web Audio API</a> is now supported. An incomplete implementation was previously available behind a preference ({{bug("779297")}}).</li>
 <li>Some IME related keys on Windows are supported by <code>KeyboardEvent.key</code> ({{bug("865565")}}), see <a href="/en-US/docs/Web/API/KeyboardEvent#keyname_table_win" title="/en-US/docs/Web/API/KeyboardEvent#keyname_table_win">the key name table</a> for the detail.</li>
 <li>Firefox for Metro now dispatches key events in the same way as the desktop version ({{bug("843236")}}).</li>
 <li><code>keypress</code> event is no longer dispatched if <code>preventDefault()</code> of preceding <code>keydown</code> event is called ({{bug("501496")}}), see <a href="/en-US/docs/Web/Reference/Events/keydown#preventDefault()_of_keydown_event" title="/en-US/docs/Web/Reference/Events/keydown#preventDefault()_of_keydown_event">the document of <code>keydown</code> event</a> for the detail.</li>
 <li>Renamed the <code>Future</code> interface to <code>Promise</code> ({{bug("884279")}}).</li>
 <li>The <code>srcDoc</code> property on the {{domxref("HTMLIFrameElement")}} interface, allowing the inline specification of the content of an {{HTMLElement("iframe")}}, is now supported ({{bug("802895")}}).</li>
 <li>The <code>createTBody()</code> method on the {{domxref("HTMLTableElement")}} interface, allowing to get its {{HTMLElement("tbody")}}, is now supported ({{bug("813034")}}).</li>
 <li>The {{domxref("Range.collapse()")}} method <code>toStart</code> parameter is now optional and default to <code>false</code>, like defined in the spec ({{bug("891340")}}).</li>
 <li>Support of {{domxref("ParentNode")}} interface on {{domxref("Document")}} and {{domxref("DocumentFragment")}} has been added ({{bug("895974")}}).</li>
 <li>The <code>previousElementSibling</code> and <code>nextElementSibling</code> have been moved to {{domxref("ChildNode")}} allowing them to be called not only on a {{domxref("Element")}} object but also on a {{domxref("CharacterData")}} or {{domxref("DocumentType")}} object ({{bug("895974")}}).</li>
 <li>The <code>navigator.geolocation</code> property has been updated to match the spec. It never returns <code>null</code>. When the preference <code>geo.enabled</code> is set to <code>false</code>, it now returns <code>undefined</code> ({{bug("884921")}}).</li>
 <li>The <code>videoPlaybackQuality</code> attribute on the {{ domxref("HTMLVideoElement") }} interface has been changed to the <code>getVideoPlaybackQuality</code> method. ({{bug(889205)}})</li>
</ul>
<h3 id="MathML">MathML</h3>
<p><em>No change.</em></p>
<h3 id="SVG">SVG</h3>
<p><em>No change.</em></p>
<h2 id="See_also">See also</h2>
<ul>
 <!-- <li><a href="http://www.mozilla.org/en-US/firefox/25.0a2/auroranotes/">Firefox 25 Aurora Notes</a></li> -->
 <li><a href="/en-US/docs/Mozilla/Firefox/Releases/25/Site_Compatibility">Site Compatibility for Firefox 25</a></li>
</ul>
<h3 id="Older_versions">Older versions</h3>
<p>{{Firefox_for_developers('24')}}</p>
Revert to this revision