Firefox 20 for developers

  • Revision slug: Firefox_20_for_developers
  • Revision title: Firefox 20 for developers
  • Revision id: 374285
  • Created:
  • Creator: teoli
  • Is current revision? No
  • Comment

Revision Content

{{ ReleaseChannelInfo("20", "20", "April 2nd, 2013", "Release") }}

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

Changes for Web developers

HTML

  • Support for the {{htmlattrxref("download", "a") }} attribute on the {{HTMLElement("a")}} and {{HTMLElement("area")}} element has been added ({{bug("676619")}}).
  • The value auto for the global attribute dir has been implemented ({{bug("548206")}}).

JavaScript

  • Support for the Weakmap.prototype.clear() method, recently added to the Harmony (EcmaScript 6) draft proposal has been added ({{bug("814562")}}).
  • Support for the Math.imul() method, a C-style 32-bit multiplication function. Though proposed for Harmony (EcmaScript 6) it has not yet accepted and still is non-standard ({{bug("808148")}}).
  • Web apps using draggable text with Kinetic 3.x are working, even when using the Cairo canvas backend. ({{bug("835064")}})
  • The for each...in statement has been deprecated and should not be used. Consider using the new for...of statement ({{Bug("804834")}}).

CSS

  • CSS Flexbox is now available by default in pre-release builds only (excluding Beta). It can be enabled in Release by flipping an about:config preference.
  • The mask-type property from the CSS Masking specification has been added ({{bug("793617")}}).

DOM

  • {{domxref("HTMLMediaElement")}} supports now playbackRate (both read and write), with pitch correction. Pitch correction can be controlled using the property mozPreservesPitch ({{bug('495040')}}).
  • CSSOM: Supports for the new {{domxref("CSSGroupingRule")}} and {{domxref("CSSConditionRule")}} has been added ({{bug("814907")}}).
  • CSSOM: On {{domxref("CSSRule")}} the constant CSSRule.MOZ_KEYFRAME_RULE and CSSRule.MOZ_KEYFRAMES_RULE have been unprefixed to CSSRule.KEYFRAME_RULE and CSSRule.KEYFRAMES_RULE. The prefixed version are temporarily kept for helping Web author to transition their code {{bug("816431")}}).
  • CSSOM: It is now possible to set the value of conditionText for {{domxref("CSSMediaRule")}} ({{bug("815021")}}).
  • The {{domxref("DOMParser")}} parseFromStream and parseFromBuffer methods are no longer available from web content ({{bug('816410')}}).
  • The XMLSerializer serializeToStream method is no longer available from web content ({{bug('816410')}}).
  • TextDecoder and TextEncoder interfaces are now available in Workers ({{bug('795542')}}).
  • Support for the CSS.supports() method has been added ({{bug("779917")}}).
  • Support for UndoManager has been added ({{bug("617532")}}).
  • The CSSOM {{domxref("document.caretPositionFromPoint")}} method, which returns a {{domxref("CaretPosition")}} has been implemented.

MathML

  • To help MathML authors debugging "invalid-markup" errors in their documents, MathML parsing errors (such as having too many / too few child elements) and warnings about deprecated attributes or wrong attribute values are now reported to the Error Console.
  • The scriptminsize attribute now accepts unitless values and percent values. They are interpreted as multiples of the default value ("8pt").
  • Unitless values are now also allowed for the mathsize and fontsize attributes; they multiply the default value.

Changes for add-on and Mozilla developers

  • The nsIDOMParserJS interface no longer exists {{bug('816410')}}. See nsIDOMParser for alternatives.
  • Content Preferences: The {{Interface("nsIContentPrefService")}} interface is now deprecated and the asynchronous {{Interface("nsIContentPrefService2")}} storage API has been implemented.

See also

Older versions

{{Firefox_for_developers('19')}}

Revision Source

<p>{{ ReleaseChannelInfo("20", "20", "April 2nd, 2013", "Release") }}</p>
<p>Want to help document Firefox 20? See the <a class="external" href="http://beta.elchi3.de/doctracker/#list=fx&amp;version=20.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="HTML">HTML</h3>
<ul>
  <li>Support for the {{htmlattrxref("download", "a") }} attribute on the {{HTMLElement("a")}} and {{HTMLElement("area")}} element has been added ({{bug("676619")}}).</li>
  <li>The value <code>auto </code>for the <a href="/en-US/docs/HTML/Global_attributes" title="/en-US/docs/HTML/Global_attributes">global attribute</a> <a href="/en-US/docs/HTML/Global_attributes#attr-dir" title="/en-US/docs/HTML/Global_attributes"><code>dir</code></a> has been implemented ({{bug("548206")}}).</li>
