Firefox 10 for developers

  • Revision slug: Firefox_10_for_developers
  • Revision title: Firefox 10 for developers
  • Revision id: 29649
  • Created:
  • Creator: teoli
  • Is current revision? No
  • Comment 65 words added

Revision Content

{{ draft() }}

{{ ReleaseChannelInfo("10") }}

Changes for Web developers

HTML

  • The new HTML5 {{ HTMLElement("bdi") }} element, bi-directional isolation, allowing isolation of parts of text with a different directionality has been implemented. This is especially useful when displaying text with an unknown directionality, coming from a database for example, in the middle of text with a known, and potentially, different one.

JavaScript

  • The method WeakMap.set() now returns undefined, instead of itself.

DOM

DOM3 Events

  • The DOM Event method event.stopImmediatePropagation has been implemented.
  • The mouse events {{ domeventxref("mouseenter") }} and {{ domeventxref("mouseleave") }} have been implemented.

DOM4

  • The attribute document.xmlVersion (which was only gettable and not settable) has been removed as it has been deprecated in the DOM4 Specification (see {{ bug("693162") }}). Instead, use DOMImplementation.hasFeature("XMLVersion", "1.0") and DOMImplementation.hasFeature("XMLVersion", "1.1") respectively.
  • The attribute document.xmlStandalone has been removed as it has been deprecated in the DOM4 Specification.
  • The attribute {{ domxref("document.xmlEncoding") }} has been removed as it has been deprecated in the DOM4 Specification.
  • The attribute {{ domxref("text.isElementContentWhiteSpace") }} has been removed as it has been deprecated in the DOM4 Specification.
  • The method {{ domxref("text.replaceWholeText") }} has been removed as it has been deprecated in the DOM4 Specification.
  • The method {{ domxref("node.isSameNode") }} has been removed as it has been deprecated in DOM4 Specification. Instead of node1.isSameNode(node2) use node1 === node2.

Web Workers

  • The attribute XMLHttpRequest.responseType and XMLHttpRequest.response are not available from inside Workers.
  • The Worker() constructor now accepts data URIs.

IndexedDB

Great progress has been made to update IndexedDB to the latest draft specification. This effort will continue in Firefox 11.

  • The IDBIndex.count() and IDBObjectStore.count() methods has been added.
  • The IDBCursor.advance() method has been added.
  • When encountering an unknown optional parameter in IDBObjectStore.createIndex() or IDBDatabase.createObjectStore(), Gecko will not fire an exception anymore, but simply ignore it.
  • When IDBTransaction.abort() is called, all pending IDBRequest have their errorCode set to ABORT_ERROR.
  • The method IDBDatabase.setVersion() has been removed as it was removed from the latest spec. The version of the database is given through the IDBFactory.open() method which has been updated and the onupgradeneeded callback allows the schema of the database to be upgraded. The version itself has been changed from a DOMString to an unsigned long long.

Other

CSS

  • Two new values for the CSS property {{ cssxref("unicode-bidi") }} have been added: -moz-isolation and -moz-plaintext. The -moz-isolation value isolates, from a directionality point of view, the element from its environment, letting it have a different directionality. An element with unicode-bidi:-moz-isolation behaves like a {{ HTMLElement("bdi") }} element. The -moz-plaintext indicates the browser to use the Unicode browser heuristic to determine directionality and not the CSS {{ cssxref("direction") }} property.

Dev Tools

  • The console object has two new methods time() and timeEnd() allowing to set timers on a page.

Changes for Mozilla and add-on developers

Manifests

  • Support for <em:strictCompatibility> has been added to the install manifest. It allows add-ons authors to opt in to checking the maximum version of their extension. If set to true the add-on will be disabled if the application version is greater than <em:maxVersion>. Firefox 10 lets users opt to default to add-ons being compatible, regardless of their specified maximum version. This flag overrides that preference. See XXX. Need to write an article about this, and/or update the existing add-on docs!

