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 1027860 of Firefox 45 for developers

  • Revision slug: Mozilla/Firefox/Releases/45
  • Revision title: Firefox 45 for developers
  • Revision id: 1027860
  • Created:
  • Creator: DBaron
  • Is current revision? No
  • Comment move grid down since it's not enabled on release
Tags: 

Revision Content

To test the latest developer features of Firefox,
install Firefox Developer Edition
{{ReleaseChannelInfo("45", "45", "March 2016", "Beta")}}

Changes for Web developers

Developer Tools

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

HTML

  • Content Security Policy can now be set directly on the {{HTMLElement("meta")}} element ({{bug(663570)}}).
  • The attribute referrer has been renamed referrerpolicy on {{HTMLElement("img")}}, {{HTMLElement("area")}}, {{HTMLElement("a")}}, and {{HTMLElement("iframe")}} ({{bug(1187357)}}).
  • Changes in the viewport, or a resize, now trigger the reselection of responsive images for <img srcset> ({{bug(1166138)}}).

CSS

  • {{cssxref("word-spacing")}} now allows percentage values ({{bug(1038663)}}).
  • Our implementation of CSS Grids has been improved and is no more considered experimental; it is now activated by default in nightly and developer edition, but not for beta and release ({{bug(1000592)}}):
    • Gutters, that is the {{cssxref("grid-column-gap")}}, {{cssxref("grid-row-gap")}}, and {{cssxref("grid-gap")}} properties are now supported ({{bug(1176792)}}).
    • The implied minimum size of grid Items, that is the special {{cssxref("min-width")}} and {{cssxref("min-height")}} auto behavior has been implemented ({{bug(1176775)}}).
    • {{cssxref("align-self")}} and {{cssxref("justify-self")}} are now supported on grid layouts ({{bug(1151213)}}).
    • {{cssxref("align-content")}} and {{cssxref("justify-content")}} are now supported on grid layouts ({{bug(1151214)}}).
    • Resolved value of grid-template-columns,grid-template-rows in px units ({{bug(978212)}}).
    • The related feature {{cssxref("display")}}: contents has been supported since Firefox 37
  • Implement full support for CSS Box Alignment for CSS Grid, support the missing values: start, end, self-start, self-end, left, right,last-baseline,space-evenly ({{bug(1176782)}}).  CSS Box Alignment currently applies only to CSS Flexbox and CSS Grid.
  •  [css-grid][css-flexbox] Implement grid/flex layout for <fieldset> ({{bug(1230207)}}).
  • The inline-start and inline-end values have been added to {{cssxref("float")}} and {{cssxref("clear")}} ({{bug(1122918)}}). They are enabled by default on Nightly and Aurora (Dev edition), as well as on Firefox OS; to activate it on a release or beta version, you need to flip the layout.css.float-logical-values.enabled to true.
  • The {{cssxref("text-emphasis")}}, {{cssxref("text-emphasis-style")}}, {{cssxref("text-emphasis-color")}}, and {{cssxref("text-emphasis-position")}} have been implemented; they are disabled by default (set layout.css.text-emphasis.enabled  to true to activate them ({{bug(1040668)}}).
  • Multiple changes for -webkit- prefix compatibility have been made behind a pref (layout.css.prefixes.webkit) that is not yet enabled:
    • Alias -webkit-transform related CSS properties ({{bug(1179444)}}).
    • Support -webkit-min-device-pixel-ratio in CSS media queries (nonstandard version of "min-resolution") ({{bug(1176968)}}).
    • Support -webkit-box styling, as aliases for modern CSS flexbox (behind a pref) ({{bug(1208635)}}).

JavaScript

  • ES2015 (ES6) Classes are now enabled by default ({{bug(1197932)}}).
  • {{jsxref("Operators/Expression_closures", "Expression closures", "", 1)}} are deprecated and will now present a warning in the console ({{bug(995610)}}).
  • {{jsxref("String.prototype.replace")}} does not restore {{jsxref("Global_Objects/RegExp/n", "RegExp static properties", "", 1)}} after executing function parameter anymore ({{bug(1226936)}}).
  • {{jsxref("Math.random()")}} has been updated to the better XorShift128+ algorithm ({{bug(322529)}}).

Interfaces/APIs/DOM

DOM & HTML DOM

  • For compatibility, the non-standard property Node.innerText has been implemented ({{bug(264412)}}).
  • The {{domxref("HTMLImageElement.srcset")}} attribute now reacts to resize/viewport changes ({{bug(1166138)}}).

WebGL

Our implementation of WebGL 2 has been extended:

  • Support of programs and shaders has been added ({{bug(1048743)}}).
  • Support for uniforms and attributes has been added ({{bug(1048745)}}).
  • Framebuffer objects have been implemented ({{bug(1048732)}}).
  • Renderbuffer objects have been implemented ({{bug(1048733)}}).

IndexedDB

No change.

Service Workers

  • {{domxref("Clients.get()")}} and {{domxref("FetchEvent.clientId")}} have been implemented ({{bug(1222464)}}.)
  • {{domxref("Clients.openWindow()")}} has been implemented ({{bug(1172870)}}.)
  • The options object that can be passed as a parameter when invoking {{domxref("Clients.matchAll()")}} can now include an includeUncontrolled property. This is a {{domxref("Boolean")}} — if set to true, the matching operation will return all service worker clients who share the same origin as the current service worker. Otherwise, it returns only the service worker clients controlled by the current service worker. The default is false.

WebRTC

No change.

New APIs

No change.

Miscellaneous

  • Web Speech Synthesis API has been implemented on Firefox Desktop ({{bug(1003439)}}).
  • The {{domxref("Window.onstorage")}} event handler property has been added.
  • The interface {{domxref("ComputedTiming")}} have been added to our experimental implementation of Web Animations API ({{bug(1108055)}}).
  • The {{domxref("Document.onselectionchange")}} event handler property has been added ({{bug(1231193)}}).
  • After removing a video track from a media stream by calling {{domxref("MediaStream.removeTrack()")}} you can nowadd another video track later using {{domxref("MediaStream.addTrack()")}} and have it played ({{bug(1223696)}}).

MathML

No change.

SVG

  • SVG stroke hit-testing is buggy when cairo is the Moz2D backend ({{bug(676001)}}).
  • Unable to interact with elements who have large transform / translate values ({{bug(1217012)}}).

Audio/Video

  • Fixed: Regression (since Firefox 41) whereby audio playback was stuttering due to duration time rounding errors ({{bug(1222866)}}.)

HTTP

  • The jar: protocol has been disabled by default when accessed from Web content; you may enable this if necessary by setting the {{pref("network.jar.block-remote-files")}} preference to false ({{bug(1215235)}}).

Networking

No change.

Security

  • Support of the child-src CSP policy directive has been implemented ({{bug(1045891)}}).
  • EV certificates with a validity greater than 27 months are now considered and handled as DV certificates ({{bug(1222903)}}).

Changes for add-on and Mozilla developers

Interfaces

No change.

XUL

JavaScript code modules

No change.

XPCOM

No change.

Other

  • WebIDL constructors could be called without the new operator in chrome context.  Now such code will raise a TypeError as in Web content since Firefox 30. For example, var req = XMLHttpRequest(); needs to be var req = new XMLHttpRequest();.

See also

Older versions

{{Firefox_for_developers(44)}}

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("45", "45", "March 2016", "Beta")}}</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_45')}}</p>

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