</ul>
<h3 id="JavaScript">JavaScript</h3>
<ul>
  <li>Support for the <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/WeakMap" title="/en-US/docs/JavaScript/Reference/Global_Objects/WeakMap">Weakmap</a>.prototype.clear()</code> method, recently added to the Harmony (EcmaScript 6) draft proposal has been added ({{bug("814562")}}).</li>
  <li>Support for the <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Math/imul" title="/en-US/docs/JavaScript/Reference/Global_Objects/Math/imul">Math.imul()</a></code> method, a C-style 32-bit multiplication function. Though proposed for Harmony (EcmaScript 6) it has not yet accepted and still is non-standard ({{bug("808148")}}).</li>
  <li>Web apps using draggable text with Kinetic 3.x are working, even when using the Cairo canvas backend. ({{bug("835064")}})</li>
  <li>The <a href="/en-US/docs/JavaScript/Reference/Statements/for_each...in" title="/en-US/docs/JavaScript/Reference/Statements/for_each...in">for each...in</a> statement has been deprecated and should not be used. Consider using the new <a href="/en-US/docs/JavaScript/Reference/Statements/for...of" title="/en-US/docs/JavaScript/Reference/Statements/for...of">for...of</a> statement ({{Bug("804834")}}).</li>
</ul>
<h3 id="CSS">CSS</h3>
<ul>
  <li><a href="/en-US/docs/CSS/Using_CSS_flexible_boxes" title="/en-US/docs/CSS/Using_CSS_flexible_boxes">CSS Flexbox</a> is now available by default in pre-release builds only (excluding Beta). It can be enabled in Release by flipping an about:config preference.</li>
  <li>The <code>mask-type</code> property from the <a href="https://dvcs.w3.org/hg/FXTF/raw-file/tip/masking/index.html" title="https://dvcs.w3.org/hg/FXTF/raw-file/tip/masking/index.html">CSS Masking specification</a> has been added ({{bug("793617")}}).</li>
</ul>
<h3 id="DOM">DOM</h3>
<ul>
  <li>{{domxref("HTMLMediaElement")}} supports now <code>playbackRate</code> (both read and write), with pitch correction. Pitch correction can be controlled using the property <code>mozPreservesPitch</code> ({{bug('495040')}}).</li>
  <li>CSSOM: Supports for the new {{domxref("CSSGroupingRule")}} and {{domxref("CSSConditionRule")}} has been added ({{bug("814907")}}).</li>
  <li>CSSOM: On {{domxref("CSSRule")}} the constant <span id="summary_alias_container"><span id="short_desc_nonedit_display">CSSRule.MOZ_KEYFRAME_RULE</span></span> and <span id="summary_alias_container"><span id="short_desc_nonedit_display">CSSRule.MOZ_KEYFRAMES_RULE</span></span> have been unprefixed to <span id="summary_alias_container"><span id="short_desc_nonedit_display">CSSRule.KEYFRAME_RULE</span></span> and <span id="summary_alias_container"><span id="short_desc_nonedit_display">CSSRule.KEYFRAMES_RULE</span></span>. The prefixed version are temporarily kept for helping Web author to transition their code {{bug("816431")}}).</li>
  <li>CSSOM: It is now possible to set the value of <code>conditionText</code> for {{domxref("CSSMediaRule")}} ({{bug("815021")}}).</li>
  <li>The {{domxref("DOMParser")}} <code>parseFromStream</code> and <code>parseFromBuffer</code> methods are no longer available from web content ({{bug('816410')}}).</li>
  <li>The <code><a href="/en-US/docs/XMLSerializer">XMLSerializer</a></code> <code>serializeToStream</code> method is no longer available from web content ({{bug('816410')}}).</li>
  <li><code>TextDecoder</code> and <code>TextEncoder</code> interfaces are now available in Workers ({{bug('795542')}}).</li>
  <li>Support for the <code>CSS.supports()</code> method has been added ({{bug("779917")}}).</li>
  <li>Support for UndoManager has been added ({{bug("617532")}}).</li>
  <li>The CSSOM {{domxref("document.caretPositionFromPoint")}} method, which returns a {{domxref("CaretPosition")}} has been implemented.</li>
</ul>
<h3 id="MathML">MathML</h3>
<ul>
  <li>To help MathML authors debugging "invalid-markup" errors in their documents, MathML parsing errors (such as having too many / too few child elements) and warnings about deprecated attributes or wrong attribute values are now reported to the <a href="/en-US/docs/Error_Console" title="/en-US/docs/Error_Console">Error Console</a>.</li>
  <li>The <code>scriptminsize</code> attribute now accepts unitless values and percent values. They are interpreted as multiples of the default value ("8pt").</li>
  <li>Unitless values are now also allowed for the <code>mathsize</code> and <code>fontsize</code> attributes; they multiply the default value.</li>
</ul>
<h2 id="Changes_for_add-on_and_Mozilla_developers">Changes for add-on and Mozilla developers</h2>
<ul>
  <li>The nsIDOMParserJS interface no longer exists {{bug('816410')}}. See <a href="/en-US/docs/nsIDOMParser" title="/en-US/docs/nsIDOMParser">nsIDOMParser</a> for alternatives.</li>
  <li>Content Preferences: The {{Interface("nsIContentPrefService")}} interface is now deprecated and the asynchronous {{Interface("nsIContentPrefService2")}} storage API has been implemented.</li>
</ul>
<h2 id="See_also">See also</h2>
<ul>
  <li><a href="http://www.mozilla.org/en-US/firefox/20.0a2/auroranotes/">Firefox&nbsp;20 Aurora Release Notes</a></li>
  <li><a href="/en-US/docs/Site_Compatibility_for_Firefox_20">Site Compatibility for Firefox 20</a></li>
</ul>
<h3 id="Older_versions">Older versions</h3>
<p>{{Firefox_for_developers('19')}}</p>
Revert to this revision