Firefox 13 for developers

  • Revision slug: Firefox_13_for_developers
  • Revision title: Firefox 13 for developers
  • Revision id: 5493
  • Created:
  • Creator: Sheppy
  • Is current revision? No
  • Comment 23 words added

Revision Content

{{ draft() }}

{{ ReleaseChannelInfo("13") }}

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

Changes for Web developers

HTML

  • Tables' {{ htmlattrxref("cellpadding", "table") }} attributes are now parsed the same outside quirks mode as they are in quirks mode. That is, if a value is specified as a percentage, it's treated as a number of pixels instead, since percentage values are not actually permitted according to the specification.
  • The {{ htmlelement("wbr") }} element has seen its bidirectional behavior fixed. It now behaves like the Unicode U+200B ZERO-WIDTH SPACE and therefore doesn't affect bi-directionality of its parent element anymore.
  • The {{ Cssxref(":invalid") }} pseudo-class can now be applied to the {{ htmlelement("form") }} element.

CSS

  • The turn {{ xref_cssangle() }} unit is now supported (to be used with CSS functions like rotate()).
  • Support for 3-to-4 value syntax of the {{ cssxref("background-position") }} has been added. You can offset a background image from any corner by writing like "right 10px bottom 20px". See {{ bug("522607") }}
  • Support for the 2-value syntax of the CSS {{ cssxref("background-repeat") }} has been added.
  • Support for {{ cssxref("border-radius","-moz-border-radius*") }} and {{ cssxref("box-shadow","-moz-box-shadow") }} has been removed. Authors should use unprefixed border-radius or box-shadow instead. See {{ bug("693510") }}

JavaScript

  • Support for the ECMAScript 6 for..of construct has been added.

DOM

  • The {{ domxref("Node.cloneNode()") }} method's deep argument is now optional, as specified in DOM4.
  • The {{ domxref("window.setTimeout()") }} and {{ domxref("window.setInterval()") }} methods no longer pass an additional "lateness" argument to the callback routine.
  • The {{ domxref("Blob","Blob.mozSlice()") }} method has been unprefixed.
  • Support for the {{ domxref("Blob") }} constructor has been added.
  • Support for globalStorage has been removed.
  • The {{ domxref("HTMLOptionElement", "HTMLOptionElement.index()") }} method now returns 0 instead of the incorrect -1 when the {{ HTMLElement("option") }} is inside a {{ HTMLElement("datalist") }} HTML element.
  • {{ domxref("DOMException") }} as defined in DOM Level 4 has been implemented.
  • The {{ domxref("FileError") }} interface has been removed in favor of the {{ domxref("DOMError") }} interface as defined in the latest FileAPI specification.
  • {{ domxref("element.getAttributeNS()") }} now always returns null instead of the empty string for non-existent attributes. Previously, there were cases in which the empty string could be returned. This is in keeping with the DOM4 specification, which now says this should return null for non-existent attributes, instead of an empty string.
  • The {{ domxref("HTMLCanvasElement") }} interface now has a non-standard mozFetchAsStream() method, which provides an input stream containing the element's image data in the specified format.

UA string

  • Firefox for Android now has a Tablet or Mobile token in the UA string to indicate the form factor and no longer has the Fennec token. Also, the number after "Gecko/" is now the Gecko version number instead of a frozen date.

SVG

  • The {{ domxref("SVGStringList") }} DOM interface is now indexable like Array see {{ bug("722071") }}

MathML

  • Support for the width attribute on {{ MathMLElement("mtable") }} elements has been added ({{ bug("722880") }}).
  • MathJax fonts are now used as the default fonts for mathematical text. See Fonts for Mozilla's MathML engine for more information.

Developer tools

3D view improvements

  • You can now press the "f" key to make sure the curently-selected node is visible.

Style panel improvements

  • Clicking the heading for any rule in the style panel now opens the Style Editor at the corresponding CSS.
  • Right-clicking on a rule in the style panel now offers an option to copy the rule to the clipboard.
  • Entering an unknown property name, or an illegal property value, displays a warning icon next to that property.

Scratchpad improvements

  • The Scratchpad now has an option in the Help menu to take you to the MDN documentation about Scratchpad.

Changes for Mozilla and add-on developers

Compatibility note

Starting in Firefox 13, Firefox for Windows requires at least Windows Vista; it will no longer run on Windows 2000.

JavaScript code modules

source-editor.jsm

  • Support for a dirty flag has been added to the Source Editor API.
  • The Source Editor no longer supports falling back to a {{ HTMLElement("textarea") }} instead of using Orion.
  • The editor now exposes focus and blur events.
  • The getIndentationString() method has been added; this returns the string to use for indenting text in the editor.
  • The Source Editor now supports managing a list of breakpoints and displaying user interface for toggling them on and off; it does not actually implement breakpoints, however. That's up to you to write debugger code for.

