Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Revision 1047868 of Firefox 46 for developers

  • Revision slug: Mozilla/Firefox/Releases/46
  • Revision title: Firefox 46 for developers
  • Revision id: 1047868
  • Created:
  • Creator: Dholbert
  • Is current revision? No
  • Comment
Tags: 

Revision Content

To test the latest developer features of Firefox,
install Firefox Developer Edition
{{ ReleaseChannelInfo("46", "46", "April 2016", "Aurora") }}

Changes for Web developers

Developer Tools

{{page('/en-US/docs/Tools/Release_notes', 'Firefox_46')}}

HTML

  • When faced with an invalid type value, {{HTMLElement("ul")}} no longer maps to decimal, but now behaves as if no type value were specified ({{bug(241719)}}).
  • The attribute pattern on {{HTMLElement("input")}} is now treated as {{jsxref("RegExp", "a regular expression", "", 1)}} with "u" (unicode) flag ({{bug(1227906)}}).

CSS

  • Our implementation of CSS Grids has been updated:
    • The keywords auto-fill and auto-fit are now allowed in the repeat() function ({{bug(1118820)}}).
    • The true value has been renamed to unsafe; this affects the properties {{cssxref("justify-content")}}, {{cssxref("align-content")}}, {{cssxref("justify-self")}}, {{cssxref("align-self")}}, {{cssxref("justify-items")}} and {{cssxref("align-items")}} ({{bug(1230478)}}).
  • The properties {{cssxref("text-emphasis")}}, {{cssxref("text-emphasis-style")}}, {{cssxref("text-emphasis-color")}} and {{cssxref("text-emphasis-position")}} are now enabled by defaut ({{bug(1231485)}}).
  • Gecko now accepts the -webkit- prefixed version of some properties; it requires to switch layout.css.prefixes.webkit to true ({{bug(1213126)}}).
  • The experimental support of the {{cssxref("@font/font-display", "font-display")}} descriptor (of {{cssxref("@font")}}; it requires to switch layout.css.font-display.enabled to true ({{bug(1157064)}}).
  • Added support for @media (-webkit-transform-3d) as a media query for 3D transform support, if about:config pref layout.css.prefixes.webkit is set to true ({{bug(1239799)}}).
  • {{cssxref("linear-gradient()")}} support for the omission of 0deg units ({{bug(1239153)}}).
  •  [css-align] "unsafe start" (formerly "true start") should serialize to "start" etc ({{bug(1230398)}}).

JavaScript

  • The ES2015 (ES6) {{jsxref("RegExp.prototype.unicode", "RegExp unicode (u) flag", "", 1)}} has been implemented ({{bug(1135377)}}).
  • The ES2015 (ES6) block-level functions have been implemented ({{bug(1071646)}}).
  • The ES2015 (ES6) {{jsxref("TypedArray.prototype.sort()")}} method has been implemented ({{bug(1121937)}}).
  • The ES2015 (ES6) {{jsxref("Functions/arguments/@@iterator", "arguments[@@iterator]")}} has been implemented ({{bug(1067049)}}).
  • The experimental EcmaScript Shared Memory API has been implemented. See the {{jsxref("SharedArrayBuffer")}} and {{jsxref("Atomics")}} objects. To use this experimental API set javascript.options.shared_memory to true in about:config.
  • Redeclaration of let and const variables now throws a {{jsxref("SyntaxError")}} instead of a {{jsxref("TypeError")}} as per the ECMAScript specification ({{bug(1198833)}}).
  • In Strict mode, setting properties on {{Glossary("primitive")}} values will now throw a {{jsxref("TypeError")}} ({{bug(603201)}}).
  • The non-standard {{jsxref("WeakMap.prototype.clear()")}} and {{jsxref("WeakSet.prototype.clear()")}} methods have been removed ({{bug(1101817)}}).
  • The non-standard, static RegExp.multiline property is now deprecated ({{bug(1220457)}}).
  • Built-in accessor function names now have a "get" or "set" prefix ({{bug(1180290)}}, {{bug(1235656)}}).
  • {{jsxref("Operators/Array_comprehensions", "JS1.7/JS1.8 (legacy) array comprehensions", "#Differences_to_the_older_JS1.7JS1.8_comprehensions", 1)}} and {{jsxref("Operators/Generator_comprehensions", "JS1.7/JS1.8 (legacy) generator comprehensions", "#Differences_to_the_older_JS1.7JS1.8_comprehensions", 1)}} have been removed ({{bug(1220564)}}).

Interfaces/APIs/DOM

DOM & HTML DOM

  • The deprecated {{domxref("Window.showModalDialog()")}} method is no more available when Firefox runs in multi-process mode (e10s) ({{bug(1234700)}}).
  • Added support for {{domxref("Document.elementsFromPoint")}} ({{bug(1164427)}}).

Canvas

  • The remaining parts of the experimental {{domxref("OffscreenCanvas")}} API has been implemented; new features: {{domxref("OffscreenCanvas.OffscreenCanvas", "OffscreenCanvas()")}} constructor,  {{domxref("OffscreenCanvas.toBlob()")}}, and {{domxref("OffscreenCanvas.transferToImageBitmap()")}}. To use this experimental API set gfx.offscreencanvas.enabled to true in about:config ({{bug(1172796)}}).
  • The {{domxref("ImageBitmap.close()")}} method is now supported ({{bug(1172796)}}).
  • A new {{domxref("ImageBitmapRenderingContext")}} rendering context is now implemented. Use "bitmaprenderer" with {{domxref("OffscreenCanvas.getContext()")}} or {{domxref("HTMLCanvasElement.getContext()")}} to obtain this context. ({{bug(1172796)}}).

WebGL

  • The {{domxref("WEBGL_compressed_texture_es3")}} extension has been implemented, allowing the use of ETC2 compressed texture formats ({{bug(917505)}}). To use this extension, set the preference webgl.enable-draft-extensions to true in about:config.

IndexedDB

No change.

Service Workers

  • {{domxref("FetchEvent.request")}} is now non-nullable (see {{bug("1238213")}}.)
  • {{domxref("Navigator.serviceWorker")}} has now been marked as SameObject (see {{bug("1238205")}}.)
  • {{domxref("ExtendableMessageEvent.ports")}} has now been marked as SameObject (see {{bug("1238225")}}.)

Fetch

  • {{domxref("Request.mode")}} now has a new value available, navigate, for supporting requests generated while navigating between documents (see {{bug("1209081")}}.)

WebRTC

No change.

New APIs

  • In SVG, the {{domxref("SVGStyleElement")}} interface now implements the {{domxref("LinkStyle")}} mixin ){{bug(1239128)}}.