<ul>
 <li>Content Security Policy can now be set directly on the {{HTMLElement("meta")}} element ({{bug(663570)}}).</li>
 <li>The attribute <code>referrer</code> has been renamed <code>referrerpolicy</code> on {{HTMLElement("img")}}, {{HTMLElement("area")}}, {{HTMLElement("a")}}, and {{HTMLElement("iframe")}} ({{bug(1187357)}}).</li>
 <li>Changes in the viewport, or a resize, now trigger the reselection of responsive images for <code>&lt;img srcset&gt;</code> ({{bug(1166138)}}).</li>
</ul>

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

<ul>
 <li>{{cssxref("word-spacing")}} now allows percentage values ({{bug(1038663)}}).</li>
 <li>Our implementation of CSS Grids has been improved and is no more considered experimental; it is now activated by default in nightly and developer edition, but not for beta and release ({{bug(1000592)}}):
  <ul>
   <li>Gutters, that is the {{cssxref("grid-column-gap")}}, {{cssxref("grid-row-gap")}}, and {{cssxref("grid-gap")}} properties are now supported ({{bug(1176792)}}).</li>
   <li>The implied minimum size of grid Items, that is the special {{cssxref("min-width")}} and {{cssxref("min-height")}} <code>auto</code> behavior has been implemented ({{bug(1176775)}}).</li>
   <li>{{cssxref("align-self")}} and {{cssxref("justify-self")}} are now supported on grid layouts ({{bug(1151213)}}).</li>
   <li>{{cssxref("align-content")}} and {{cssxref("justify-content")}} are now supported on grid layouts ({{bug(1151214)}}).</li>
   <li>Resolved value of grid-template-columns,grid-template-rows&nbsp;in px units&nbsp;({{bug(978212)}}).</li>
   <li>The related feature {{cssxref("display")}}: contents has been supported since <a href="/en-US/docs/Mozilla/Firefox/Releases/37">Firefox 37</a></li>
  </ul>
 </li>
 <li>Implement full support for CSS Box Alignment for CSS Grid,&nbsp;support&nbsp;the missing values: <code>start,</code> <code>end,</code> <code>self-start,</code> <code>self-end,</code> <code>left,</code> <code>right,last-baseline,space-evenly&nbsp;</code>({{bug(1176782)}}).&nbsp; CSS Box Alignment currently applies only to CSS Flexbox and CSS Grid.</li>
 <li>&nbsp;[css-grid][css-flexbox] Implement grid/flex layout for &lt;fieldset&gt; ({{bug(1230207)}}).</li>
 <li>The <code>inline-start</code> and <code>inline-end</code> values have been added to {{cssxref("float")}} and {{cssxref("clear")}} ({{bug(1122918)}}). They are enabled by default on Nightly and Aurora (Dev edition), as well as on Firefox OS; to activate it on a release or beta version, you need to flip the <code>layout.css.float-logical-values.enabled</code> to <code>true</code>.</li>
 <li>The {{cssxref("text-emphasis")}}, {{cssxref("text-emphasis-style")}}, {{cssxref("text-emphasis-color")}}, and {{cssxref("text-emphasis-position")}} have been implemented; they are disabled by default (set <code>layout.css.text-emphasis.enabled</code>&nbsp; to true to activate them ({{bug(1040668)}}).</li>
 <li>Multiple changes for <code>-webkit-</code> prefix compatibility have been made behind a pref (<code>layout.css.prefixes.webkit</code>) that is not yet enabled:
  <ul>
   <li>Alias <code>-webkit-transform</code> related CSS properties ({{bug(1179444)}}).</li>
   <li>Support <a href="/en-US/docs/Web/CSS/@media/-webkit-device-pixel-ratio"><code>-webkit-min-device-pixel-ratio</code></a> in CSS media queries (nonstandard version of "min-resolution") ({{bug(1176968)}}).</li>
   <li>Support <code>-webkit-box</code> styling, as aliases for modern CSS flexbox (behind a pref) ({{bug(1208635)}}).</li>
  </ul>
 </li>
</ul>

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

<ul>
 <li>ES2015 (ES6) <a href="/en-US/docs/Web/JavaScript/Reference/Classes">Classes</a> are now enabled by default ({{bug(1197932)}}).</li>
 <li>{{jsxref("Operators/Expression_closures", "Expression closures", "", 1)}} are deprecated and will now present a warning in the console ({{bug(995610)}}).</li>
 <li>{{jsxref("String.prototype.replace")}} does not restore {{jsxref("Global_Objects/RegExp/n", "RegExp static properties", "", 1)}} after executing function parameter anymore ({{bug(1226936)}}).</li>
 <li>{{jsxref("Math.random()")}} has been updated to the better XorShift128+ algorithm ({{bug(322529)}}).</li>
</ul>

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

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

<ul>
 <li>For compatibility, the non-standard property <code><a href="/en-US/docs/Web/API/Node/innerText">Node.innerText</a></code> has been implemented ({{bug(264412)}}).</li>
 <li>The {{domxref("HTMLImageElement.srcset")}} attribute now reacts to resize/viewport changes&nbsp;({{bug(1166138)}}).</li>
</ul>

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

<p>Our implementation of WebGL 2 has been extended:</p>

<ul>
 <li>Support of programs and shaders has been added ({{bug(1048743)}}).</li>
 <li>Support for uniforms and attributes has been added ({{bug(1048745)}}).</li>
 <li>Framebuffer objects have been implemented ({{bug(1048732)}}).</li>
 <li>Renderbuffer objects have been implemented ({{bug(1048733)}}).</li>
</ul>

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

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

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

<ul>
 <li>{{domxref("Clients.get()")}} and {{domxref("FetchEvent.clientId")}} have been implemented ({{bug(1222464)}}.)</li>
 <li>{{domxref("Clients.openWindow()")}} has been implemented ({{bug(1172870)}}.)</li>
 <li>The options object that can be passed as a parameter when invoking {{domxref("Clients.matchAll()")}} can now include an <code>includeUncontrolled</code> property. This is a {{domxref("Boolean")}} — if set to <code>true</code>, the matching operation will return all service worker clients who share the same origin as the current service worker. Otherwise, it returns only the service worker clients controlled by the current service worker. The default is <code>false</code>.</li>
</ul>

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

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

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

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

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

<ul>
 <li><a href="/en-US/docs/Web/API/Web_Speech_API">Web Speech Synthesis API</a> has been implemented on Firefox Desktop ({{bug(1003439)}}).</li>
 <li>The {{domxref("Window.onstorage")}} event handler property has been added.</li>
 <li>The interface {{domxref("ComputedTiming")}} have been added to our experimental implementation of <a href="/en-US/docs/Web/API/Web_Animations_API">Web Animations API</a>&nbsp;({{bug(1108055)}}).</li>
 <li>The {{domxref("Document.onselectionchange")}} event handler property has been added ({{bug(1231193)}}).</li>
 <li>After removing a video track from a media stream by calling {{domxref("MediaStream.removeTrack()")}} you can nowadd another video track later using {{domxref("MediaStream.addTrack()")}} and have it played ({{bug(1223696)}}).</li>
</ul>

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

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

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

<ul>
 <li>SVG stroke hit-testing is buggy when cairo is the Moz2D backend ({{bug(676001)}}).</li>
 <li>Unable to interact with elements who have large transform / translate values ({{bug(1217012)}}).</li>
</ul>

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

<ul>
 <li>Fixed: Regression&nbsp;(since Firefox 41) whereby audio playback was stuttering due to duration time rounding errors ({{bug(1222866)}}.)</li>
</ul>

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

<ul>
 <li>The <code>jar:</code> protocol has been disabled by default when accessed from Web content; you may enable this if necessary by setting the {{pref("network.jar.block-remote-files")}} preference to <code>false</code> ({{bug(1215235)}}).</li>
</ul>

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

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

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

<ul>
 <li>Support of the <code>child-src</code> <a href="/en-US/docs/Web/Security/CSP/CSP_policy_directives">CSP policy directive</a> has been implemented ({{bug(1045891)}}).</li>
 <li>EV certificates with a validity greater than 27 months are now considered and handled as DV certificates ({{bug(1222903)}}).</li>
</ul>

<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>

<ul>
 <li>Tab Groups <a href="https://support.mozilla.org/kb/tab-groups-removal">have been removed</a>.</li>
</ul>

<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>

<ul>
 <li>WebIDL constructors could be called without the <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new"><code>new</code></a> operator in chrome context.&nbsp; Now such code will raise a <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError"><code>TypeError</code></a> as in Web content since Firefox 30. For example, <code>var req = XMLHttpRequest();</code> needs to be <code>var req = new XMLHttpRequest();</code>.</li>
</ul>

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

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

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

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