Upcoming Firefox features for developers

  • Revision slug: Upcoming_Firefox_features_for_developers
  • Revision title: Upcoming_Firefox_features_for_developers
  • Revision id: 285788
  • Created:
  • Creator: Sheppy
  • Is current revision? No
  • Comment 48 words added

Revision Content

This article provides initial information about features coming in future versions of Firefox. Due to ongoing changes to the development plan, it's not currently clear what version of Gecko each change will appear in (currently this is Gecko 1.9.3, but there is some discussion of backporting some of these to a Gecko 1.9.2.x version), nor is it certain what Firefox versions they'll appear in. We'll clean up this page (and move things to the appropriate "Firefox X for developers" pages) as we figure this stuff out.

Many of these features can already be tried in nightly trunk builds.

The lists on this page are based off the planning document on the Mozilla wiki.

Features for web developers

CSS and graphics

WebGL
The developing WebGL standard is now supported by Firefox.
CSS transitions
New CSS transitions support is expected in Gecko 1.9.3 and is currently available, although still a work in progress.
Computed values in CSS
Support for calc() to compute values in CSS is in progress. See {{ bug("363249") }}.
SMIL animation
Support for SMIL animation of SVG is now available. See {{ bug("482402") }}.
Background image subrectangle support
The {{ cssxref("-moz-image-rect") }} property makes it possible to use subrectangles of images as a background image.

DOM

Obtaining boundary rectangles for ranges
The Range object now has getClientRects() and getBoundingClientRect() methods. See {{ bug("396392") }}.
Capturing mouse events on arbitrary elements
Support for the Internet Explorer-originated setCapture() and releaseCapture() APIs has been added. See {{ bug("503943") }}.
Manipulating the browser history
The existing document history object, available through the {{ domxref("window.history") }} object, now supports the new HTML5 pushState() and replaceState() methods.

Miscellaneous DOM changes

  • The wrapping of a textarea element can now be controlled via the DOM, via the wrap DOM attribute. {{ bug("41464") }}

Security

Introducing Content Security Policy
Content Security Policy (CSP) is a Mozilla proposal designed to help web designers and server administrators specify how content on their web sites interacts. The goal is to help detect and mitigate attacks including cross-site scripting and data injection attacks.

JavaScript

JS-ctypes API
The JS-ctypes API makes it possible to call C-compatible foreign library functions without using XPCOM.

Changes for Mozilla and add-on developers

Memory management

Infallible memory allocation
Mozilla now provides infallible memory allocators that are guaranteed not to return null. You should read this article to learn how they work and how to explicitly request fallible versus infallible memory allocation.

{{ languages( { "ja": "ja/Upcoming_Firefox_features_for_developers"} ) }}

Revision Source

<p>This article provides initial information about features coming in future versions of Firefox. Due to ongoing changes to the development plan, it's not currently clear what version of Gecko each change will appear in (currently this is Gecko 1.9.3, but there is some discussion of backporting some of these to a Gecko 1.9.2.x version), nor is it certain what Firefox versions they'll appear in. We'll clean up this page (and move things to the appropriate "Firefox X for developers" pages) as we figure this stuff out.</p>
<p>Many of these features can already be tried in <a class=" external" href="http://nightly.mozilla.org/" title="http://nightly.mozilla.org/">nightly trunk builds</a>.</p>
<p>The lists on this page are based off the <a class=" link-https" href="https://wiki.mozilla.org/User:Dbaron/1.9.3_Alpha" title="https://wiki.mozilla.org/User:Dbaron/1.9.3_Alpha">planning document</a> on the Mozilla wiki.</p>
<h2>Features for web developers</h2>
<h3>CSS and graphics</h3>
<dl> <dt><a href="/en/WebGL" title="en/WebGL">WebGL</a></dt> <dd>The developing WebGL standard is now supported by Firefox.</dd> <dt><a href="/en/CSS/CSS_transitions" title="en/CSS/CSS transitions">CSS transitions</a></dt> <dd>New CSS transitions support is expected in Gecko 1.9.3 and is currently available, although still a work in progress.</dd> <dt>Computed values in CSS</dt> <dd>Support for calc() to compute values in CSS is in progress. See {{ bug("363249") }}.</dd> <dt>SMIL animation</dt> <dd>Support for SMIL animation of SVG is now available. See {{ bug("482402") }}.</dd> <dt>Background image subrectangle support</dt> <dd>The {{ cssxref("-moz-image-rect") }} property makes it possible to use subrectangles of images as a background image.</dd>
</dl>
<h3>DOM</h3>
<dl> <dt>Obtaining boundary rectangles for ranges</dt> <dd>The Range object now has <code>getClientRects()</code> and <code>getBoundingClientRect()</code> methods. See {{ bug("396392") }}.</dd> <dt>Capturing mouse events on arbitrary elements</dt> <dd>Support for the Internet Explorer-originated <code>setCapture()</code> and <code>releaseCapture()</code> APIs has been added. See {{ bug("503943") }}.</dd> <dt><a href="/en/DOM/Manipulating_the_browser_history" title="en/DOM/Manipulating the browser history">Manipulating the browser history</a></dt> <dd>The existing document history object, available through the {{ domxref("window.history") }} object, now supports the new HTML5 <code>pushState()</code> and <code>replaceState()</code> methods.</dd>
</dl>
<h4>Miscellaneous DOM changes</h4>
<ul> <li>The wrapping of a <code>textarea</code> element can now be controlled via the DOM, via the <code>wrap</code> DOM attribute. {{ bug("41464") }}</li>
</ul>
<h3>Security</h3>
<dl> <dt><a href="/en/Introducing_Content_Security_Policy" title="en/Introducing Content Security Policy">Introducing Content Security Policy</a></dt> <dd>Content Security Policy (CSP) is a Mozilla proposal designed to help web designers and server administrators specify how content on their web sites interacts. The goal is to help detect and mitigate attacks including cross-site scripting and data injection attacks.</dd>
</dl>
<h3>JavaScript</h3>
<dl> <dt><a href="/en/JavaScript_code_modules/ctypes.jsm" title="en/JavaScript code modules/ctypes.jsm">JS-ctypes API</a></dt> <dd>The JS-ctypes API makes it possible to call C-compatible foreign library functions without using XPCOM.</dd>
</dl>
<h2>Changes for Mozilla and add-on developers</h2>
<h3>Memory management</h3>
<dl> <dt><a href="/en/Infallible_memory_allocation" title="en/Infallible memory allocation">Infallible memory allocation</a></dt> <dd>Mozilla now provides infallible memory allocators that are guaranteed not to return null. You should read this article to learn how they work and how to explicitly request fallible versus infallible memory allocation.</dd>
</dl>
<p>{{ languages( { "ja": "ja/Upcoming_Firefox_features_for_developers"} ) }}</p>
Revert to this revision