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
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
|
---
title: Firefox 49 para desenvolvedores
slug: Mozilla/Firefox/Releases/49
translation_of: Mozilla/Firefox/Releases/49
---
<div>{{FirefoxSidebar}}</div><p style="margin-bottom: 0cm; line-height: 100%;"><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;">Para testar estes novos recursos do Firefox,<br>
Instale Firefox Developer Edition</a> Firefox 49 foi lançado em 20 de Setembro de 2016. Este artigo faz uma lista das principais alterações não só para desenvolvedores web, mas também desenvolvedores Firefox e Gecko e de extensões.</p>
<h2 id="sect1"> </h2>
<h2 id="Mudanças_para_desenvolvedores_web">Mudanças para desenvolvedores web</h2>
<h3 id="Ferramentas_de_desenvolvimento">Ferramentas de desenvolvimento</h3>
<ul>
<li>Erros de JavaScript registrados no console <a href="https://hacks.mozilla.org/2016/06/helping-web-developers-with-javascript-errors/">Agora com um link [Leia Mais]</a> para ajuda complementar na depuração ({{bug("1179876")}}).</li>
<li>CSS <span class="short_text" id="result_box" lang="pt"><span>autocompletar</span></span>: mostra mais sugestões para o autocompletar<br>
({{bug("1260419")}}).</li>
<li>O inspector de animação agora <a href="/en-US/docs/Tools/Page_Inspector/How_to/Work_with_animations#Further_information_about_animation_compositing">fornece informações do desempenho da animação </a> nas ferramentas de desenvolvimento ({{bug("1254408")}}).</li>
<li>O <a href="/en-US/docs/Tools/Page_Inspector/How_to/Examine_and_edit_HTML#Element_popup_context_menu">menu de contexto do Inspector</a> foi reorganizado <span id="result_box" lang="pt"><span>ser mais claro e fácil de usar</span></span> ({{bug("1211613")}}).</li>
<li>O Inspector agora suporta sintaxe para valores de cores em <code>#RRGGBBAA</code> e <code>#RGBA</code> ({{bug("1271191")}}).</li>
<li>As ferramentas de desvenvolvedor deixa de exibir marcas de fechamento automático (tal como {{HTMLElement("br")}} e {{HTMLElement("img")}} <span id="result_box" lang="pt"><span>como se eles tivessem uma tag de fechamento em páginas HTML</span></span> ; o comportamento é inalteravel para páginas XHTML ({{bug("820926")}}).</li>
<li>Melhorias na acessibilidade!
<ul>
<li>A caixa de ferramenta faz um trabalho melhor em assegurar que o foco no teclado seja mais visível ({{bug(1242851)}}).</li>
<li><span id="result_box" lang="pt"><span>Foram adicionados rótulos de acessibilidade a controles não marcados</span></span> ({{bug(1242715)}}).</li>
<li><span id="result_box" lang="pt"><span>Adicionada semântica de exibição de árvore adequada e navegação de teclado para a exibição de marcação do Inspetor</span></span> ({{bug(1242694)}}).</li>
</ul>
</li>
<li>O <a href="/en-US/docs/Tools/Network_Monitor">Monitor de Rede</a> agora mostra uma coluna de Causa, onde fornece e indica o que causa de cada requerimento de rede específico ({{bug(1134073)}}).</li>
<li>Na <em>about:debugging</em> página de extesões, o botão de recarregar é o único abilitado para extensões temporárias. Será desabilitado para todas as outras extensões ({{bug(1273184)}}).</li>
<li>Na página Workers em<em> about:debbuging</em>, uma mensagem de alerta será exibida na seção Service Workers se o <a href="https://developer.mozilla.org/en-US/docs/Tools/about:debugging#Service_workers_not_compatible">service workers for incompatíveil </a> com as configurações atuais do navegador ({{bug(1266415)}}).</li>
<li><em>about:debugging</em> agora existe uma <a href="/en-US/docs/Tools/about:debugging#Tabs">nova página de Tabs</a> disponível, quer fornece uma lista completa de todas abas abertas debugaveis na instancia do Firefox ({{bug(1266128)}}).</li>
<li>A opção <em>Desabilitar Cache</em> na <a href="/en-US/docs/Tools/Settings#Advanced_settings">Caixa de ferramentas de configurações avançadas</a> foi renomeada para Desabilitar HTTP Cache, para clarear que isso afeta o cache do HTTP, e não <a href="https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API">Service Workers</a>/o <a href="https://developer.mozilla.org/en-US/docs/Web/API/Cache">Cache API</a> (bug(1253018)).</li>
<li>O <a href="/en-US/docs/Tools/Storage_Inspector#IndexedDB">Inspector de armazenamento agora permite IndexedDB databases ser deletado</a> através de seu próprio menu ({{bug("1205123")}}), e mostrará uma mensagem de alerta se a IndexedDB poder ser deletada por alguma rasão (Se ainda existir conexão ativa, por exemplo) ({{bug(1268460)}}).</li>
</ul>
<h3 id="HTML">HTML</h3>
<ul>
<li>Adicionado suporte para estes elementros: {{HTMLElement("details")}} e {{HTMLElement("summary")}} ({{bug(1226455)}}).</li>
<li>O {{htmlattrxref("pattern", "input")}} atribuido para {{HTMLElement("input")}} agora usa o parâmetro <code>'u'</code> no JavaScript base {{jsxref("RegExp")}} ({{bug(1227906)}}).</li>
<li>Para corresponder a uma mudança específica, de um valor inválido {{htmlattrxref("kind", "track")}} atributo do elemento {{HTMLElement('track')}} é agora tratado como <code>"metadata"</code> ao invés de<code>"subtitles"</code> ({{bug(1269712)}}).</li>
<li><span id="result_box" lang="pt"><span>O atributo </span></span> {{htmlattrxref("sandbox", "iframe")}} <span lang="pt"><span> do elemento </span></span> {{HTMLElement("iframe")}} <span lang="pt"><span> agora suporta os valores 'allow-popups-to-escape-sandbox' e 'allow-modals'</span></span> ({{bug(1190641)}}).</li>
<li>Suporte para atributos microdata e a Microdata API foram removidas ({{bug(909633)}}).</li>
<li>O atributo {{htmlattrxref("referrerpolicy", "a")}} do elemento {{HTMLElement("a")}} agora suporta esses atributos <code>'no-referrer-when-downgrade</code>' e <code>'origin-when-cross-origin'</code> ({{bug(1178337)}}).</li>
<li>O {{htmlattrxref("form", "label")}} que é atributo do elemento {{HTMLElement("label")}} foi removido. A propriedade {{domxref("HTMLLabelElement.form")}} ainda existe, mas agora retorna o formulário na qual o controle do label's está associado , se houver um controle (e se esse controle for associado ao formulário) ({{bug(1268852)}}).</li>
</ul>
<h3 id="CSS">CSS</h3>
<ul>
<li>Adicionado {{cssxref("background-position-x")}} e {{cssxref("background-position-y")}}, que permite específicar e compensar separadamente a horizontal e a vertial para melhor posicionar a imagem de fundo; eles são compentes de {{cssxref("background-position")}} ({{bug("550426")}}).</li>
<li>Adicionado suporte para <code>as tags round</code> e <code>space</code> para {{cssxref("background-repeat")}} ({{bug("548372")}}).</li>
<li>no {{cssxref("background-clip")}}, as tags <code>text</code> são ativadas por padrão ({{bug(1264905)}}).</li>
<li>Adicionado suporte a cores específicas como o canal alpha usando 4- e 8-digitos CSS hex <a href="/en-US/docs/Web/CSS/color_value">cor</a> de valores (#RRGGBBAA e #RGBA) ({{bug("567283")}}).</li>
<li>A pseudo-class {{cssxref(":dir()")}} foi desprezado ({{bug(859301)}}).</li>
<li>Em nossa implementação experimental (ainda não ativa por padrão) de {{cssxref("clip-path")}}, podemos agora interpolar entre valores {{cssxref("<basic-shape>")}} ({{bug(1110460)}}).</li>
<li>Adicionado a <a href="/en-US/docs/Web/CSS/length#q"><code>unidade de comprimento q</code> </a> ({{bug(1274526)}}).</li>
<li>A propiedade {{cssxref("text-align-last")}} foi desprezada ({{bug(1039541)}}).</li>
<li>Adicionado suporte para {{cssxref("overflow-wrap")}}, substituindo {{cssxref("word-wrap")}} que ainda é suportado como nome alternativo ({{bug(955857)}}).</li>
<li>Nossa experiencia com a implementação do <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout">CSS Grids</a> foi melhorado:
<ul>
<li>implementado {{cssxref("<percentage>")}} para as propriedades {{cssxref("grid-gap")}}, {{cssxref("grid-row-gap")}}, e {{cssxref("grid-column-gap")}} ({{bug(1266268)}}).</li>
<li>Implementado suporte a layout grid layout para {{cssxref("align")}}, {{cssxref("justify-self")}}<code>:baseline</code> e <code>last-baseline</code> (aka "baseline self-alignment") ({{bug(1221525)}}).</li>
<li>Implementado alinhamento de conteúdo baseline de item em grid ({{bug(1256429)}}).</li>
</ul>
</li>
<li>Nosso experimeto implementação de <a href="/en-US/docs/Web/CSS/CSS_Masks">CSS Masks</a> foi melhorado:
<ul>
<li>A propiedade {{cssxref("mask-origin")}} agora usa <code>border-box</code> ao invés de <code>padding-box</code> como valor inicial, para <span class="short_text" id="result_box" lang="pt"><span>coincidir com a especificação</span></span> ({{bug(1258286)}}).</li>
<li>A propriedade {{cssxref("mask-repeat")}} suporta os seguintes volumes: <code>space</code> e <code>round</code> values ({{bug(1258626)}}).</li>
<li>Corrigido o problema que impedia o atributo {{cssxref("mask-position")}} de ser animado ({{bug(1273804)}}).</li>
</ul>
</li>
<li>O controle de preferências {{cssxref("text-emphasis")}} foi removido, assim o suporte para esta propiedade não pode ser mais desabilitado ({{bug(1229609)}}).</li>
</ul>
<h3 id="JavaScript">JavaScript</h3>
<ul>
<li>As armadilhas para ES2015 (ES6) {{jsxref("Global_Objects/Proxy/handler/getPrototypeOf", "getPrototypeOf()")}} e {{jsxref("Global_Objects/Proxy/handler/setPrototypeOf", "setPrototypeOf()")}} {{jsxref("Proxy")}} foram implementadas ({{bug(888969)}}).</li>
<li>O metodos ES2015 (ES6) {{jsxref("RegExp.prototype.@@match()", "RegExp.prototype[@@match]()")}}, {{jsxref("RegExp.prototype.@@replace()", "RegExp.prototype[@@replace]()")}}, {{jsxref("RegExp.prototype.@@search()", "RegExp.prototype[@@search]()")}}, e {{jsxref("RegExp.prototype.@@split()", "RegExp.prototype[@@split]()")}}, e {{jsxref("RegExp.@@species", "RegExp[@@species]")}} getter foram implementados ({{bug(887016)}}).</li>
<li>A versão obsoleta, <code>sem padrão nos argumentos de flags</code> do <code>String.prototype.</code>{{jsxref("String.prototype.match", "match")}}/{{jsxref("String.prototype.search", "search")}}/{{jsxref("String.prototype.replace", "replace")}} foi remivida ({{bug(1108382)}}).</li>
<li>O comportamento do metodo {{jsxref("Date.parse()")}} quando analisam 2-digit years foi modificado para mais <span class="short_text" id="result_box" lang="pt"><span>interoperável</span></span> com o navegador Google Chrome ({{bug(1265136)}}).</li>
</ul>
<h3 id="InterfacesAPIsDOM">Interfaces/APIs/DOM</h3>
<h4 id="DOM_HTML_DOM">DOM & HTML DOM</h4>
<ul>
<li>O metodo {{domxref("DOMTokenList.supports()")}} foi adicionado ({{bug(1257849)}}).</li>
<li>O metodo {{domxref("DOMTokenList.replace()")}} foi adicionado ({{bug(1224186)}}).</li>
<li>O caractere principal <code>'?'</code> agora é ignorado no parâmetro do construtor {{domxref("URLSearchParams.URLSearchParams", "URLSearchParams()")}} ({{bug(1268361)}}).</li>
<li>O valor retornado por {{domxref("URL.origin")}}, {{domxref("HTMLAnchorElement.origin")}}, e {{domxref("HTMLAreaElement.origin")}} para URL usando o <code>blob:</code> o esquema não está mais incorreto <code>null</code> mas em vez disso, a origem da URL formado pela remorção da tag <code>blob:</code> ({{bug(1270451)}}).</li>
<li>No modo de pre-renderização, a propriedade {{domxref('Document.visibilityState')}} agora retorna <code>'prerender'</code> ({{bug(1069772)}}).</li>
<li>A propriedade {{domxref("Window.isSecureContext")}} foi implantada ({{bug(1162772)}}).</li>
<li>Os metodos DOM4 {{domxref("ChildNode.before()")}}, {{domxref("ChildNode.after()")}}, {{domxref("ChildNode.replaceWith()")}}, {{domxref("ParentNode.append()")}} e {{domxref("ParentNode.prepend()")}} foram implementados ({{bug(911477)}}).</li>
<li>O metodo {{domxref("TouchList.identifiedTouch()")}} foi removido ({{bug(1188539)}}).</li>
<li>Por padrão, a característica <code>scrollbars</code> {{domxref("Window")}} é habilitado quando chamado {{domxref("Window.open()")}}. Anteriormente, quanto era altamente recomendado ativar ele, pois não era padrão ({{bug(1257887)}}).</li>
<li>Adicionado o <em>metodo experimental</em> e <em>non-standard</em> do metodo {{domxref("HTMLMediaElement.seekToNextFrame()")}}, que permite bucar quadro a quadro no conteúdo do vídeo ({{bug(1235301)}}). Equanto você é incentivado a expertimentar, dessar forma você nos ajuda a entender o quão útil ele é, <em>não use ele em produção de código!</em></li>
<li>A propriedade {{domxref("HTMLLabelElement.form")}} agora retorna a forma com que o controle de label's foi assiciado, se houver um controle (e se esse controle for associado ao formulário). Anteriormente, labels eram diretamente associados com formulários usando essa propriedade ({{bug(1268852)}}).</li>
<li>Suporte ao paramtro third de {{domxref("EventTarget.addEventListener()")}}, ou um {{jsxref("Boolean")}} ou a {{interface("EventListenerOptions")}} foi adicionado ({{bug(1266164)}} and {{bug(1266066)}}).</li>
<li>O volume do audio relativo a {{domxref("KeyboardEvent.key")}} foram renomeados. <code>"VolumeDown"</code> é agora <code>"AudioVolumeDown"</code>, <code>"VolumeUp"</code> é agora <code>"AudioVolumeUp"</code>, e <code>"VolumeMute"</code> e agora <code>"AudioVolumeMute".</code> Isso trás Firefox p<em><span style="font-style: normal;">ara alinhamento com os últimos rascunhos de especificações de UI Events</span></em> ({{bug(1272578)}}). Veja {{SectionOnPage("/en-US/docs/Web/API/KeyboardEvent/code", "Code values")}} para uma lista completa de possibilidades de códigos.</li>
<li>Os códigos ateriormente referidos a <code>"MozHomeScreen"</code>, <code>"MozCameraFocusAdjust"</code>, e <code>"MozPhoneCall"</code> agora tem nomes oficiais na especificação UI Events: <code>"GoHome"</code>, <code>"CameraFocus"</code>, e <code>"Call"</code>. Firefox 49 foi atualizado para utilizar os novos nomes ({{bug(1272599)}}). Veja {{SectionOnPage("/en-US/docs/Web/API/KeyboardEvent/code", "Code values")}} para uma lista completa de possilidades de códigos</li>
<li>O valor dos códigos <code>"Separator"</code> e <code>"MediaSkip"</code> foram removidos, por serem desatualizados e não utilizados ({{bug(1232919)}}).</li>
<li>Valor do código e a correspondencia dos códigos <code>"Hyper"</code> e <code>"Super"</code>foi adicionado para representar os modificadores de herança dos códigos ({{bug(1232919)}}).</li>
<li>
<p style="margin-bottom: 0cm; line-height: 100%;"><em><span style="font-style: normal;">Duas teclas do teclado numérico multimídia foram adicionados</span></em>: <code>"Key11"</code> e <code>"Key12"</code> ({{bug(1232919)}}).</p>
</li>
<li>
<p style="margin-bottom: 0cm; line-height: 100%;"><em><span style="font-style: normal;">Foram adicionados novos códigos para controle de audio</span></em>: <code>"AudioBassBoostToggle"</code>, <code>"AudioTrebleDown"</code>, e <code>"AudioTrebleUp"</code> ({{bug(123919)}}).</p>
</li>
<li>Adiconado código para controle do mocrofone: <code>"</code><code>MicrophoneToggle"</code>, <code>"</code><code>MicrophoneVolumeDown"</code>, <code>"</code><code>MicrophoneVolumeUp"</code>, e <code>"</code><code>MicrophoneVolumeMute"</code> ({{bug(123919)}}).</li>
<li>
<p style="margin-bottom: 0cm; line-height: 100%;"><em><span style="font-style: normal;">Adicionado novo código de suporte a dispositivos de reconhecimento de fala</span></em>: "<code>SpeechCorrectionList"</code> e <code>"</code><code>SpeechInputToggle"</code> ({{bug(1232919)}}).</p>
</li>
<li>
<p style="margin-bottom: 0cm; line-height: 100%;"><em><span style="font-style: normal;">Nova tecla foi adicionada para suportar botões especiais em telefones</span></em>: <code>"</code><code>AppSwitch"</code>, <code>"</code><code>Call"</code>, <code>"</code><code>CameraFocus"</code>, <code>"</code><code>EndCall"</code>, <code>"</code><code>GoBack"</code>, <code>"</code><code>GoHome"</code>, <code>"</code><code>HeadsetHook"</code>, <code>"</code><code>LastNumberRedial"</code>, <code>"</code><code>Notification"</code>, <code>"</code><code>MannerMode"</code>, e <code>"</code><code>VoiceDial"</code> ({{bug(1232919)}}).</p>
</li>
<li>Um novo botão de aplicação foi adicionado: <code>"</code><code>LaunchContacts"</code> e <code>"</code><code>LaunchPhone"</code> ({{bug(1232919)}}).</li>
<li>Adicionado novos códigos de suporte a dispositivos de TV: <code>"</code><code>TV3DMode"</code>, <code>"</code><code>TVAntennaCable"</code>, <code>"</code><code>TVAudioDescription"</code>, <code>"</code><code>TVAudioDescriptionMixDown"</code>, <code>"</code><code>TVAudioDescriptionMixUp"</code>, <code>"</code><code>TVContentsMenu"</code>, <code>"</code><code>TVDataService"</code>, <code>"</code><code>TVInput"</code>, <code>"</code><code>TVInputComponent1"</code>, <code>"</code><code>TVInputComponent2"</code>, <code>"</code><code>TVInputComposite1"</code>, <code>"</code><code>TVInputComposite2"</code>, <code>"</code><code>TVInputHDMI1"</code>, <code>"</code><code>TVInputHDMI2"</code>, <code>"</code><code>TVInputHDMI3"</code>, <code>"</code><code>TVInputHDMI4"</code>, <code>"</code><code>TVInputVGA1"</code>, <code>"</code><code>TVMediaContext"</code>, <code>"</code><code>TVNetwork"</code>, <code>"</code><code>TVNumberEntry"</code>, <code>"</code><code>TVRadioService"</code>, <code>"</code><code>TVSatellite"</code>, <code>"</code><code>TVSatelliteBS"</code>, <code>"</code><code>TVSatelliteCS"</code>, <code>"</code><code>TVSatelliteToggle"</code>, <code>"</code><code>TVTerrestrialAnalog"</code>, <code>"</code><code>TVTerrestrialDigital"</code>, <code>"</code><code>TVTimer"</code>, e <code>"</code><code>DVR"</code> ({{bug(1232919)}}).</li>
<li>O código <code>"</code><code>MediaSelect"</code> foi substituido pelo valor padrão <code>"</code><code>LaunchMediaPlayer"</code> ({{bug(1272592)}}).</li>
<li>
<p style="margin-bottom: 0cm; line-height: 100%;"><em><span style="font-style: normal;">Foram adicionados códigos adicionais para mídia-player</span></em>. São esses <code>"</code><code>MediaAudioTrack"</code>, <code>"</code><code>MediaSkipBackward"</code>, <code>"</code><code>MediaSkipForward"</code>, <code>"</code><code>MediaStepBackward"</code>, <code>"</code><code>MediaStepForward"</code>, <code>"</code><code>MediaTopMenu"</code>, <code>"</code><code>NavigateIn"</code>, <code>"</code><code>NavigateNext"</code>, <code>"</code><code>NavigateOut"</code>, e <code>"</code><code>NavigatePrevious"</code> ({{bug(1232919)}}).</p>
</li>
</ul>
<h4 id="Canvas">Canvas</h4>
<ul>
<li>A propriedade {{domxref("CanvasRenderingContext2D.filter")}}, que fornece suporte para adicionar foltros a uma canvas, agora é ativa por padrão e não precisa mais ser abilitado nas preferências ({{bug(1173545)}}).</li>
</ul>
<h4 id="WebGL">WebGL</h4>
<ul>
<li>A extensão {{domxref("EXT_color_buffer_float")}} {{domxref("WebGL2RenderingContext", "WebGL 2", "", 1)}} foi implementada ({{bug(1129332)}}).</li>
<li>O evento {{Event("webglcontextcreationerror")}}, que é criando quando a tentativa de criação de contexto do WebGL falha, foi implementado ({{bug(1271478)}}). Use isso para ajudar a entender melhor, tanto para depuração quanto para o processamento de errros de produção.</li>
</ul>
<h4 id="IndexedDB">IndexedDB</h4>
<ul>
<li>Agora você pode renomear IndexedDB indexes; a propriedade {{domxref("IDBIndex.name")}} já não é mais de leitura-única ({{bug(1118028)}}).</li>
<li>Você também pode renomear {{domxref("IDBObjectStore")}}s; a propriedade {{domxref("IDBObjectStore.name")}} já não é de leitura-única ({{bug(1118028)}}).</li>
</ul>
<h4 id="Service_Workers_e_relatórios">Service Workers e relatórios</h4>
<ul>
<li>O Objeto <a href="/en-US/docs/Web/API/Fetch_API">Fetch API</a>'s {{domxref("Response")}} agora implementa a propriedade {{domxref("Response.redirected", "redirected")}} , <span id="result_box" lang="pt"><span>que indica se a resposta é para uma solicitação que foi redirecionada</span></span>. Por favor ervise o relatório de segurança na documentação usanda anteriormente nessa propriedade ({{bug(1243792)}}).</li>
<li>Na <a href="/en-US/docs/Web/API/Permissions_API">API de Permissões</a>, Firefox já não suporta a palavra <code>PermissionDescriptor</code> ti <span id="result_box" lang="pt"><span> push (referido na especificação como </span></span><code>PushPermissionDescriptor</code>); Isso ocorre porque o Firefox depende de um sistema de cotas<span class="short_text" id="result_box" lang="pt"><span> para controloar o status</span></span> <code>userVisibleOnly</code>, <span id="result_box" lang="pt"><span>e estava lançando um erro ao encontrar uma instância do</span></span> <code>PushPermissionDescriptor</code> ({{bug(1266821)}}). Com essa palavra removida, o Firefox simplismente ignora.</li>
</ul>
<h4 id="Streams_de_mídia">Streams de mídia</h4>
<ul>
<li>Antigamente, era possível chamar {{domxref("MediaDevices.getUserMedia()")}} como requerimento ambos áudio e vídeo <span id="result_box" lang="pt"><span>para ter sucesso nos casos em que o usuário tem apenas um dos dois tipos de hardware disponíveis</span></span> . Isso foi fixado ({{bug(802326)}}).</li>
<li>Nas versões anteriores do Firefox, era possível chamar por {{domxref("MediaDevices.getUserMedia()")}} que solicita tando audio quanto vídeo <span id="result_box" lang="pt"><span>para ter êxito mesmo que o usuário tenha negado acesso a um, mas não a ambos os dispositivos de correspondência</span></span>. Isso foi fixado ({{bug(802326)}}). Isso envolve pequenas alterações na interface de usuários, para remover a opção para escolher "sem áudio" ou "Sem vídeo" quando o usuário é solicitado para as permissões.</li>
<li>O metodo {{domxref("MediaStream.getTrackById()")}} foi implantado ({{bug(1208390)}}).</li>
</ul>
<h4 id="WebRTC">WebRTC</h4>
<ul>
<li>O metodo {{domxref("RTCPeerConnection.addTrack()")}} foi atualizado para permitir tracks <span id="result_box" lang="pt"><span>sue não são componentes dos </span></span> stream <span lang="pt"><span> especificados a serem adicionados à conexão</span></span>. Ao invés, os streams são usados para agrupar tracks na extremidade receptora da conexão ({{bug(1271669)}}).</li>
</ul>
<h4 id="Novas_APIs">Novas APIs</h4>
<ul>
<li>A API {{domxref("PerformanceObserver")}} agpra é ativa por padrão no Nightly. Isso não é atio por padrão em outras versõs do Firefox 49 ({{bug(1271487)}}).</li>
</ul>
<h4 id="Outras">Outras</h4>
<ul>
<li>{{domxref("XMLHttpRequest.getResponseHeader()")}} e {{domxref("XMLHttpRequest.getAllResponseHeaders()")}} r<span class="short_text" id="result_box" lang="pt"><span>etornar cabeçalhos vazios caso a preferência </span></span><code>network.http.keep_empty_response_headers_as_empty_string</code> esta configurado para <code>true</code> ({{bug(669259)}}).</li>
<li>O Firefox OS-apenas <a href="/en-US/docs/Archive/Firefox_OS/API/Data_Store_API">API Banco de Dados</a> foi removida ({{bug(1261009)}}).</li>
<li>A <a href="/en-US/docs/Web/API/Fullscreen_API">API de Tela Cheia</a> manipulador de eventos {{domxref("Document.onfullscreenchange")}} e {{domxref("Document.onfullscreenerror")}} foram removidos de {{domxref("Element")}} como nunca foram usados la; <span id="result_box" lang="pt"><span>As versões de prefixo desses manipuladores de eventos foram mantidas lá para fins de compatibilidade</span></span>, Contudo ({{bug(1270386)}}). Observe que ele não é ativado por padrão, mas está atrás da preferência <code>full-screen-api.unprefix.enabled</code> ({{bug(1268749)}}).</li>
<li>A propriedade obsoleta {{domxref("Document.mozFullScreen")}} não foi pré-fixada {{domxref("Document.fullscreen")}} {{bug(1269157)}}}. Perceba que ela não é ativa por padrão nas preferencias the <code>full-screen-api.unprefix.enabled</code> ({{bug(1268749)}}).</li>
<li>A propriedade leitor {{domxref("Document.fullscreenElement")}} e {{domxref("Document.fullscreenEnabled")}} deixa de lançar exceção se hover tentativa de alterar o seu valor; ao invés disso, o novo valor é ignorado e a função setter é uma no-op ({{bug(1269798)}}).</li>
<li>Qualquer tipode de dado pode ser agora recuperado da área de tranferência usada {{domxref("DataTransfer.getData()")}}: anteriormente, apenas alguns tipos de dados do tipo MIME eram suportados {{bug(860857)}}.</li>
<li>Nossa implementação da <a href="/en-US/docs/Web/API/Frame_Timing_API">API da cronometragrm de frames</a>, consistindo nas duas interfaces <code>PerformanceCompositeTiming</code> e <code>PerformanceRenderTiming</code>, foram removidas pois as especificações foram totalmente reescritas ({{bug(1271846)}}).</li>
<li>Para especificações correspondentes, a propriedade {{domxref("VTTCue.positionAlign")}} agora retorna um <code>PositionAlign</code> enum em vez de <code>Align</code> enum ({{bug(1276129)}}).</li>
<li>A parte de síntese da <a href="/en-US/docs/Web/API/Web_Speech_API#Speech_synthesis">API Web Speech </a> agora é ativo por padrão ({{bug(1268633)}}).</li>
<li>A <a href="/en-US/docs/Web/API/Performance_Timeline">API Timeline de performace</a> agora está disponível de padrão no Nightly (embrora não no Aurora, Beta ou Release).</li>
<li>O evento {{event("install")}}, e o {{domxref("Window.oninstall")}} manipulador de evento, são agora suportado por <a href="/en-US/docs/Web/Manifest">Web Manifests</a> ({{bug(1265279)}}).</li>
<li>Quando usar o metodo {{domxref("AudioContext.createPeriodicWave()")}} de <a href="/en-US/docs/Web/API/Web_Audio_API">Web Audio API</a>, você pode específicar <span id="result_box" lang="pt"><span>se a onda periódica resultante deve ser normalizada incluindo um objeto de dicionário como o terceiro parâmetro, que inclui um único parâmetro</span></span> — <code>{disableNormalization: true}</code> ({{bug(1265405)}}).</li>
<li>Na APIWebVTT, {{domxref("VTTCue.positionAlign")}} retorna corretamente um <code>PositionAlignSetting</code> enum conforme a especificação; anteriormente ele retornava um <code>AlignSetting</code> enum ({{bug(1276129)}}).</li>
<li>A parte de síntese de fala da API Web Speech agora é habilitado por padrão em todos os navegadores desktop ({{bug(1268633)}}).</li>
<li>O contrutor de <a href="/en-US/docs/Web/API/Web_Animations_API">API Web Animations </a>{{domxref("Animation.Animation()", "Animation()")}} agora aceita null na timeline ({{bug(1096776)}}).</li>
</ul>
<h3 id="MathML">MathML</h3>
<p><em>Sem mudanças.</em></p>
<h3 id="SVG">SVG</h3>
<ul>
<li>Removido o suporte por ser considerador obsoleto os seguintes elementos: {{SVGElement('altGlyph')}}, {{SVGElement('altGlyphDef')}} e {{SVGElement('altGlyphItem')}} ({{bug(1260032)}}).</li>
</ul>
<h3 id="AudioVideo">Audio/Video</h3>
<p><em>Sem mudanças.</em></p>
<h2 id="HTTP">HTTP</h2>
<ul>
<li><code>O diretiva <a href="/en-US/docs/Web/HTTP/Headers/Cache-Control">Cache-Control: immutable</a></code> foi implantada ({{bug(1267474)}}). Veja também essa <a href="https://bitsup.blogspot.de/2016/05/cache-control-immutable.html">postagem no blog</a> para mais informações.</li>
</ul>
<h2 id="Networking">Networking</h2>
<ul>
<li>A implementação do <a href="/en-US/docs/Mozilla/Projects/Necko/Proxy_Auto-Configuration_(PAC)_file">Auto-configuração de Proxy (PAC)</a> foi atualizada. Agora <code>weekdayRange</code>, <code>dateRange</code>, e <code>timeRange</code> suportam "intervalos invertidos", por exempo, <code>weekdayRange("SAT", "MON")</code> avaliare <code>true</code> se o dia atual é Saturday, Sunday, ou Monday ({{bug(1251332)}}).</li>
</ul>
<h2 id="Segurança">Segurança</h2>
<ul>
<li>A propriedade {{domxref("Window.isSecureContext")}}, indica se o contexto é capaz de usar recursos que exigem <a href="/en-US/docs/Web/Security/Secure_Contexts">contextos de segurança</a>, foi implementado ({{bug(1162772)}}).</li>
</ul>
<h2 id="Compatilibidade">Compatilibidade</h2>
<p>A fim de melhorar a compatilidade com o conteúdo existente, Firefox agora aceita algumas propriedades e atributos do webkit.</p>
<ul>
<li> <span id="result_box" lang="pt"><span>As propriedades a seguir também trabalham com prefixo</span></span> -webkit:
<ul>
<li>{{cssxref("-webkit-align-items")}}</li>
<li>{{cssxref("-webkit-align-content")}}</li>
<li>{{cssxref("-webkit-align-self")}}</li>
<li>{{cssxref("-webkit-animation")}}</li>
<li>{{cssxref("-webkit-animation-delay")}}</li>
<li>{{cssxref("-webkit-animation-direction")}}</li>
<li>{{cssxref("-webkit-animation-duration")}}</li>
<li>{{cssxref("-webkit-animation-fill-mode")}}</li>
<li>{{cssxref("-webkit-animation-iteration-count")}}</li>
<li>{{cssxref("-webkit-animation-name")}}</li>
<li>{{cssxref("-webkit-animation-play-state")}}</li>
<li>{{cssxref("-webkit-animation-timing-function")}}</li>
<li>{{cssxref("-webkit-backface-visibility")}}</li>
<li>{{cssxref("-webkit-background-clip")}}</li>
<li>{{cssxref("-webkit-background-origin")}}</li>
<li>{{cssxref("-webkit-background-size")}}</li>
<li>{{cssxref("-webkit-border-bottom-left-radius")}}</li>
<li>{{cssxref("-webkit-border-bottom-right-radius")}}</li>
<li>{{cssxref("-webkit-border-image")}}</li>
<li>{{cssxref("-webkit-border-top-left-radius")}}</li>
<li>{{cssxref("-webkit-border-top-right-radius")}}</li>
<li>{{cssxref("-webkit-border-radius")}}</li>
<li>{{cssxref("-webkit-box-shadow")}}</li>
<li>{{cssxref("-webkit-filter")}}</li>
<li>{{cssxref("-webkit-flex")}}</li>
<li>{{cssxref("-webkit-flex-basis")}}</li>
<li>{{cssxref("-webkit-flex-direction")}}</li>
<li>{{cssxref("-webkit-flex-flow")}}</li>
<li>{{cssxref("-webkit-flex-grow")}}</li>
<li>{{cssxref("-webkit-flex-shrink")}}</li>
<li>{{cssxref("-webkit-flex-wrap")}}</li>
<li>{{cssxref("-webkit-justify-content")}}</li>
<li>{{cssxref("-webkit-order")}}</li>
<li>{{cssxref("-webkit-perspective")}}</li>
<li>{{cssxref("-webkit-perspective-origin")}}</li>
<li>{{cssxref("-webkit-text-size-adjust")}}</li>
<li>{{cssxref("-webkit-transform")}}</li>
<li>{{cssxref("-webkit-transform-origin")}}</li>
<li>{{cssxref("-webkit-transform-style")}}</li>
<li>{{cssxref("-webkit-transition")}}</li>
<li>{{cssxref("-webkit-transition-delay")}}</li>
<li>{{cssxref("-webkit-transition-duration")}}</li>
<li>{{cssxref("-webkit-transition-property")}}</li>
<li>{{cssxref("-webkit-transition-timing-function")}}</li>
<li>{{cssxref("-webkit-user-select")}}</li>
</ul>
</li>
<li><span id="result_box" lang="pt"><span>As propriedades a seguir correspondem à propriedade prefixa equivalente</span></span>
<ul>
<li>{{cssxref("-webkit-box-flex")}}</li>
<li>{{cssxref("-webkit-box-ordinal-group")}}</li>
<li>{{cssxref("-webkit-box-orient")}}</li>
<li>{{cssxref("-webkit-box-align")}}</li>
<li>{{cssxref("-webkit-box-pack")}}</li>
</ul>
</li>
<li>Para valores {{cssxref("<image>")}}:
<ul>
<li><span id="result_box" lang="pt"><span>As funções a seguir correspondem aos seus equivalentes não predefinidos:</span></span> {{cssxref("-webkit-linear-gradient", "-webkit-linear-gradient()")}}, {{cssxref("-webkit-radial-gradient", "-webkit-radial-gradient()")}}, {{cssxref("-webkit-repeating-linear-gradient", "-webkit-repeating-linear-gradient()")}}, e {{cssxref("-webkit-repeating-radial-gradient","-webkit-repeating-radial-gradient()")}}.</li>
<li>O desatualizado <code>-webkit-gradient</code> é suportado (e traduzindo para um gradiente regular)</li>
</ul>
</li>
<li>Os seguintes valores {{cssxref("display")}} foram traduzidos:
<ul>
<li><code>-webkit-box</code> to <code>-moz-box</code></li>
<li><code>-webkit-flex</code> to <code>flex</code></li>
<li><code>-webkit-inline-box</code> to <code>inline-flex</code></li>
<li><code>-webkit-inline-flex</code> to <code>-moz-inline-flex</code></li>
</ul>
</li>
<li> As seguintes propriedades são suportadas ( <span id="result_box" lang="pt"><span>E não mapeia para qualquer equivalente não predefinido</span></span>):
<ul>
<li>{{cssxref("-webkit-text-fill-color")}}</li>
<li>{{cssxref("-webkit-text-stroke-color")}}</li>
<li>{{cssxref("-webkit-text-stroke-width")}}</li>
<li>{{cssxref("-webkit-text-stroke")}}</li>
</ul>
</li>
<li>A interface {{domxref("WebKitCSSMatrix")}} é um nome de {{domxref("DOMMatrix")}}</li>
<li><span id="result_box" lang="pt"><span>Os seguintes recursos de consulta de mídia foram implementados</span></span>:
<ul>
<li><code>-webkit-min-device-pixel-ratio</code> é um nome para <code><a href="/en-US/docs/Web/CSS/Media_Queries/Using_media_queries#resolution">min-resolution</a></code> com o mesmo valor em (em <code>dppx)</code>, embora este recurso seja <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1237720">disabilitado por padrão</a> (atras de preferências no about:config <code>layout.css.prefixes.device-pixel-ratio-webkit</code>)</li>
<li><code>-webkit-max-device-pixel-ratio</code> é um nome de <code><a href="/en-US/docs/Web/CSS/Media_Queries/Using_media_queries#resolution">max-resolution</a></code> para o mesmo valor (em <code>dppx</code>); essa característica é destivada por padrão, atras da mesma preferência no about:config</li>
<li><code><a href="/en-US/docs/Web/CSS/Media_Queries/Using_media_queries#-webkit-transform-3d">-webkit-transform-3d</a></code> sempre combinando, indicando suporte a transformações 3D.</li>
</ul>
</li>
</ul>
<h2 id="Mudanças_para_extensões_e_desenvolvedores_Mozilla">Mudanças para extensões e desenvolvedores Mozilla</h2>
<h3 id="Extensões_WEB">Extensões WEB</h3>
<ul>
<li>Suporte a {{WebExtAPIRef("history")}} foi adicionado. Isso fornece acesso a histórico do navegador, com metodos disponíveis para pesquisar no histórico, obtendo informações sobre páginas visitanas anteriormente, e adicionando e removendo entradas no históricos.</li>
<li>Adicionado o metodo {{WebExtAPIRef("tabs.removeCSS()")}} para aba API. Esse metodo permite remover o CSS que foi anteriormente injetado por chamada {{WebExtAPIRef("tabs.insertCSS()")}}.</li>
</ul>
<h3 id="Interfaces">Interfaces</h3>
<ul>
<li>No {{domxref("EventTarget.addEventListener()")}}, o valor <code>mozSystemGroup</code>, ativa apenas com o código rodando no XBL ou no Firefox's chrome, e um {{jsxref("Boolean")}} que indica se o ouvinte foi adicionado ao grupo do sistema. ({{bug(1274520)}})</li>
</ul>
<h3 id="Outros">Outros</h3>
<p><em>Sem mudanças!.</em></p>
<h2 id="Outras_versões">Outras versões</h2>
<p>{{Firefox_for_developers(48)}}</p>
|