Firefox 19 for developers

  • Revision slug: Firefox_19_for_developers
  • Revision title: Firefox 19 for developers
  • Revision id: 346633
  • Created:
  • Creator: Yoshino
  • Is current revision? No
  • Comment Beta is out

Revision Content

{{ draft() }}

{{ ReleaseChannelInfo("19", "19", "February 2013", "Aurora") }}

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

Changes for Web developers

JavaScript

  • Map and Set objects have changed from having a size() method to a size property ({{bug("807001")}})
  • Map and Set objects also have a clear() method now. ({{bug("805003")}})

CSS

  • Support for the viewport-relative {{xref_csslength()}} units, vh, vw, vmin, and vmax, has landed ({{bug("503720")}})
  • CSS Flexbox has been unprefixed, but remains disabled by default ({{bug("801098")}}).
  • The -moz-initial value has been unprefixed ({{bug("806068")}}). -moz-initial will be kept for a while as an alias; however, authors are strongly encouraged to switch over to initial.
  • The CSS {{ cssxref("text-transform")}} property now supports the full-width keyword, which allows a more seamless inclusion of Latin characters in text using ideographic fixed-width characters, like Chinese or Japanese ({{bug("774560")}}).
  • The CSS {{ cssxref("page-break-inside")}} has been implemented ({{bug("685012")}}).
  • The CSS {{ cssxref("calc", "calc()")}} function can now be used on <color-stop> (on {{xref_cssgradient()}}).
  • The CSS {{ cssxref("@page") }} at-rule is now supported ({{bug("115199")}}). Note that the pseudo-classes {{cssxref(":first")}}, {{cssxref(":right")}}, and {{cssxref(":left")}} are not yet implemented.
  • The {{ cssxref(":-moz-placeholder") }} pseudo-class is replaced by the {{ cssxref("::-moz-placeholder") }} pseudo-element ({{ bug("737786") }}).

DOM

  • The {{ domxref("element.getElementsByTagName") }} method will now return HTMLCollection ({{bug("799464")}}).
  • The {{domxref("File")}} mozLastModifiedDate property has been implemented. ({{bug("793955")}})
  • The {{domxref("CanvasRenderingContext2D")}} isPointInStroke method has been implemented ({{bug("803124")}}).

XForms

Support for XForms has been removed in Firefox 19.

Changes for add-on and Mozilla developers

Note: A key change in Firefox 19 is that nsresult is now strongly typed. This will help make it easier to detect bugs that are caused by mishandling of return values, but may cause existing code to break if it's making incorrect assumptions in this regard.

  • getBrowserSelection() now returns the selected text in a text input field. As a result, gContextMenu.isTextSelected will be true when the user selects text in a text input field that is not a password field. ({{bug("565717")}})
  • Dict.jsm: Dict() now takes a JSON String. Dict.toJSON() was added, and it returns a JSON String. ({{bug("727967")}})

See also

Older versions

{{Firefox_for_developers('18')}}

Revision Source

<p>{{ draft() }}</p>
<p>{{ ReleaseChannelInfo("19", "19", "February 2013", "Aurora") }}</p>
<p>Want to help document Firefox 19? See the <a class="external" href="http://beta.elchi3.de/doctracker/#list=fx&amp;version=19.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="JavaScript">JavaScript</h3>
<ul>
  <li><code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Map" title="/en-US/docs/JavaScript/Reference/Global_Objects/Map">Map</a></code> and <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Set" title="/en-US/docs/JavaScript/Reference/Global_Objects/Set">Set</a></code> objects have changed from having a <code>size()</code> method to a <code>size</code> property ({{bug("807001")}})</li>
  <li><code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Map" title="/en-US/docs/JavaScript/Reference/Global_Objects/Map">Map</a></code> and <code><a href="/en-US/docs/JavaScript/Reference/Global_Objects/Set" title="/en-US/docs/JavaScript/Reference/Global_Objects/Set">Set</a></code> objects also have a clear() method now. ({{bug("805003")}})</li>