Miscellaneous

  • The asynchronous {{domxref("FileReader")}} is now available in Web workers ({{bug(901097)}}).
  • Our experimental implementation of Web Animations API has been updated:
    • {{domxref("AnimationEffectTimingReadOnly")}} and {{domxref("AnimationEffectReadOnly.timing")}} have been implemented ({{bug(1214536)}}).
  • The Permissions API has now been enabled by default, for all release versions, not just Nightly as it previously was ({{bug(1221106)}}.)
  • Sanitization of WOFF fonts has been loosened a bit ({{bug (1244693)}}).

MathML

No change.

SVG

No change.

Audio/Video

No change.

HTTP

No change.

Networking

  • Support of {{rfc(7686)}} has been added: by default there is no attempt to resolve domain with the TLD .onion. This is controlled by the preference network.dns.blockDotOnion. Add-ons supporting Tor can swap this pref. ({{bug(1228457)}})

Security

No change.

Changes for add-on and Mozilla developers

Interfaces

No change.

XUL

No change.

JavaScript code modules

No change.

XPCOM

No change.

Other

No change.

See also

Older versions

{{Firefox_for_developers(45)}}

Revision Source

<p><a href="https://www.mozilla.org/firefox/developer/" style="float: right; margin-bottom: 20px; padding: 10px; text-align: center; border-radius: 4px; display: inline-block; background-color: #81BC2E; white-space: nowrap; color: white; text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.25); box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.2), 0px -1px 0px 0px rgba(0, 0, 0, 0.3) inset;">To test the latest developer features of Firefox,<br />
 install Firefox Developer Edition</a> {{ ReleaseChannelInfo("46", "46", "April 2016", "Aurora") }}</p>

