aboutsummaryrefslogtreecommitdiff
path: root/files/fr/mozilla/firefox/releases/41/index.html
blob: 8ad03022111369547954b517dfe878a7c1987bc8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
---
title: Firefox 41 pour développeurs
slug: Mozilla/Firefox/Versions/41
tags:
  - Firefox
  - Versions
translation_of: Mozilla/Firefox/Releases/41
---
<div>{{FirefoxSidebar}}</div><div class="column-container zone-callout"><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> Firefox 41 was released on September 22, 2015. This article lists key changes that are useful not only for web developers, but also Firefox and Gecko developers as well as add-on developers.</div>

<h2 id="Changements_pour_les_développeurs_Web">Changements pour les développeurs Web</h2>

<h3 id="Outils_pour_Développeurs">Outils pour Développeurs</h3>

<p>Nouveautés:</p>

<ul>
 <li><a href="/en-US/docs/Tools/Page_Inspector/How_to/Examine_and_edit_HTML#Element_popup_menu">Take a screenshot of a DOM node</a></li>
 <li><a href="/en-US/docs/Tools/Network_Monitor#CopySave_All_As_HAR">Copy as HAR/save as HAR</a></li>
 <li><a href="/en-US/docs/Tools/Page_Inspector/How_to/Examine_and_edit_CSS#Add_rules">"Add Rule" button in the Rules view</a></li>
 <li><a href="/en-US/docs/Tools/View_source">View source in a tab</a></li>
 <li><a href="/en-US/docs/Tools/Page_Inspector/How_to/Examine_and_edit_CSS#Copy_rules">More options to copy CSS rules</a></li>
 <li><a href="/en-US/docs/Tools/Page_Inspector/How_to/View_background_images">Copy image as data: URI in the Rules view</a></li>
</ul>

<p><a class="external external-icon" href="https://bugzilla.mozilla.org/buglist.cgi?resolution=FIXED&amp;classification=Client%20Software&amp;chfieldto=2015-06-29&amp;query_format=advanced&amp;chfield=resolution&amp;chfieldfrom=2015-05-11&amp;chfieldvalue=FIXED&amp;bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;component=Developer%20Tools&amp;component=Developer%20Tools%3A%203D%20View&amp;component=Developer%20Tools%3A%20Canvas%20Debugger&amp;component=Developer%20Tools%3A%20Console&amp;component=Developer%20Tools%3A%20Debugger&amp;component=Developer%20Tools%3A%20Framework&amp;component=Developer%20Tools%3A%20Graphic%20Commandline%20and%20Toolbar&amp;component=Developer%20Tools%3A%20Inspector&amp;component=Developer%20Tools%3A%20Memory&amp;component=Developer%20Tools%3A%20Netmonitor&amp;component=Developer%20Tools%3A%20Object%20Inspector&amp;component=Developer%20Tools%3A%20Performance%20Tools%20%28Profiler%2FTimeline%29&amp;component=Developer%20Tools%3A%20Responsive%20Mode&amp;component=Developer%20Tools%3A%20Scratchpad&amp;component=Developer%20Tools%3A%20Source%20Editor&amp;component=Developer%20Tools%3A%20Storage%20Inspector&amp;component=Developer%20Tools%3A%20Style%20Editor&amp;component=Developer%20Tools%3A%20User%20Stories&amp;component=Developer%20Tools%3A%20Web%20Audio%20Editor&amp;component=Developer%20Tools%3A%20WebGL%20Shader%20Editor&amp;component=Developer%20Tools%3A%20WebIDE&amp;product=Firefox&amp;list_id=12283503">All devtools bugs fixed between Firefox 40 and Firefox 41</a>: note that many of these bugs, especially those relating to the performance tools, were uplifted to Firefox 40.</p>

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

