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
199
200
201
202
203
204
205
206
207
208
209
|
---
title: Firefox 59 для разработчиков
slug: Mozilla/Firefox/Releases/59
tags:
- '59'
- Firefox
translation_of: Mozilla/Firefox/Releases/59
---
<div>{{FirefoxSidebar}}</div>
<p class="summary">Эта статья содержит информацию об изменениях в Firefox 59, которые затронут разработчиков. Firefox 59 был выпущен 13 марта 2018 года.</p>
<h2 id="Изменения_для_веб-разработчиков">Изменения для веб-разработчиков</h2>
<h3 id="Инструменты_для_разработчиков">Инструменты для разработчиков</h3>
<ul>
<li>The <a href="/en-US/docs/Tools/Network_Monitor">Network Monitor</a> Response tab now shows a <a href="/en-US/docs/Tools/Network_Monitor#HTML_preview">preview of the rendered HTML</a> — if the response is HTML ({{bug(1353319)}}).</li>
<li>Cookie information shown in the Storage Inspector (see <a href="/en-US/docs/Tools/Storage_Inspector#Cookies">Cookies</a>) now includes a <em>sameSite</em> column showing what the same-site status of each cookie is ({{bug(1298370)}}).</li>
<li>The <a href="/en-US/docs/Tools/Rulers">Rulers</a> tool now includes a readout showing the current dimensions of the viewport ({{bug(1402633)}}).</li>
<li>In <a href="/en-US/docs/Tools/Responsive_Design_Mode">Responsive Design Mode</a>, you can now set the screen dimensions using the cursor keys ({{bug(1421663)}}). See the <a href="/en-US/docs/Tools/Responsive_Design_Mode#Setting_screen_size">Setting screen size</a> section for more details.</li>
<li>The <em>Raw headers</em> display in the <a href="/en-US/docs/Tools/Network_Monitor">Network Monitor</a> <em>Headers</em> tab now includes the response's status code ({{bug(1419401)}}).</li>
</ul>
<h3 id="HTML">HTML</h3>
<p>The {{HTMLElement("textarea")}} element's {{htmlattrxref("autocomplete", "textarea")}} attribute has been implemented. This lets you enable or disable form auto-fill for the element.</p>
<h3 id="CSS">CSS</h3>
<ul>
<li>The {{cssxref("overscroll-behavior")}} property and its associated longhand properties — {{cssxref("overscroll-behavior-x")}} and {{cssxref("overscroll-behavior-y")}} — have been implemented ({{bug(951793)}}), and it has been enabled by default on all releases ({{bug(1428879)}}).</li>
<li>The behavior of "unusual elements" (elements that aren’t rendered purely by CSS box concepts such as replaced elements) when given a {{cssxref("display")}} value of <code>contents</code> has been updated as per spec ({{bug(1427292)}}). See <a href="https://drafts.csswg.org/css-display/#unbox">Appendix B: Effects of display: contents on Unusual Elements</a> for exactly what the specced behaviors are.</li>
<li>{{cssxref("position")}} <code>sticky</code> is now supported on appropriate <a href="/en-US/docs/Learn/HTML/Tables">HTML table</a> parts (e.g. {{htmlelement("th")}} elements) ({{bug(975644)}}).</li>
<li>{{cssxref("calc()")}} is now supported in {{cssxref("<color>")}} values — <code>rgb()</code>, <code>rgba()</code>, <code>hsl()</code>, and <code>hsla()</code> ({{bug(984021)}}).</li>
<li>{{cssxref("calc()")}} in <a href="/en-US/docs/Web/CSS/Media_Queries">media query</a> values is now supported {{bug(1396057)}}.</li>
<li>The {{cssxref("@document")}} at-rule has been limited to use only in user and UA sheets ({{bug(1035091)}}).</li>
<li>Implement the {{cssxref("font-optical-sizing")}} property ({{bug(1435692)}}).</li>
</ul>
<h3 id="SVG">SVG</h3>
<p><em>Нет изменений.</em></p>
<h3 id="JavaScript">JavaScript</h3>
<p><em>Нет изменений.</em></p>
<h3 id="APIs">APIs</h3>
<h4 id="New_APIs">New APIs</h4>
<p>{{domxref("PointerEvent","PointerEvents")}} have been enabled in Firefox Desktop ({{bug(1411467)}}).</p>
<h4 id="DOM">DOM</h4>
<ul>
<li>The {{domxref("EventTarget.EventTarget()","EventTarget()")}} constructor has been implemented ({{bug(1379688)}}).</li>
<li>The {{domxref("Response.Response()","Response()")}} constructor can now accept a <code>null</code> value for its <code>body</code> parameter, as per spec ({{bug(1303025)}}).</li>
</ul>
<h4 id="DOM_events">DOM events</h4>
<p>The {{domxref("Event.composedPath()")}} method has been implemented ({{bug(1412775)}}).</p>
<h4 id="Service_workers">Service workers</h4>
<ul>
<li>The service worker <a href="/en-US/docs/Web/API/Clients">Clients API</a> can now find and communicate with windows in a separate browser process ({{bug(1293277)}}) .</li>
<li>Nested about:blank and about:srcdoc iframes will now inherit their parent's controlling service worker. Fixed in ({{bug(1293277)}}) and ({{bug(1426979)}}).</li>
<li>When a service worker provides a {{domxref("Response")}} to {{domxref("FetchEvent.respondWith()")}}, the {{domxref("Response.url")}} value will not be propagated to the intercepted network request as the final resolved URL. In the past the {{domxref("Request.url","FetchEvent.request.url")}} was used for this instead. This means, for example, if a service worker intercepts a stylesheet or worker script, then the provided <code>Response.url</code> will be used to resolve any relative {{cssxref("@import")}} or {{domxref("WorkerGlobalScope.importScripts()","importScripts()")}} subresource loads ({{bug(1222008)}}).</li>
<li><code>FetchEvent.respondWith()</code> will now trigger a network error if the {{domxref("Request.mode","FetchEvent.request.mode")}} is <code>"same-origin"</code> and the provided {{domxref("Response.type")}} is <code>"cors"</code>. ({{bug(1222008)}})</li>
</ul>
<h4 id="Media_and_WebRTC">Media and WebRTC</h4>
<ul>
<li>The {{domxref("MediaStreamTrack")}} property {{domxref("MediaStreamTrack.muted")}}, along with the events {{event("mute")}} and {{event("unmute")}} and the corresponding event handlers, {{domxref("MediaStreamTrack.onmute", "onmute")}} and {{domxref("MediaStreamTrack.onmute", "onunmute")}}, have been implemented. A track's <code>muted</code> state indicates that the track is not currently able to provide media data.
<div class="note"><strong>Note:</strong> The <code>muted</code> state of a track isn't useful for what's typically thought of as muting and unmuting a track. Instead, use the {{domxref("MediaStreamTrack.enabled", "enabled")}} property; setting <code>enabled</code> to <code>false</code> causes the track to output only empty frames.</div>
</li>
<li>The {{domxref("RTCRtpReceiver")}} methods {{domxref("RTCRtpReceiver.getContributingSources", "getContributingSources()")}} and {{domxref("RTCRtpReceiver.getSynchronizationSources", "getSynchronizationSources()")}} have been implemented to provide information about the sources of each RTP stream. However, a specification change occurred before release and we have disabled these by default behind the preference <code>media.peerconnection.rtpsourcesapi.enable</code> ({{bug(1363667)}}, {{bug(1430213)}}, and {{bug(1433236)}}.</li>
<li>The {{domxref("RTCRtpTransceiver")}} interface has now been implemented, since the Firefox implementation of WebRTC now supports transceivers, with <code>RTCPeerConnection</code> and other interfaces updated to use them per the latest specification.</li>
<li>The {{domxref("RTCPeerConnection.addTransceiver()")}} method has been added. In addition, the behavior of {{domxref("RTCPeerConnection.addTrack", "addTrack()")}} has been updated to create a transceiver as required.</li>
<li>Support for <a href="/en-US/docs/Web/API/WebVTT_API">WebVTT</a> regions was implemented in Firefox 58 but disabled by default. They're now available by default ({{bug(1415805)}}).</li>
<li>Firefox now supports WebVTT <code>REGION</code> definition blocks whose settings list has one setting per line instead of all of the settings being on the same line of the WebVTT file ({{bug(1415821)}}.</li>
</ul>
<h4 id="Canvas_and_WebGL">Canvas and WebGL</h4>
<p><em>No changes.</em></p>
<h3 id="CSSOM">CSSOM</h3>
<p>The {{domxref("CSSNamespaceRule")}} interface and its <code>namespaceURL</code> and <code>prefix</code> properties have been implemented ({{bug(1326514)}}).</p>
<h3 id="HTTP">HTTP</h3>
<p><em>No changes.</em></p>
<h3 id="Security">Security</h3>
<ul>
<li>Top-level navigation to <code>data:</code> URIs has been blocked {{bug(1401895)}}. See <a href="https://blog.mozilla.org/security/2017/11/27/blocking-top-level-navigations-data-urls-firefox-59/">Blocking Top-Level Navigations to data URLs for Firefox 59</a> for more details.</li>
<li>The <code>SAMEORIGIN</code> directive of the {{httpheader("X-Frame-Options")}} header has been changed so that it checks not only the top-level IFrame is in the same origin, but all its ancestors as well ({{bug(725490)}}).</li>
<li>Image resources loaded from different origins to the current document are no longer able to trigger HTTP authentication dialogs ({{bug(1423146)}}). See <a href="https://www.fxsitecompat.com/en-CA/docs/2017/http-auth-dialog-can-no-longer-be-triggered-by-cross-origin-images/">HTTP auth dialog can no longer be triggered by cross-origin images</a> for more details.</li>
<li>HTTP authentication now uses <code>utf-8</code> encoding for usernames and passwords (rather than <code>ISO-8859-1</code>) for parity with other browsers, and to avoid potential problems as described in {{bug(1419658)}}.</li>
<li>Everyday the <a href="https://searchfox.org/mozilla-central/source/security/manager/ssl/nsSTSPreloadList.inc">HSTS preload list</a> is updated from Google. Normally this doesn't warrant a note, but in this release new TLDs were included, notably <code>.app</code> and <code>.dev</code>. While they are new TLDs developers might have used them for local development and be surprised by this change. Note that <a href="https://tools.ietf.org/html/rfc2606">reserved TLDs</a> should be used for local development instead.</li>
</ul>
<h3 id="Plugins">Plugins</h3>
<p><em>No changes.</em></p>
<h3 id="Other">Other</h3>
<p><em>No changes.</em></p>
<h2 id="Удаления_из_веб-платформы">Удаления из веб-платформы</h2>
<h3 id="HTML_2">HTML</h3>
<p>Нестандартный параметр <code>version</code> атрибута свойства {{htmlattrxref("type","script")}} элемента {{htmlelement("script")}} (например, <code>type="application/javascript;version=1.8"</code>) был удалён ({{bug(1428745)}}).</p>
<h3 id="CSS_2">CSS</h3>
<ul>
<li>Проприетарная единица <code>mozmm</code> {{cssxref("<length>")}} была удалена ({{bug(1416564)}}).</li>
<li>Проприетарные свойства {{cssxref("-moz-border-top-colors")}}, {{cssxref("-moz-border-right-colors")}}, {{cssxref("-moz-border-bottom-colors")}} и {{cssxref("-moz-border-left-colors")}} have been limited to usage in chrome code only ({{bug(1417200)}}).</li>
</ul>
<h3 id="JavaScript_2">JavaScript</h3>
<ul>
<li>Нестандартные <a href="/en-US/docs/Web/JavaScript/Reference/Statements/try...catch#Conditional_catch_clauses">условные блоки catch</a> были удалены ({{bug(1228841)}}).</li>
</ul>
<h3 id="APIs_2">APIs</h3>
<ul>
<li>Нестандартный метод <code>Event.getPreventDefault()</code> был удалён. Вам стоит использовать свойство {{domxref("Event.defaultPrevented")}} чтобы определять, вызывался ли {{domxref("Event.preventDefault", "preventDefault()")}} на событии {{domxref("Event")}}.</li>
<li>Проприетарное свойство <code><a href="/en-US/docs/Archive/API/Navigator/mozNotification">Navigator.mozNotification</a></code> и интерфейс <code>DesktopNotification</code> были удалены, в пользу стандартного <a href="/en-US/docs/Web/API/Notifications_API">Notifications API</a> ({{bug(952453)}}).</li>
<li>Проприетарный метод <code>window.external.addSearchEngine()</code> был удалён ({{bug("862147")}}). Смотреть также {{domxref("Window.sidebar")}} для больших подробностей.</li>
<li>Нестандартное поддерживающиеся только Firefox свойство {{domxref("HTMLMediaElement")}} <code>mozAutoplayEnabled</code> было удалено.</li>
</ul>
<h3 id="SVG_2">SVG</h3>
<p>Поддержка для свойства SMIL <code>accessKey</code> была удалена ({{bug(1423098)}}).</p>
<h3 id="Other_2">Other</h3>
<p>Поддержка для нестандартных протоколов <code>pcast:</code> и <code>feed:</code> была удалена ({{bug(1420622)}}).</p>
<h2 id="Changes_for_add-on_and_Mozilla_developers">Changes for add-on and Mozilla developers</h2>
<h3 id="WebExtensions">WebExtensions</h3>
<ul>
<li><a href="https://developer.mozilla.org/en-US/Add-ons/WebExtensions/manifest.json/theme">Theme</a> updates:
<ul>
<li>new properties: <code>colors.background_tab_text</code>, <code>colors.toolbar_field_border</code></li>
<li>all color properties now support both Chrome-style arrays and CSS color values.</li>
</ul>
</li>
<li>New <a href="/en-US/Add-ons/WebExtensions/API/browserSettings">browser settings</a>:
<ul>
<li><a href="https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/browserSettings/contextMenuShowEvent"><code>contextMenuShowEvent</code></a></li>
<li><a href="https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/browserSettings/openBookmarksInNewTabs"><code>openBookmarksInNewTabs</code></a></li>
<li><a href="https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/browserSettings/openSearchResultsInNewTabs"><code>openSearchResultsInNewTabs</code></a></li>
<li><a href="https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/browserSettings/proxyConfig"><code>proxyConfig</code></a></li>
</ul>
</li>
<li>New <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs">tabs</a></code> APIs:
<ul>
<li><code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/captureTab">tabs.captureTab()</a></code></li>
<li><code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/hide">tabs.hide()</a></code></li>
<li><code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/show">tabs.show()</a></code></li>
</ul>
</li>
<li>The <code><a href="/en-US/docs/Archive/Add-ons/Legacy_Firefox_for_Android/API/NativeWindow/contextmenus">contextMenus</a></code> API now supports a <a href="/en-US/Add-ons/WebExtensions/API/menus/ContextType">"bookmark" context</a>.</li>
<li>New <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/contentScripts">contentScripts</a></code> API enables runtime registration of content scripts.</li>
<li>New <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/pageAction">pageAction</a></code>, <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/browserAction">browserAction</a></code>, <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/sidebarAction">SidebarAction</a></code> APIs:
<ul>
<li><code>browserAction/pageAction/sidebarAction.set*</code> functions now accept <code>null</code> to undo changes.</li>
<li><code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/browserAction/isEnabled">browserAction.isEnabled()</a></code>, <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/pageAction/isShown">pageAction.isShown()</a></code> , <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/sidebarAction/isOpen">sidebarAction.isOpen()</a></code> functions.</li>
</ul>
</li>
<li>New option in <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/page_action">page_action</a></code> to show page actions by default.</li>
<li>New values for <code>protocol_handers</code>:
<ul>
<li>"ssb" for Secure Scuttlebutt communications</li>
<li>"dat" for DATproject</li>
<li>"ipfs", "ipns", "dweb" for IPFS</li>
</ul>
</li>
<li>New <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/privacy/websites">privacy.websites</a></code> setting "cookieConfig".</li>
<li>Support in <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/cookies">cookies</a></code> API for <a href="/en-US/Add-ons/WebExtensions/API/cookies#First-party_isolation">first-party isolation</a>.</li>
<li>New option <code>upgradeToSecure</code> in <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest">webRequest</a></code>.</li>
</ul>
<h2 id="Смотреть_также">Смотреть также</h2>
<p><a href="https://www.fxsitecompat.com/en-CA/versions/59/">Совместимость сайтов с Firefox 59</a></p>
<h2 id="Старые_версии">Старые версии</h2>
<p>{{Firefox_for_developers(58)}}</p>
|