Firefox 12 for developers

  • Revision slug: Firefox_12_for_developers
  • Revision title: Firefox 12 for developers
  • Revision id: 17025
  • Created:
  • Creator: Sheppy
  • Is current revision? No
  • Comment 40 words added

Revision Content

{{ draft() }}

{{ ReleaseChannelInfo("12") }}

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

Changes for Web developers

HTML

  • The title attribute now supports newline characters to allow multi-line tooltips.

CSS

  • Support for the {{ cssxref("text-align-last") }} property has been added (prefixed).

JavaScript

  • Experimental support for ECMAScript 6 Map and Set objects has been implemented.
  • Support for sharp variables (a Netscape non-standard extension) has been dropped.

DOM

  • {{ domxref("DOMParser") }} now supports parsing of HTML document fragments.
  • {{ domxref("XMLHttpRequest") }} now supports timeouts using the timeout property and "timeout" event, as well as the ontimeout event handler on the {{ domxref("XMLHttpRequestEventTarget") }} interface.
  • Gecko now supports multi-touch (instead of just single touches at a time) on Android.
  • While editing text using an IME, the {{ domeventxref("input") }} event is now sent whenever the contents of the element being edited have been changed; this happens after the {{ domeventxref("compositionupdate") }} event has been sent to indicate that the IME's text has been changed. You can use the {{ domeventxref("input") }} event handler, therefore, to monitor changes to the actual content of the element.
  • Network Information API: Experimental support for {{ domxref("window.navigator.connection") }} has been added (prefixed).
  • {{ domxref("DOMError") }} as defined in the DOM 4 specification has been implemented.
  • The {{ domxref("Document.createNodeIterator()") }} method has been updated to match the DOM4 specification. This makes the whatToShow and filter parameters optional and removes the non-standard fourth parameter, entityReferenceExpansion.
  • The {{ domxref("Blob") }} interface's slice() method was affected by a bug that prevented it from properly accepting start and end values outside the range of a signed 64-bit integer; this has been fixed.

SVG

  • Firefox now implements the {{ domxref("SVGTests") }} DOM API, see {{ bug("607854") }}
  • The {{ domxref("SVGStringList") }} DOM interface support the non-standard length property see {{ bug("711958") }}

MathML

  • To control the directionality of MathML formulas, the dir attribute is now supported on the {{ MathMLElement("math") }}, {{ MathMLElement("mrow") }}, and {{ MathMLElement("mstyle") }} elements as well as on MathML Token Elements. This is particularly important for some Arabic mathematical notations.
  • The alignment attribute align defined in MathML3 has been implemented for {{ MathMLElement("munder") }}, {{ MathMLElement("mover") }}, and {{ MathMLElement("munderover") }}.

Developer tools

  • The Web Console now caches error messages and log entries added using {{ domxref("console.log()") }} if the console isn't currently open, and displays them when the console is opened.

Changes for Mozilla and add-on developers

XUL

  • The definition of the values for the {{ XULAttr("chromemargin") }} attribute has changed slightly, to make it easier to make cross-platform XUL code look good on platforms with different default window border widths.

XPCOM

XPConnect

  • The PRUint64 data type was incorrectly essentially identical to PRint64 when used with XPConnect. This has been fixed.

Interface changes

  • The nsIScreen_MOZILLA_2_0_BRANCH interface has been merged into {{ interface("nsIScreen") }}. The APIs defined in that interface (for controlling minimum screen brightness) had not previously been documented, but now they are.
  • The {{ interface("nsIScriptError2") }} interface has been merged into {{ interface("nsIScriptError") }}.
  • {{ ifmethod("nsIDownloadManager", "addDownload") }} is now handled asynchronously rather than synchronously.
  • The {{ ifmethod("imgIContainerObserver", "frameChanged") }} method now receives as its first parameter an {{ interface("imgIRequest") }} object identifying the corresponding request.
  • The {{ ifmethod("nsIDOMWindowUtils", "sendTouchEvent") }} method has been added to allow synthesizing touch events.

See also

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