<ul>
 <li>Support for laying out vertical scripts has been activated by default ({{bug(1138384)}}). That means that the following CSS properties are now available:
  <ul>
   <li>Choosing the direction of writing: {{cssxref("writing-mode")}}.</li>
   <li>Controlling orientation of characters: {{cssxref("text-orientation")}}.</li>
   <li>Direction-independent equivalents of {{cssxref("width")}} and {{cssxref("height")}}: {{cssxref("block-size")}} and {{cssxref("inline-size")}}.</li>
   <li>Direction-independent equivalents of {{cssxref("min-width")}} and {{cssxref("min-height")}}: {{cssxref("min-block-size")}} and {{cssxref("min-inline-size")}}.</li>
   <li>Direction-independent equivalents of {{cssxref("max-width")}} and {{cssxref("max-height")}}: {{cssxref("max-block-size")}} and {{cssxref("max-block-size")}}.</li>
   <li>Direction-independent equivalents of {{cssxref("margin-top")}}, {{cssxref("margin-right")}}, {{cssxref("margin-bottom")}} and {{cssxref("margin-left")}}: {{cssxref("margin-block-start")}}, {{cssxref("margin-block-end")}}, {{cssxref("margin-inline-start")}} and {{cssxref("margin-inline-end")}}.</li>
   <li>Direction-independent equivalents of {{cssxref("padding-top")}}, {{cssxref("padding-right")}}, {{cssxref("padding-bottom")}} and {{cssxref("padding-left")}}: {{cssxref("padding-block-start")}}, {{cssxref("padding-block-end")}}, {{cssxref("padding-inline-start")}} and {{cssxref("padding-inline-end")}}.</li>
   <li>Direction-independent equivalents of {{cssxref("border-top")}}, {{cssxref("border-right")}}, {{cssxref("border-bottom")}} and {{cssxref("border-left")}} and their longhands for width, style and color: {{cssxref("border-block-start")}}, {{cssxref("border-block-start-width")}}, {{cssxref("border-block-start-style")}}, {{cssxref("border-block-start-color")}}, {{cssxref("border-block-end")}}, {{cssxref("border-block-end-width")}}, {{cssxref("border-block-end-style")}}, {{cssxref("border-block-end-color")}}, {{cssxref("border-inline-start")}}, {{cssxref("border-inline-start-width")}}, {{cssxref("border-inline-start-style")}}, {{cssxref("border-inline-start-color")}}, {{cssxref("border-inline-end")}}, {{cssxref("border-inline-end-width")}}, {{cssxref("border-inline-end-style")}} and {{cssxref("border-inline-end-color")}}.</li>
   <li>Direction-independent equivalents of {{cssxref("top")}}, {{cssxref("right")}}, {{cssxref("bottom")}} and {{cssxref("left")}}: {{cssxref("offset-block-start")}}, {{cssxref("offset-block-end")}}, {{cssxref("offset-inline-start")}} and {{cssxref("offset-inline-end")}}.</li>
  </ul>
 </li>
</ul>

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

<ul>
 <li>{{HTMLElement("a")}} without an <code>href</code> attribute is no longer classified as interactive content. Clicking it inside {{HTMLElement("label")}} will activate labelled content ({{bug(1167816)}}).</li>
 <li>SVG icons are now supported for site icons, that is favicons and shortcut icons ({{bug(366324)}}).</li>
 <li>The {{htmlattrxref('crossorigin', 'link')}} attribute is now supported for <a href="/en-US/docs/Web/HTML/Element/link">&lt;link rel='preconnect'&gt;</a> ({{bug(1174152)}}).</li>
</ul>

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

<ul>
 <li>{{jsxref("Date.prototype")}} is now an ordinary object, not a {{jsxref("Date")}} instance anymore ({{bug(861219)}}).</li>
 <li>{{jsxref("Date.prototype.toString")}} is now a generic method ({{bug(861219)}}).</li>
 <li>{{jsxref("Symbol.species")}} has been added ({{bug(1131043)}}).</li>
 <li>{{jsxref("Map.@@species", "Map[@@species]")}} and {{jsxref("Set.@@species", "Set[@@species]")}} getters have been added ({{bug(1131043)}}).</li>
 <li>Non-standard {{jsxref("Statements/let", "let expression", "#let_expressions", 1)}} support has been dropped ({{bug(1023609)}}).</li>
 <li>{{jsxref("Functions/Default_parameters", "Destructured parameters with default value assignment", "#Destructured_parameter_with_default_value_assignment", 1)}} are now supported ({{bug(1018628)}}).</li>
 <li>Per ES6, curly braces are required for <a href="/en-US/docs/Web/JavaScript/Reference/Functions/Method_definitions">method definitions</a>. Syntax without them will fail from now on ({{bug(1150855)}}).</li>
 <li><a href="/en-US/docs/Web/JavaScript/Reference/Functions/Method_definitions">Method definitions</a> (except for generator methods) are not constructable anymore ({{bug(1059908)}} and {{bug(1166950)}}).</li>
 <li>As part of ES6 specification compliance, parenthesized <a href="/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment">destructuring</a> patterns, like <code>([a, b]) = [1, 2]</code> or <code>({a, b}) = { a: 1, b: 2 }</code>, are now considered invalid and will throw a {{jsxref("SyntaxError")}}. See <a href="http://whereswalden.com/2015/06/20/new-changes-to-make-spidermonkeys-and-firefoxs-parsing-of-destructuring-patterns-more-spec-compliant/">Jeff Walden's blog post</a> for more details.</li>
 <li>The <code><a href="/en-US/docs/Web/JavaScript/Reference/Operators/new.target">new.target</a></code> syntax has been added ({{bug(1141865)}}).</li>