ARIA

  • The CSS properties {{ cssxref("margin-left") }}, {{ cssxref("margin-right") }}, {{ cssxref("margin-top") }}, {{ cssxref("margin-bottom") }} are now all reflected into ARIA object attributes with the same name. See Gecko object attributes for more information.

Interfaces

  • The {{ interface("nsIScreen") }} interface now supports controlling rotation through the new rotation attribute.
  • The {{ interface("nsIPrefBranch2") }} interface has been merged into {{ interface("nsIPrefBranch") }} ({{ bug("718255") }}).
  • The aliases MozOpacity, MozOutline, MozOutlineStyle, MozOutlineWidth, MozOutlineOffset, and MozOutlineColor, all of which were removed in previous versions of Gecko, have been removed from {{ interface("nsIDOMCSS2Properties") }}, which should have been done with the aliases were initially removed.

See also

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

Revision Source

<p>{{ draft() }}</p>
<p>{{ ReleaseChannelInfo("13") }}</p>
<p>Want to help document Firefox 13? See the <a class="external" href="http://beta.elchi3.de/doctracker/#list=fx&amp;version=13.0" title="http://beta.elchi3.de/doctracker/#list=fx&amp;version=13.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>Tables' {{ htmlattrxref("cellpadding", "table") }} attributes are now parsed the same outside quirks mode as they are in quirks mode. That is, if a value is specified as a percentage, it's treated as a number of pixels instead, since percentage values are not actually permitted according to the specification.</li> <li>The {{ htmlelement("wbr") }} element has seen its bidirectional behavior fixed. It now behaves like the Unicode <code>U+200B</code><code> ZERO-WIDTH SPACE</code> and therefore doesn't affect bi-directionality of its parent element anymore.</li> <li>The {{ Cssxref(":invalid") }} pseudo-class can now be applied to the {{ htmlelement("form") }} element.</li>
</ul>
<h3>CSS</h3>
<ul> <li>The <code>turn</code> {{ xref_cssangle() }} unit is now supported (to be used with CSS functions like <code>rotate()</code>).</li> <li>Support for 3-to-4 value syntax of the {{ cssxref("background-position") }} has been added. You can offset a background image from any corner by writing like "<code>right 10px bottom 20px</code>". See {{ bug("522607") }}</li> <li>Support for the 2-value syntax of the CSS {{ cssxref("background-repeat") }} has been added.</li> <li>Support for {{ cssxref("border-radius","-moz-border-radius*") }} and {{ cssxref("box-shadow","-moz-box-shadow") }} has been removed. Authors should use unprefixed <code>border-radius</code> or <code>box-shadow</code> instead. See {{ bug("693510") }}</li>
</ul>
<h3>JavaScript</h3>
<ul> <li>Support for the ECMAScript 6 <a href="/en/JavaScript/Reference/Statements/for...of" title="for...of"><code>for..of</code></a> construct has been added.</li>
</ul>
<h3>DOM</h3>
<ul> <li>The {{ domxref("Node.cloneNode()") }} method's <code>deep</code> argument is now optional, as specified in DOM4.</li> <li>The {{ domxref("window.setTimeout()") }} and {{ domxref("window.setInterval()") }} methods no longer pass an additional "lateness" argument to the callback routine.</li> <li>The {{ domxref("Blob","Blob.mozSlice()") }} method has been unprefixed.</li> <li>Support for the {{ domxref("Blob") }} constructor has been added.</li> <li>Support for <a href="/en/DOM/Storage#globalStorage" title="en/DOM/Storage#globalStorage"><code>globalStorage</code></a> has been removed.</li> <li>The {{ domxref("HTMLOptionElement", "HTMLOptionElement.index()") }} method now returns <code>0</code> instead of the incorrect <code>-1</code> when the {{ HTMLElement("option") }} is inside a {{ HTMLElement("datalist") }} HTML element.</li> <li>{{ domxref("DOMException") }} as defined in DOM Level 4 has been implemented.</li> <li>The {{ domxref("FileError") }} interface has been removed in favor of the {{ domxref("DOMError") }} interface as defined in the latest FileAPI specification.</li> <li>{{ domxref("element.getAttributeNS()") }} now always returns <code>null</code> instead of the empty string for non-existent attributes. Previously, there were cases in which the empty string could be returned. This is in keeping with the DOM4 specification, which now says this should return null for non-existent attributes, instead of an empty string.</li> <li>The {{ domxref("HTMLCanvasElement") }} interface now has a non-standard <code>mozFetchAsStream()</code> method, which provides an input stream containing the element's image data in the specified format.</li>
</ul><h3>UA string</h3>
<ul> <li>Firefox for Android now has a <a href="/en/Gecko_user_agent_string_reference#Mobile_and_Tablet_indicators" title="en/Gecko_user_agent_string_reference#Mobile_and_Tablet_indicators">Tablet or Mobile token in the UA string</a> to indicate the form factor and no longer has the Fennec token. Also, the number after "Gecko/" is now the Gecko version number instead of a frozen date.</li>
</ul>
<h3>SVG</h3>
<ul> <li>The {{ domxref("SVGStringList") }} DOM interface is now indexable like <a href="/en/JavaScript/Reference/Global_Objects/Array" title="Array"><code>Array</code></a> see {{ bug("722071") }}</li>
</ul>
<h3>MathML</h3>
<ul> <li>Support for the <code>width</code> attribute on {{ MathMLElement("mtable") }} elements has been added ({{ bug("722880") }}).</li> <li><a class="external" href="http://cdn.mathjax.org/mathjax/latest/fonts/HTML-CSS/TeX/otf/" rel="external" target="_blank" title="http://cdn.mathjax.org/mathjax/latest/fonts/HTML-CSS/TeX/otf/">MathJax fonts</a> are now used as the default fonts for mathematical text. See <a href="/en/Mozilla_MathML_Project/Fonts" title="Fonts for Mozilla's MathML engine">Fonts for Mozilla's MathML engine</a> for more information.</li>
</ul>
<h3>Developer tools</h3>
<h4>3D view improvements</h4>
<ul> <li>You can now press the "f" key to make sure the curently-selected node is visible.</li>
</ul>
<h4>Style panel improvements</h4>
<ul> <li>Clicking the heading for any rule in the <a href="/en/Tools/Page_Inspector/Style_panel" title="Style panel">style panel</a> now opens the <a href="/en/Tools/Style_Editor" title="Style Editor">Style Editor</a> at the corresponding CSS.</li> <li>Right-clicking on a rule in the <a href="/en/Tools/Page_Inspector/Style_panel" title="Style panel">style panel</a> now offers an option to copy the rule to the clipboard.</li> <li>Entering an unknown property name, or an illegal property value, displays a warning icon next to that property.</li>
</ul>
<h4>Scratchpad improvements</h4>
<ul> <li>The <a href="/en/Tools/Scratchpad" title="Scratchpad">Scratchpad</a> now has an option in the Help menu to take you to the MDN documentation about Scratchpad.</li>
</ul><h2>Changes for Mozilla and add-on developers</h2>
<h3>Compatibility note</h3>
<p>Starting in Firefox 13, Firefox for Windows requires at least Windows Vista; it will no longer run on Windows 2000.</p>
<h3>JavaScript code modules</h3>
<h4>source-editor.jsm</h4>
<ul> <li>Support for a dirty flag has been added to the Source Editor API.</li> <li>The Source Editor no longer supports falling back to a {{ HTMLElement("textarea") }} instead of using Orion.</li> <li>The editor now exposes focus and blur events.</li> <li>The <a href="/en/JavaScript_code_modules/source-editor.jsm#getIndentationString%28%29" title="en/JavaScript_code_modules/source-editor.jsm#getIndentationString%28%29"><code>getIndentationString()</code></a> method has been added; this returns the string to use for indenting text in the editor.</li> <li>The Source Editor now supports managing a list of breakpoints and displaying user interface for toggling them on and off; it does not actually implement breakpoints, however. That's up to you to write debugger code for.</li>
</ul>
<h3>ARIA</h3>
<ul> <li>The CSS properties {{ cssxref("margin-left") }}, {{ cssxref("margin-right") }}, {{ cssxref("margin-top") }}, {{ cssxref("margin-bottom") }} are now all reflected into ARIA object attributes with the same name. See <a href="/en/Accessibility/AT-APIs/Gecko/Attrs" title="Gecko Object Attributes">Gecko object attributes</a> for more information.</li>
</ul>
<h3>Interfaces</h3>
<ul> <li>The {{ interface("nsIScreen") }} interface now supports controlling rotation through the new <code>rotation</code> attribute.</li> <li>The {{ interface("nsIPrefBranch2") }} interface has been merged into {{ interface("nsIPrefBranch") }} ({{ bug("718255") }}).</li> <li>The aliases <code>MozOpacity</code>, <code>MozOutline</code>, <code>MozOutlineStyle</code>, <code>MozOutlineWidth</code>, <code>MozOutlineOffset</code>, and <code>MozOutlineColor</code>, all of which were removed in previous versions of Gecko, have been removed from {{ interface("nsIDOMCSS2Properties") }}, which should have been done with the aliases were initially removed.</li>
</ul><h2>See also</h2>
<ul> <li><a href="/en/Firefox_12_for_developers" title="Firefox 12 for developers">Firefox 12 for developers</a></li> <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_13_for_developers"} ) }}</p>
Revert to this revision