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
|
---
title: Firefox 62 for developers
slug: Mozilla/Firefox/Releases/62
translation_of: Mozilla/Firefox/Releases/62
---
<div>{{FirefoxSidebar}}</div><div>{{FirefoxSidebar}}</div>
<div>{{draft}}</div>
<p class="summary">This article provides information about the changes in Firefox 62 that will affect developers. Firefox 62 is the current <a href="https://www.mozilla.org/en-US/firefox/channel/desktop/#beta">Beta version of Firefox</a>, and will ship on <a href="https://wiki.mozilla.org/RapidRelease/Calendar#Future_branch_dates">September 5, 2018</a>.</p>
<h2 id="Changes_for_web_developers">Changes for web developers</h2>
<h3 id="Developer_tools">Developer tools</h3>
<ul>
<li>You now have four options for the location of the Developer Tools. In addition to the default location on the bottom of the window, you can choose to locate the tools on either the left or right sides of the main window or in a separate window.</li>
<li>You can now split the Rules view out into its own pane, separate from the other tabs on the CSS pane. See <a href="/en-US/docs/Tools/Page_Inspector/3-pane_mode">Page inspector 3-pane mode</a> for more details.</li>
<li>The Grid inspector has updated features, and all new documentation — see <a href="/en-US/docs/Tools/Page_Inspector/How_to/Examine_grid_layouts">CSS Grid Inspector: Examine grid layouts</a>.</li>
<li>The <a href="/en-US/docs/Tools/Accessibility_inspector">Accessibility inspector</a> has had a couple of minor updates:
<ul>
<li>It no longer exposes the <code>help</code> property, which isn't properly implemented in Gecko ({{bug(1467643)}}).</li>
<li>The <code>keyboardShortcut</code> property now correctly exposes any keyboard shortcut available to activate the currently inspected node ({{bug(1467381)}}).</li>
</ul>
</li>
</ul>
<h3 id="HTML">HTML</h3>
<p><em>没有变化。</em></p>
<h3 id="CSS">CSS</h3>
<ul>
<li><code>:-moz-selection</code> has been unprefixed ({{bug(509958)}}).</li>
<li><code>x</code> is now supported as a unit for the <code><a href="/en-US/docs/Web/CSS/resolution"><resolution></a></code> type ({{bug(1460655)}}).</li>
<li><code><a href="/en-US/docs/Web/CSS/shape-margin">shape-margin</a></code>, <code><a href="/en-US/docs/Web/CSS/shape-outside">shape-outside</a></code>, and <code><a href="/en-US/docs/Web/CSS/shape-image-threshold">shape-image-threshold</a></code> are now enabled by default ({{bug(1457297)}}).</li>
</ul>
<h3 id="SVG">SVG</h3>
<p><em>No changes.</em></p>
<h3 id="JavaScript">JavaScript</h3>
<ul>
<li>The {{jsxref("Array.prototype.flat()")}} and {{jsxref("Array.prototype.flatMap()")}} methods are now enabled by default ({{bug(1435813)}}).</li>
<li>The <code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/import.meta">import.meta</a></code> property has been implemented to expose context-specific metadata to a JavaScript module ({{bug(1427610)}}).</li>
<li>JavaScript <a href="/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#String_literals">string literals</a> may now directly contain U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR. As a consequence, {{jsxref("JSON")}} syntax is now a subset of JavaScript literal syntax (see {{bug(1435828)}} and the tc39 proposal <a href="https://github.com/tc39/proposal-json-superset">json-superset</a>).</li>
<li>For out-of-bounds <a href="/en-US/docs/Web/JavaScript/Typed_arrays">typed array</a> indexes, {{jsxref("Reflect.defineProperty()")}} and {{jsxref("Reflect.set()")}} will now return <code>false</code> instead of <code>true</code> ({{bug(1308735)}}).</li>
</ul>
<h3 id="APIs">APIs</h3>
<h4 id="New_APIs">New APIs</h4>
<ul>
<li>The <a href="/en-US/docs/Web/API/Web_Speech_API">Speech Synthesis API (Text-to-Speech)</a> is now enabled by default on Firefox for Android ({{bug(1463496)}}).</li>
</ul>
<h4 id="DOM">DOM</h4>
<ul>
<li>The {{domxref("DOMPointReadOnly")}} interface now supports the static function {{domxref("DOMPointReadOnly.fromPoint()")}}, which creates a new point object from a dictionary that's compatible with {{domxref("DOMPointInit")}}. This function is also available on {{domxref("DOMPoint")}} ({{bug(1186265)}}).</li>
<li>Related to the previous item, the <code>DOMPoint</code> and <code>DOMPointReadOnly</code> constructors no longer support an input parameter of type <code>DOMPointInit</code>; the values of the properties must be specified using the <code>x</code>, <code>y</code>, <code>z</code>, and <code>w</code> parameters ({{bug(1186265)}}).</li>
<li>The {{domxref("URL.createObjectURL()")}} method no longer supports creating object URLs to represent a {{domxref("MediaStream")}}. This capability has been obsolete for some time now, since you can simply set {{domxref("HTMLMediaElement.srcObject")}} to the <code>MediaStream</code> directly now ({{bug(1454889)}}).</li>
<li>For compatibility purposes, the {{domxref("Event.srcElement")}} property is now supported. It is an alias for {{domxref("Event.target")}} ({{bug(453968)}}).</li>
<li>{{domxref("Navigator.registerProtocolHandler()")}} now must only be called from a secure context ({{bug(1460506)}}).</li>
<li>The {{domxref("Navigator.registerContentHandler()")}} method has been disabled by default in preparation for being removed entirely, as it's been obsolete for some time ({{bug(1460481)}}).</li>
</ul>
<h4 id="DOM_events">DOM events</h4>
<p><em>No changes.</em></p>
<h4 id="Service_workers">Service workers</h4>
<p><em>No changes.</em></p>
<h4 id="Media_Web_Audio_and_WebRTC">Media, Web Audio, and WebRTC</h4>
<ul>
<li>The <code>"media.autoplay.enabled"</code> preference now controls automatic playback of both audio and video media, instead of just video media ({{bug(1413098)}}).</li>
<li>The {{domxref("ChannelSplitterNode")}} has been fixed to correctly default to having 6 channels with the <code>channelInterpretation</code> set to <code>"discrete"</code> and the <code>channelCountMode</code> set to <code>"explicit"</code> per the specification ({{bug(1456265)}}).</li>
</ul>
<h4 id="Canvas_and_WebGL">Canvas and WebGL</h4>
<p><em>No changes.</em></p>
<ul>
</ul>
<h3 id="CSSOM">CSSOM</h3>
<ul>
<li>Support for <code><a href="/en-US/docs/Web/API/CSSStyleDeclaration/getPropertyCSSValue">CSSStyleDeclaration.getPropertyCSSValue()</a></code> has been removed ({{bug(1408301)}}).</li>
<li>Support for <code><a href="/en-US/docs/Web/API/CSSValue">CSSValue</a></code>, <code><a href="/en-US/docs/Web/API/CSSPrimitiveValue">CSSPrimitiveValue</a></code>, and <code><a href="/en-US/docs/Web/API/CSSValueList">CSSValueList</a></code> has been removed ({{bug()}}).</li>
<li><code><a href="/en-US/docs/Web/API/Window/getComputedStyle">window.getComputedStyle()</a></code> no longer returns <code>null</code> when called on a <code>Window</code> which has no presentation ({{bug(1467722)}}).</li>
</ul>
<h3 id="HTTP">HTTP</h3>
<ul>
<li>The deprecated CSP {{CSP("referrer")}} directive has been removed. Please use the {{HTTPHeader("Referrer-Policy")}} header instead ({{bug(1302449)}}).</li>
</ul>
<h3 id="Security">Security</h3>
<p><em>No changes.</em></p>
<h3 id="Plugins">Plugins</h3>
<p><em>No changes.</em></p>
<h3 id="Other">Other</h3>
<p><em>No changes.</em></p>
<h2 id="Removals_from_the_web_platform">Removals from the web platform</h2>
<h3 id="HTML_2">HTML</h3>
<p><em>No changes.</em></p>
<h3 id="CSS_2">CSS</h3>
<p><em>No changes.</em></p>
<h3 id="APIs_2">APIs</h3>
<p><em>No changes.</em></p>
<h3 id="SVG_2">SVG</h3>
<p><em>No changes.</em></p>
<h3 id="Other_2">Other</h3>
<p><em>No changes.</em></p>
<h2 id="Changes_for_add-on_and_Mozilla_developers">Changes for add-on and Mozilla developers</h2>
<h3 id="WebExtensions">WebExtensions</h3>
<h4 id="API_changes">API changes</h4>
<ul>
<li><code><a href="/en-US/Add-ons/WebExtensions/API/webRequest/getSecurityInfo">webRequest.getSecurityInfo()</a></code> API to examine details of TLS connections ({{bug(1322748)}}).</li>
<li><code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/browserSettings/newTabPosition">browserSettings.newTabPosition</a></code> to customize where new tabs open ({{bug(1344749)}}).</li>
<li><code>windowTypes</code> has been deprecated in <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/windows/get">windows.get()</a></code>, <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/windows/getCurrent">windows.getCurrent()</a></code> and <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/windows/getLastFocused">windows.getLastFocused()</a></code> ({{bug(1419132)}}).</li>
<li>It's now possible to modify a browser action on a per-window basis ({{bug(1419893)}}).</li>
</ul>
<h4 id="Manifest_changes">Manifest changes</h4>
<ul>
<li>New <code>open_at_install</code> property of the <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/sidebar_action">sidebar_action</a></code> manifest key enables extensions to control whether their sidebars should open automatically on install or not ({{bug(1460910)}}).</li>
<li>Changed to the <code>browser_style</code> property of various manifest keys:
<ul>
<li>in <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/page_action">page_action</a></code> and <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action">browser_action</a></code> it defaults to false</li>
<li>in <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/sidebar_action">sidebar_action</a></code> and <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/options_ui">options_ui</a></code> it defaults to true.</li>
</ul>
</li>
</ul>
<h4 id="Theme_changes">Theme changes</h4>
<ul>
<li>New <code>tab_background_separator</code> property of the <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/theme">theme</a></code> manifest key enables extensions to change the color of the tab separator.</li>
</ul>
<h4 id="Other_changes">Other changes</h4>
<ul>
<li>Support for unpacked sideloaded extensions has been removed ({{bug(1385057)}}).</li>
</ul>
<h2 id="See_also">See also</h2>
<ul>
<li>Site compatibility for Firefox 62</li>
</ul>
<h2 id="Older_versions">Older versions</h2>
<p>{{Firefox_for_developers(61)}}</p>
|