</ul>
<h3 id="CSS">CSS</h3>
<ul>
  <li>Support for the viewport-relative {{xref_csslength()}} units, <code>vh</code>, <code>vw</code>, <code>vmin</code>, and <code>vmax</code>, has landed ({{bug("503720")}})</li>
  <li>CSS Flexbox has been unprefixed, but remains disabled by default ({{bug("801098")}}).</li>
  <li>The <code>-moz-initial</code> value has been unprefixed ({{bug("806068")}}). <code>-moz-initial</code> will be kept for a while as an alias; however, authors are strongly encouraged to switch over to <code>initial</code>.</li>
  <li>The CSS {{ cssxref("text-transform")}} property now supports the <code>full-width</code> keyword, which allows a more seamless inclusion of Latin characters in text using ideographic fixed-width characters, like Chinese or Japanese ({{bug("774560")}}).</li>
  <li>The CSS {{ cssxref("page-break-inside")}} has been implemented ({{bug("685012")}}).</li>
  <li>The CSS {{ cssxref("calc", "calc()")}} function can now be used on <code>&lt;color-stop&gt;</code> (on {{xref_cssgradient()}}).</li>
  <li>The CSS {{ cssxref("@page") }} at-rule is now supported ({{bug("115199")}}). Note that the pseudo-classes {{cssxref(":first")}}, {{cssxref(":right")}}, and {{cssxref(":left")}} are not yet implemented.</li>
  <li>The {{ cssxref(":-moz-placeholder") }} pseudo-class is replaced by the {{ cssxref("::-moz-placeholder") }} pseudo-<em>element</em> ({{ bug("737786") }}).</li>
</ul>
<h3 id="DOM">DOM</h3>
<ul>
  <li>The {{ domxref("element.getElementsByTagName") }} method will now return <code>HTMLCollection</code> ({{bug("799464")}}).</li>
  <li>The {{domxref("File")}} <code>mozLastModifiedDate</code> property has been implemented. ({{bug("793955")}})</li>
  <li>The {{domxref("CanvasRenderingContext2D")}} <code>isPointInStroke</code> method has been implemented ({{bug("803124")}}).</li>
</ul>
<h3 id="XForms">XForms</h3>
<p>Support for <a href="/en-US/docs/XForms" title="/en-US/docs/XForms">XForms</a> has been <a href="http://www.philipp-wagner.com/blog/2011/07/the-future-of-mozilla-xforms/" title="http://www.philipp-wagner.com/blog/2011/07/the-future-of-mozilla-xforms/"><strong>removed</strong></a> in Firefox 19.</p>
<h2 id="Changes_for_add-on_and_Mozilla_developers">Changes for add-on and Mozilla developers</h2>
<div class="note">
  <p><strong>Note:</strong> A key change in Firefox 19 is that <a href="/en-US/docs/XPCOM_API_Reference/nsresult" title="/en-US/docs/XPCOM_API_Reference/nsresult"><code>nsresult</code></a> is now strongly typed. This will help make it easier to detect bugs that are caused by mishandling of return values, but may cause existing code to break if it's making incorrect assumptions in this regard.</p>
</div>
<ul>
  <li><code>getBrowserSelection()</code> now returns the selected text in a text input field. As a result, <code>gContextMenu.isTextSelected</code> will be <code>true</code> when the user selects text in a text input field that is not a password field. ({{bug("565717")}})</li>
  <li><a href="/en/Mozilla/JavaScript_code_modules/Dict.jsm" title="en/Mozilla/JavaScript_code_modules/Dict.jsm">Dict.jsm</a>: <a href="/en/Mozilla/JavaScript_code_modules/Dict.jsm#Creating_a_dictionary" title="en/Mozilla/JavaScript_code_modules/Dict.jsm#Creating_a_dictionary"><code>Dict()</code></a> now takes a JSON String. <a href="/en/Mozilla/JavaScript_code_modules/Dict.jsm#toJSON()" title="en/Mozilla/JavaScript_code_modules/Dict.jsm#toJSON()"><code>Dict.toJSON()</code></a> was added, and it returns a JSON String. ({{bug("727967")}})</li>
</ul>
<h2 id="See_also">See also</h2>
<ul>
  <li><a href="http://www.mozilla.org/en-US/firefox/19.0beta/releasenotes/">Firefox&nbsp;19 Beta Release Notes</a></li>
  <li><a href="/en-US/docs/Site_Compatibility_for_Firefox_19">Site Compatibility for Firefox 19</a></li>
</ul>
<h3 id="Older_versions">Older versions</h3>
<p>{{Firefox_for_developers('18')}}</p>
Revert to this revision