</ul>

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

<h4 id="HTML_Editing_API">HTML Editing API</h4>

<ul>
 <li>Cut, copy and paste commands handling has been revamped and now allow programmatic copying and cutting from JS for Web content:
  <ul>
   <li>With the <code>'paste'</code> command as argument, {{domxref("Document.queryCommandSupported()")}} now returns <code>false</code> if has insufficient privileges to actually perform the action ({{bug(1161721)}}).</li>
   <li>With the <code>'cut'</code> or <code>'copy'</code> command as argument, {{domxref("Document.queryCommandSupported()")}} now returns <code>true</code> if called within the context of a user-initiated or privileged code ({{bug(1162952)}}).</li>
   <li>With the <code>'cut'</code> or <code>'copy'</code> command as argument, {{domxref("Document.execCommand()")}} now works, but only within the context of user-initiated or privileged code ({{bug(1012662)}}).</li>
  </ul>
 </li>
</ul>

<h4 id="Events">Events</h4>

<ul>
 <li>The non-standard {{domxref("CloseEvent.initCloseEvent()")}} method and the ability to create a {{domxref("CloseEvent")}} using the {{domxref("Event.createEvent", "Event.createEvent('CloseEvent')")}} method has been removed; use the standard constructor, {{domxref("CloseEvent.CloseEvent", "CloseEvent()")}} instead ({{bug(1161950)}}).</li>
 <li>On Desktop, {{domxref("PointerEvent")}} is now activated by default in Nightly; it is not activated in Developer Edition, Beta or Release and won't be for at least some versions ({{bug(1166347)}}).</li>
 <li>The unprefixed version of {{domxref("MouseEvent.movementX")}} and {{domxref("MouseEvent.movementY")}}}} have been added; the prefixed versions are deprecated and will be removed at some point in the future ({{bug(1164981)}}).</li>
</ul>

<h4 id="Web_Crypto">Web Crypto</h4>

<ul>
 <li>{{domxref("SubtleCrypto.importKey()")}} and {{domxref("SubtleCrypto.exportKey()")}} now supports <code>ECDH</code> keys ({{bug(1050175)}}).</li>
</ul>

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

<ul>
 <li>{{domxref("HTMLCanvasElement.captureStream()")}} and {{domxref("CanvasCaptureMediaStream")}} have been added and allow to stream the display of a {{HTMLElement("canvas")}} in real-time ({{bug(1032848)}}).</li>
 <li>{{domxref("MediaStream.id")}} now returns the unique id of a stream ({{bug(1089798)}}).</li>
 <li>The initial value of {{domxref("CanvasRenderingContext2D.filter")}} is now correctly set to <code>none</code> ({{bug(1163124)}}).</li>
</ul>

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

<ul>
 <li>Improvement to our experimental <a href="/en-US/docs/Web/API/ServiceWorker_API">Service Worker</a> implementation:

  <ul>
   <li>{{domxref("ServiceWorkerGlobalScope.skipWaiting()")}} has been implemented ({{bug(1131352)}}).</li>
   <li>{{domxref("Clients.claim()")}} has been added ({{bug(1130684)}}).</li>
   <li>The other functional events of Service Workers have been made to inherit from {{domxref("ExtendableEvent")}}, giving them access to the {{domxref("ExtendableEvent.waitUntil","waitUntil()")}} method ({{bug("1160527")}}).</li>
  </ul>
 </li>
 <li>The {{domxref("CacheStorage")}} and {{domxref("Cache")}} interfaces are now supported ({{bug("1110144")}}).</li>