XUL

See also

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

Revision Source

<p>{{ draft() }}</p>
<p>{{ ReleaseChannelInfo("10") }}</p>
<h2>Changes for Web developers</h2>
<h3>HTML</h3>
<ul> <li>The new HTML5 {{ HTMLElement("bdi") }} element, bi-directional isolation, allowing isolation of parts of text with a different directionality has been implemented. This is especially useful when displaying text with an unknown directionality, coming from a database for example, in the middle of text with a known, and potentially, different one.</li>
</ul>
<h3>JavaScript</h3>
<ul> <li>The method <code><a href="/en/JavaScript/Reference/Global_Objects/WeakMap" title="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/WeakMap">WeakMap</a>.set()</code> now returns <em><code>undefined</code></em>, instead of itself.</li>
</ul>
<h3>DOM</h3>
<h4>DOM3 Events</h4>
<ul> <li>The DOM Event method <a href="/en/DOM/event.stopImmediatePropagation" title="event.stopImmediatePropagation"><code>event.stopImmediatePropagation</code></a> has been implemented.</li> <li>The mouse events {{ domeventxref("mouseenter") }} and {{ domeventxref("mouseleave") }} have been implemented.</li>
</ul>
<h4>DOM4</h4>
<ul> <li>The attribute <code><a href="/en/DOM/document.xmlVersion" title="en/DOM/document.xmlVersion">document.xmlVersion</a></code> (which was only gettable and not settable) has been removed as it has been deprecated in the DOM4 Specification (see {{ bug("693162") }}). Instead, use <code>DOMImplementation.hasFeature("XMLVersion", "1.0")</code> and <code>DOMImplementation.hasFeature("XMLVersion", "1.1")</code> respectively.</li> <li>The attribute <code>document.xmlStandalone</code> has been removed as it has been deprecated in the DOM4 Specification.</li> <li>The attribute {{ domxref("document.xmlEncoding") }} has been removed as it has been deprecated in the DOM4 Specification.</li> <li>The attribute {{ domxref("text.isElementContentWhiteSpace") }} has been removed as it has been deprecated in the DOM4 Specification.</li> <li>The method {{ domxref("text.replaceWholeText") }} has been removed as it has been deprecated in the DOM4 Specification.</li> <li>The method {{ domxref("node.isSameNode") }} has been removed as it has been deprecated in DOM4 Specification. Instead of <code><em>node1</em>.isSameNode(<em>node2</em>)</code> use <code><em>node1 </em>===</code><code><em> node2</em></code>.</li>
</ul>
<h4>Web Workers</h4>
<ul> <li>The attribute <code>XMLHttpRequest.responseType</code> and <code>XMLHttpRequest.response</code> are not available from inside <a href="/En/DOM/Worker/Functions_available_to_workers#section_2" title="https://developer.mozilla.org/En/DOM/Worker/Functions_available_to_workers#section_2">Workers</a>.</li> <li>The <a href="/En/DOM/Worker#Worker()" title="En/DOM/Worker#Worker()"><code>Worker()</code></a> constructor now accepts <a href="/en/data_URIs" title="data URIs">data URIs</a>.</li>
</ul>
<h4>IndexedDB</h4>
<p>Great progress has been made to update IndexedDB to the latest draft specification. This effort will continue in Firefox 11.</p>
<ul> <li>The <a href="/en/IndexedDB/IDBIndex#count" title="en/IndexedDB/IDBIndex#count"><code>IDBIndex.count()</code></a> and <a href="/en/IndexedDB/IDBObjectStore#count" title="en/IndexedDB/IDBObjectStore#count"><code>IDBObjectStore.count()</code></a> methods has been added.</li> <li>The <a href="/en/IndexedDB/IDBCursor#advance" title="en/IndexedDB/IDBCursor#advance"><code>IDBCursor.advance()</code></a> method has been added.</li> <li>When encountering an unknown optional parameter in <a href="/en/IndexedDB/IDBObjectStore#createIndex" title="https://developer.mozilla.org/en/IndexedDB/IDBObjectStore#createIndex"><code>IDBObjectStore.createIndex()</code></a> or <a href="/en/IndexedDB/IDBDatabase#createObjectStore" title="en/IndexedDB/IDBDatabase#createObjectStore"><code>IDBDatabase.createObjectStore()</code></a>, Gecko will not fire an exception anymore, but simply ignore it.</li> <li>When <a href="/en/IndexedDB/IDBTransaction#abort%28%29" title="https://developer.mozilla.org/en/IndexedDB/IDBTransaction#abort%28%29"><code>IDBTransaction.abort()</code></a> is called, all pending <a href="/en/IndexedDB/IDBRequest" title="IDBRequest"><code>IDBRequest</code></a> have their <code>errorCode</code> set to <code>ABORT_ERROR</code>.</li> <li>The method <code>IDBDatabase.setVersion()</code> has been removed as it was removed from the latest spec. The version of the database is given through the <code>IDBFactory.open()</code> method which has been updated and the <code>onupgradeneeded </code>callback allows the schema of the database to be upgraded. The version itself has been changed from a <code>DOMString</code> to an <code>unsigned long long</code>.</li>
</ul><h4>Other</h4>
<ul> <li>When the proper MIME types is passed, <code>text/svg+xml</code>, <a href="/en/DOM/DOMParser#Parsing_a_SVG_document" title="https://developer.mozilla.org/en/DOM/DOMParser#Parsing_a_SVG_document">the <code>DOMParser</code> now creates a <code>SVGDocument</code></a> when given a string with SVG.</li>
</ul>
<h3>CSS</h3>
<ul> <li>Two new values for the CSS property {{ cssxref("unicode-bidi") }} have been added: <code>-moz-isolation</code> and <code>-moz-plaintext</code>. The <code>-moz-isolation</code> value isolates, from a directionality point of view, the element from its environment, letting it have a different directionality. An element with <code>unicode-bidi:-moz-isolation</code> behaves like a {{ HTMLElement("bdi") }} element. The <code>-moz-plaintext</code> indicates the browser to use the Unicode browser heuristic to determine directionality and not the CSS {{ cssxref("direction") }} property.</li>
</ul>
<h3>Dev Tools</h3>
<ul> <li>The <a href="/en/Using_the_Web_Console" title="https://developer.mozilla.org/en/Using_the_Web_Console"><code>console</code></a> object has two new methods <code>time()</code> and <code>timeEnd()</code> allowing to set timers on a page.</li>
</ul>
<h2>Changes for Mozilla and add-on developers</h2>
<h3>Manifests</h3>
<ul> <li>Support for <a href="/en/Install_Manifests#strictCompatibility" title="en/Install_Manifests#strictCompatibility"><code>&lt;em:strictCompatibility&gt;</code></a> has been added to the install manifest. It allows add-ons authors to opt in to checking the maximum version of their extension. If set to <code>true</code> the add-on will be disabled if the application version is greater than <code>&lt;em:maxVersion&gt;</code>. Firefox 10 lets users opt to default to add-ons being compatible, regardless of their specified maximum version. This flag overrides that preference. See XXX. <strong>Need to write an article about this, and/or update the existing add-on docs!</strong></li>
</ul>
<h3>XUL</h3>
<ul> <li>Bootstrapped add-ons using a <a href="/en/Chrome_Registration" title="en/chrome.manifest">chrome.manifest</a> file now have the manifest file registered automatically. See the section <a href="/en/Extensions/Bootstrapped_extensions#Adding_user_interface_with_a_chrome.manifest" title="en/Extensions/Bootstrapped_extensions#Adding_user_interface_with_a_chrome.manifest">Adding user interface with a chrome.manifest</a> for details.</li>
</ul>
<h3>See also</h3>
<ul> <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_10_for_developers" } ) }}</p>
Revert to this revision