Revision Source

<p>{{ draft() }}</p>
<p>{{ ReleaseChannelInfo("12") }}</p>
<p>Want to help document Firefox 12? See the <a class="external" href="http://beta.elchi3.de/doctracker/#list=fx&amp;version=12.0" title="http://beta.elchi3.de/doctracker/#list=fx&amp;version=12.0">list of bugs that need to be written about</a> and pitch in!</p>
<h2>Changes for Web developers</h2>
<h3>HTML</h3>
<ul> <li>The <code>title</code> attribute now supports newline characters to allow multi-line tooltips.</li>
</ul>
<h3>CSS</h3>
<ul> <li>Support for the {{ cssxref("text-align-last") }} property has been added (prefixed).</li>
</ul>
<h3>JavaScript</h3>
<ul> <li>Experimental support for ECMAScript 6 <a href="/en/JavaScript/Reference/Global_Objects/Map" title="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Map">Map</a> and <a href="/en/JavaScript/Reference/Global_Objects/Set" title="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Set">Set</a> objects has been implemented.</li> <li>Support for <a href="/en/JavaScript/Sharp_variables_in_JavaScript" title="Sharp variables in JavaScript">sharp variables</a> (a Netscape non-standard extension) has been dropped.</li>
</ul>
<h3>DOM</h3>
<ul> <li>{{ domxref("DOMParser") }} now supports parsing of HTML document fragments.</li> <li>{{ domxref("XMLHttpRequest") }} now supports timeouts using the <code>timeout</code> property and "timeout" event, as well as the <code>ontimeout</code> event handler on the {{ domxref("XMLHttpRequestEventTarget") }} interface.</li> <li>Gecko now supports <a href="/en/DOM/Touch_events" title="en/DOM/Touch_events">multi-touch</a> (instead of just single touches at a time) on Android.</li> <li>While editing text using an IME, the {{ domeventxref("input") }} event is now sent whenever the contents of the element being edited have been changed; this happens after the {{ domeventxref("compositionupdate") }} event has been sent to indicate that the IME's text has been changed. You can use the {{ domeventxref("input") }} event handler, therefore, to monitor changes to the actual content of the element.</li> <li>Network Information API: Experimental support for {{ domxref("window.navigator.connection") }} has been added (prefixed).</li> <li>{{ domxref("DOMError") }} as defined in the DOM 4 specification has been implemented.</li> <li>The {{ domxref("Document.createNodeIterator()") }} method has been updated to match the DOM4 specification. This makes the <code>whatToShow</code> and <code>filter</code> parameters optional and removes the non-standard fourth parameter, <code>entityReferenceExpansion</code>.</li> <li>The {{ domxref("Blob") }} interface's <code>slice()</code> method was affected by a bug that prevented it from properly accepting <code>start</code> and <code>end</code> values outside the range of a signed 64-bit integer; this has been fixed.</li>
</ul><h3>SVG</h3>
<ul> <li>Firefox now implements the {{ domxref("SVGTests") }} DOM API, see {{ bug("607854") }}</li> <li>The {{ domxref("SVGStringList") }} DOM interface support the non-standard <code>length</code> property see {{ bug("711958") }}</li>
</ul>
<h3>MathML</h3>
<ul> <li>To control the directionality of MathML formulas, the <code>dir</code> attribute is now supported on the {{ MathMLElement("math") }}, {{ MathMLElement("mrow") }}, and {{ MathMLElement("mstyle") }} elements as well as on <a href="/Special:Tags?tag=MathML:Token+Elements" title="Special:Tags?tag=MathML:Token+Elements">MathML Token Elements</a>. This is particularly important for some <a class="external" href="http://www.w3.org/TR/arabic-math/" title="http://www.w3.org/TR/arabic-math/">Arabic mathematical notations</a>.</li> <li>The alignment attribute <code>align</code> defined in MathML3 has been implemented for {{ MathMLElement("munder") }}, {{ MathMLElement("mover") }}, and {{ MathMLElement("munderover") }}.</li>
</ul>
<h3>Developer tools</h3>
<ul> <li>The <a href="/en/Tools/Web_Console" title="Web Console">Web Console</a> now caches error messages and log entries added using {{ domxref("console.log()") }} if the console isn't currently open, and displays them when the console is opened.</li>
</ul><h2>Changes for Mozilla and add-on developers</h2>
<h3>XUL</h3>
<ul> <li>The definition of the values for the {{ XULAttr("chromemargin") }} attribute has changed slightly, to make it easier to make cross-platform XUL code look good on platforms with different default window border widths.</li>
</ul>
<h3>XPCOM</h3>
<ul> <li><a href="/en/nsISupports_proxies" title="nsISupports proxies"><code>nsISupports</code> proxies</a> are no longer supported. You should be using runnables instead; see <a href="/en/XPCOM/Making_cross-thread_calls_using_runnables" title="en/XPCOM/Making cross-thread calls using runnables">Making cross-thread calls using runnables</a>.</li>
</ul>
<h3>XPConnect</h3>
<ul> <li>The <a href="/en/PRUint64" title="PRUint64"><code>PRUint64</code></a> data type was incorrectly essentially identical to <a href="/en/PRInt64" title="PRInt64"><code>PRint64</code></a> when used with XPConnect. This has been fixed.</li>
</ul>
<h3>Interface changes</h3>
<ul> <li>The <code>nsIScreen_MOZILLA_2_0_BRANCH</code> interface has been merged into {{ interface("nsIScreen") }}. The APIs defined in that interface (for controlling minimum screen brightness) had not previously been documented, but now they are.</li> <li>The {{ interface("nsIScriptError2") }} interface has been merged into {{ interface("nsIScriptError") }}.</li> <li>{{ ifmethod("nsIDownloadManager", "addDownload") }} is now handled asynchronously rather than synchronously.</li> <li>The {{ ifmethod("imgIContainerObserver", "frameChanged") }} method now receives as its first parameter an {{ interface("imgIRequest") }} object identifying the corresponding request.</li> <li>The {{ ifmethod("nsIDOMWindowUtils", "sendTouchEvent") }} method has been added to allow synthesizing touch events.</li>
</ul><h2>See also</h2>
<ul> <li><a href="/en/Firefox_11_for_developers" title="Firefox 11 for developers">Firefox 11 for developers</a></li> <li><a href="/en/Firefox_10_for_developers" title="en/Firefox 10 for developers">Firefox 10 for developers</a></li> <li><a href="/en/Firefox_9_for_developers" title="en/Firefox 9 for developers">Firefox 9 for developers</a></li> <li><a href="/en/Firefox_8_for_developers" title="en/Firefox 8 for developers">Firefox 8 for developers</a></li> <li><a href="/en/Firefox_7_for_developers" title="en/Firefox 7 for developers">Firefox 7 for developers</a></li> <li><a href="/en/Firefox_6_for_developers" title="en/Firefox 6 for developers">Firefox 6 for developers</a></li> <li><a href="/en/Firefox_5_for_developers" title="en/Firefox 5 for developers">Firefox 5 for developers </a></li> <li><a href="/en/Firefox_4_for_developers" title="en/Firefox 4 for developers">Firefox 4 for developers </a></li> <li><a href="/en/Firefox_3.6_for_developers" title="en/Firefox 3.6 for developers">Firefox 3.6 for developers </a></li> <li><a href="/En/Firefox_3.5_for_developers" title="en/Firefox 3.5 for developers">Firefox 3.5 for developers</a></li> <li><a href="/en/Firefox_3_for_developers" title="en/Firefox 3 for developers">Firefox 3 for developers</a></li> <li><a href="/en/Firefox_2_for_developers" title="en/Firefox 2 for developers">Firefox 2 for developers</a></li> <li><a href="/en/Firefox_1.5_for_developers" title="en/Firefox 1.5 for developers">Firefox 1.5 for developers</a></li>
</ul>
<p>{{ languages( { "ja": "ja/Firefox_12_for_developers"} ) }}</p>
Revert to this revision