<h2 id="Changes_for_Web_developers">Changes for Web developers</h2>

<h3 id="Developer_Tools">Developer Tools</h3>

<p>{{page('/en-US/docs/Tools/Release_notes', 'Firefox_46')}}</p>

<h3 id="HTML">HTML</h3>

<ul>
 <li>When faced with an invalid <code>type</code> value, {{HTMLElement("ul")}} no longer&nbsp;maps&nbsp;to&nbsp;<code>decimal</code>, but&nbsp;now behaves as if no&nbsp;<code>type</code> value were specified&nbsp;({{bug(241719)}}).</li>
 <li>The attribute <code>pattern</code> on {{HTMLElement("input")}} is now treated as {{jsxref("RegExp", "a regular expression", "", 1)}} with <code>"u"</code> (unicode) flag ({{bug(1227906)}}).</li>
</ul>

<h3 id="CSS">CSS</h3>

<ul>
 <li>Our implementation of CSS Grids has been updated:
  <ul>
   <li>The keywords <code>auto-fill</code> and <code>auto-fit</code> are now allowed in the <code>repeat()</code> function ({{bug(1118820)}}).</li>
   <li>The <code>true</code> value has been renamed to <code>unsafe</code>; this affects the properties {{cssxref("justify-content")}}, {{cssxref("align-content")}}, {{cssxref("justify-self")}}, {{cssxref("align-self")}}, {{cssxref("justify-items")}} and {{cssxref("align-items")}} ({{bug(1230478)}}).</li>
  </ul>
 </li>
 <li>The properties {{cssxref("text-emphasis")}}, {{cssxref("text-emphasis-style")}}, {{cssxref("text-emphasis-color")}} and {{cssxref("text-emphasis-position")}} are now enabled by defaut ({{bug(1231485)}}).</li>
 <li>Gecko now accepts the <code>-webkit-</code> prefixed version of <a href="https://wiki.mozilla.org/Compatibility/Mobile/Non_Standard_Compatibility">some properties</a>; it requires to switch <code>layout.css.prefixes.webkit</code> to <code>true</code> ({{bug(1213126)}}).</li>
 <li>The experimental support of the&nbsp;{{cssxref("@font/font-display", "font-display")}} descriptor (of {{cssxref("@font")}}; it requires to switch <code>layout.css.font-display.enabled</code> to <code>true</code> ({{bug(1157064)}}).</li>
 <li>Added support for <a href="/en-US/docs/Web/CSS/@media/-webkit-transform-3d"><code>@media (-webkit-transform-3d)</code></a> as a media query for 3D transform support, if about:config pref <code>layout.css.prefixes.webkit</code> is set to <code>true</code> ({{bug(1239799)}}).</li>
 <li>{{cssxref("linear-gradient()")}}&nbsp;support for the omission of <code>0deg</code> units ({{bug(1239153)}}).</li>
 <li>&nbsp;[css-align] "unsafe start" (formerly "true start") should serialize to "start" etc&nbsp;({{bug(1230398)}}).</li>
</ul>

<h3 id="JavaScript">JavaScript</h3>

<ul>
 <li>The&nbsp;ES2015 (ES6) {{jsxref("RegExp.prototype.unicode", "RegExp unicode (u) flag", "", 1)}} has been implemented ({{bug(1135377)}}).</li>
 <li>The ES2015 (ES6) block-level functions have been implemented ({{bug(1071646)}}).</li>
 <li>The ES2015 (ES6) {{jsxref("TypedArray.prototype.sort()")}} method has been implemented ({{bug(1121937)}}).</li>
 <li>The ES2015 (ES6) {{jsxref("Functions/arguments/@@iterator", "arguments[@@iterator]")}} has been implemented ({{bug(1067049)}}).</li>
 <li>The experimental <a href="https://tc39.github.io/ecmascript_sharedmem/shmem.html">EcmaScript Shared Memory API</a> has been implemented. See the {{jsxref("SharedArrayBuffer")}} and {{jsxref("Atomics")}} objects. To use this experimental API set <code>javascript.options.shared_memory</code> to <code>true</code> in about:config.</li>
 <li>Redeclaration of <code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/let">let</a></code> and <code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/const">const</a></code> variables now throws a {{jsxref("SyntaxError")}} instead of a {{jsxref("TypeError")}} as per the ECMAScript specification ({{bug(1198833)}}).</li>
 <li>In <a href="/en-US/docs/Web/JavaScript/Reference/Strict_mode">Strict mode</a>, setting properties on {{Glossary("primitive")}} values will now throw a {{jsxref("TypeError")}} ({{bug(603201)}}).</li>
 <li>The non-standard {{jsxref("WeakMap.prototype.clear()")}} and {{jsxref("WeakSet.prototype.clear()")}} methods have been removed ({{bug(1101817)}}).</li>
 <li>The non-standard, static <code>RegExp.multiline</code> property is now deprecated ({{bug(1220457)}}).</li>
 <li>Built-in accessor function names now have a "get" or "set" prefix ({{bug(1180290)}}, {{bug(1235656)}}).</li>
 <li>{{jsxref("Operators/Array_comprehensions", "JS1.7/JS1.8 (legacy) array comprehensions", "#Differences_to_the_older_JS1.7JS1.8_comprehensions", 1)}} and {{jsxref("Operators/Generator_comprehensions", "JS1.7/JS1.8 (legacy) generator comprehensions", "#Differences_to_the_older_JS1.7JS1.8_comprehensions", 1)}} have been removed ({{bug(1220564)}}).</li>
</ul>

<h3 id="InterfacesAPIsDOM">Interfaces/APIs/DOM</h3>

<h4 id="DOM_HTML_DOM">DOM &amp; HTML DOM</h4>

<ul>
 <li>The deprecated {{domxref("Window.showModalDialog()")}} method is no more available when Firefox runs in multi-process mode (e10s) ({{bug(1234700)}}).</li>
 <li>Added support for {{domxref("Document.elementsFromPoint")}} ({{bug(1164427)}}).</li>
</ul>

<h4 id="Canvas">Canvas</h4>

<ul>
 <li>The remaining parts of the experimental {{domxref("OffscreenCanvas")}} API has been implemented; new features: {{domxref("OffscreenCanvas.OffscreenCanvas", "OffscreenCanvas()")}} constructor,&nbsp; {{domxref("OffscreenCanvas.toBlob()")}}, and {{domxref("OffscreenCanvas.transferToImageBitmap()")}}. To use this experimental API set <code>gfx.offscreencanvas.enabled</code> to <code>true</code> in about:config ({{bug(1172796)}}).</li>
 <li>The {{domxref("ImageBitmap.close()")}} method is now supported ({{bug(1172796)}}).</li>
 <li>A new {{domxref("ImageBitmapRenderingContext")}} rendering context is now implemented. Use <code>"bitmaprenderer"</code> with {{domxref("OffscreenCanvas.getContext()")}} or {{domxref("HTMLCanvasElement.getContext()")}} to obtain this context. ({{bug(1172796)}}).</li>
</ul>

<h4 id="WebGL">WebGL</h4>

<ul>
 <li>The {{domxref("WEBGL_compressed_texture_es3")}} extension has been implemented, allowing the use of <a href="https://en.wikipedia.org/wiki/Ericsson_Texture_Compression">ETC2 compressed texture formats </a>({{bug(917505)}}). To use this extension, set the preference <code>webgl.enable-draft-extensions</code> to <code>true</code> in about:config.</li>
</ul>

<h4 id="IndexedDB">IndexedDB</h4>

<p><em>No change.</em></p>

<h4 id="Service_Workers">Service Workers</h4>

<ul>
 <li>{{domxref("FetchEvent.request")}} is now non-nullable (see {{bug("1238213")}}.)</li>
 <li>{{domxref("Navigator.serviceWorker")}} has now been marked as SameObject (see {{bug("1238205")}}.)</li>
 <li>{{domxref("ExtendableMessageEvent.ports")}} has now been marked as SameObject (see {{bug("1238225")}}.)</li>
</ul>

<h4 id="Fetch">Fetch</h4>

<ul>
 <li>{{domxref("Request.mode")}} now has a new value available, <code>navigate</code>, for supporting requests generated while navigating between documents (see {{bug("1209081")}}.)</li>
</ul>

<h4 id="WebRTC">WebRTC</h4>

<p><em>No change.</em></p>

<h4 id="New_APIs">New APIs</h4>

<ul>
 <li>In SVG, the {{domxref("SVGStyleElement")}} interface now implements the {{domxref("LinkStyle")}} mixin ){{bug(1239128)}}.</li>