</ul>

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

<ul>
 <li>On OS X and Windows, {{domxref("NavigatorOnLine.onLine", "Navigator.onLine")}} now changes regarding network connectivity (it always returned <code>true</code>, , unless "Work offline" mode was selected) before ({{bug(654579)}}).</li>
 <li>{{domxref("MessagePort")}} and {{domxref("MessageChannel")}} now available in <a href="/en-US/docs/Web/API/Web_Workers_API">Web workers</a>, and are enabled by default in all contexts ({{bug(952139)}}) and ({{bug(911972)}}).</li>
 <li>The User Timing API is now available in <a href="/en-US/docs/Web/API/Web_Workers_API">Web workers</a> ({{bug(1155761)}}).</li>
 <li>The <a href="/en-US/docs/Web/API/Notifications_API">Notifications API</a> is now available in <a href="/en-US/docs/Web/API/Web_Workers_API">Web workers</a> ({{bug(916893)}}).</li>
 <li>{{domxref("DOMRequest")}} and {{domxref("DOMCursor")}} are now available in <a href="/en-US/docs/Web/API/Web_Workers_API">Web workers</a> ({{bug(1167650)}}).</li>
 <li>The <a href="/en-US/docs/Web/API/CSSFontLoading_API">CSS Font Loading API</a> is now enabled by default ({{bug(1149381)}}).</li>
 <li>Shared workers can no longer be shared between private (i.e. browsing in a private window) and non-private documents (see {{bug(1177621)}}).</li>
 <li>The {{domxref("URLUtilsSearchParams.searchParams")}} property is now read-only ({{bug(1174731)}}).</li>
 <li>
  <p>The {{domxref('URLUtils.hash')}} property no longer decodes URL fragment ({{bug(1093611)}}).</p>
 </li>
</ul>

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

<h4 id="New_default_and_fallback_font_handling">New default and fallback font handling</h4>

<p>Mathematical formulas require special fonts. So far, these fonts were hard-coded in the <code>mathml.css</code> user agent stylesheet (which sets the font-family on {{MathMLElement("math")}} tag) and in the preference option <code>font.mathfont-family</code> (which sets the fallback fonts to use for stretchy and large operators). Firefox 41 introduces, an internal <code>x-math</code> language that is automatically set on the <code>&lt;math&gt;</code> tag as well as corresponding preference options (e.g. <code>font.name.serif.x-math</code>). The user agent stylesheet now sets font-family to serif on the <code>&lt;math&gt;</code> tag and the preference option <code>font.mathfont-family</code> is replaced with <code>font.name.serif.x-math</code>.  All platforms now essentially use the same list of fallback fonts, with "Latin Modern Math" as first one. The default/fallback fonts can be configured from the standard per-language font preference menu. For more details, see {{bug(947654)}} and {{bug(1160456)}}.</p>

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

<ul>
 <li>Site icons (favicons, shortcut icons) now support SVG ({{bug(366324)}}).</li>
</ul>

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

<ul>
 <li>The <code>media.autoplay.enabled</code> preference now also apply to untrusted {{domxref("HTMLMediaElement.play()")}} invocations too, that is calls from non-users activated scripts ({{bug(659285)}}).</li>
</ul>

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

<ul>
 <li>The <code>X-Content-Duration</code> header is no longer supported ({{Bug(1160695)}}).</li>
</ul>

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

<p><em>pas de changement.</em></p>

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

<ul>
 <li>The <a href="https://developer.mozilla.org/en-US/docs/Web/Security/CSP">CSP</a> 1.1 <code>manifest-src</code> <a href="https://developer.mozilla.org/en-US/docs/Web/Security/CSP/CSP_policy_directives">directive</a> is now supported ({{bug(1089255)}}).</li>
</ul>

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

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

<p><em>pas de changement.</em></p>

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

<p><em>pas de changement.</em></p>

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

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

<p><em>pas de changement.</em></p>

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

<p><em>pas de changement.</em></p>

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

<ul>
 <li><a href="/en-US/docs/Mozilla/Firefox/Releases/41/Site_Compatibility">Site Compatibility for Firefox 41</a></li>
</ul>

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

<p>{{Firefox_for_developers('40')}}</p>