</ul>

<h4 id="Miscellaneous">Miscellaneous</h4>

<ul>
 <li>The asynchronous {{domxref("FileReader")}} is now available in Web workers ({{bug(901097)}}).</li>
 <li>Our experimental implementation of <a href="/en-US/docs/Web/API/Web_Animations_API">Web Animations API</a> has been updated:
  <ul>
   <li>{{domxref("AnimationEffectTimingReadOnly")}} and {{domxref("AnimationEffectReadOnly.timing")}} have been implemented ({{bug(1214536)}}).</li>
  </ul>
 </li>
 <li>The <a href="/en-US/docs/Web/API/Permissions_API">Permissions API</a> has now been enabled by default, for all release versions, not just Nightly as it previously was ({{bug(1221106)}}.)</li>
 <li>Sanitization of WOFF fonts has been loosened a bit ({{bug (1244693)}}).</li>
</ul>

<h3 id="MathML">MathML</h3>

<p><em>No change.</em></p>

<h3 id="SVG">SVG</h3>

<p><em>No change.</em></p>

<h3 id="AudioVideo">Audio/Video</h3>

<p><em>No change.</em></p>

<h2 id="HTTP">HTTP</h2>

<p><em>No change.</em></p>

<h2 id="Networking">Networking</h2>

<ul>
 <li>Support of {{rfc(7686)}} has been added: by default there is no attempt to resolve domain with the TLD <code>.onion</code>. This is controlled by the preference <code>network.dns.blockDotOnion</code>. Add-ons supporting Tor can swap this pref. ({{bug(1228457)}})</li>
</ul>

<h2 id="Security">Security</h2>

<p><em>No change.</em></p>

<h2 id="Changes_for_add-on_and_Mozilla_developers">Changes for add-on and Mozilla developers</h2>

<h3 id="Interfaces">Interfaces</h3>

<p><em>No change.</em></p>

<h3 id="XUL">XUL</h3>

<p><em>No change.</em></p>

<h3 id="JavaScript_code_modules">JavaScript code modules</h3>

<p><em>No change.</em></p>

<h3 id="XPCOM">XPCOM</h3>

<p><em>No change.</em></p>

<h3 id="Other">Other</h3>

<p><em>No change.</em></p>

<h2 id="See_also">See also</h2>

<ul>
 <li><a href="https://www.fxsitecompat.com/en-US/versions/46/">Site Compatibility for Firefox 46</a></li>
</ul>

<h2 id="Older_versions">Older versions</h2>

<p>{{Firefox_for_developers(45)}}</p>
Revert to this revision