Em quase todas as versões do Chrome, vemos um número significativo de atualizações e melhorias no produto, no desempenho dele e também nos recursos da plataforma da Web. Este artigo descreve as descontinuações e remoções do Chrome 57, que está na versão Beta desde o início de fevereiro. Essa lista está sujeita a alterações a qualquer momento.
Remoção do atributo BluetoothDevice.uuids
O atributo BluetoothDevice.uuids
está sendo removido para alinhar a
API Web Bluetooth
com a especificação atual. É possível recuperar todos os serviços GATT permitidos chamando
device.getPrimaryServices().
Remover elemento de geração de chave
Desde o Chrome 49, o comportamento padrão de <keygen>
é retornar a string vazia, a menos que uma permissão tenha sido concedida a essa página. O IE/Edge não oferece suporte a
<keygen>
e não indicaram sinais públicos para oferecer suporte a <keygen>
.
O Firefox já bloqueia o <keygen>
atrás de um gesto do usuário, mas apoia publicamente
a remoção dele. O Safari envia o <keygen>
e não expressou
as opiniões públicas sobre o apoio contínuo a ele. No Chrome 57, esse elemento
é removido.
Intenção de remover | Rastreador de status do Chrome | Bug do Chromium
Remoção da API prefixada de gerenciamento de buffer de tempo de recurso
Dois métodos e um manipulador de eventos, webkitClearResourceTimings()
,
webkitSetResourceTimingBufferSize()
e onwebkitresourcetimingbufferfull
, são obsoletos e são específicos do fornecedor. As versões padrão dessas APIs têm suporte desde o Chrome 46, e as funções prefixadas também foram descontinuadas nessa versão. Esses recursos foram implementados
originalmente no WebKit, mas o Safari não os ativou. O Firefox, o IE 10+ e o
Edge têm apenas versões sem prefixo da API. Por isso, as versões do webkit
estão sendo removidas.
Intenção de remover | Rastreador de status do Chrome | Bug do Chromium
Remoção de ServiceWorkerMessageEvent pelo uso de MessageEvent.
A especificação HTML estendeu MessageEvent
para permitir ServiceWorker
como um tipo para
o atributo source
. O client.postMessage()
e a criação de eventos de mensagens
personalizados foram alterados para usar MessageEvent
em vez de ServiceWorkerMessageEvent
.
ServiceWorkerMessageEvent
foi removido.
Intenção de remover | Rastreador de status do Chrome | Bug do Chromium
Aliases globais do IndexedDB com prefixo webkit
O ponto de entrada IndexedDB
e os construtores globais foram expostos com prefixos webkit
em algum lugar no Chrome 11. As versões sem prefixo foram adicionadas no
Chrome 24, e as versões prefixadas foram descontinuadas no Chrome 38. As
interfaces abaixo são afetadas:
webkitIndexedDB
(ponto de entrada principal)webkitIDBKeyRange
(construtor global não chamável, mas tem métodos estáticos úteis)webkitIDBCursor
webkitIDBDatabase
webkitIDBFactory
webkitIDBIndex
webkitIDBObjectStore
webkitIDBRequest
webkitIDBTransaction
(construtores globais não chamáveis)
Intenção de remover | Rastreador de status do Chrome | Bug do Chromium
WebAudio: o AudioContext e o OffAudioContext prefixados foram removidos
O Chrome oferece suporte ao WebAudio
desde meados de 2011, incluindo AudioContext
.
OfflineAudioContext
foi adicionado no ano seguinte. Considerando o tempo de suporte das interfaces padrão e o objetivo de longo prazo do Google de remover os recursos prefixados, as versões prefixadas dessas interfaces foram descontinuadas desde o final de 2014 e estão sendo removidas.
Intenção de remover | Rastreador de status do Chrome | Bug do Chromium
O uso do webkitCancelRequestAnimationFrame foi descontinuado e removido.
O método webkitCancelRequestAnimationFrame()
é uma API obsoleta
e específica do fornecedor, e o padrão cancelAnimationFrame()
é compatível há muito
tempo no Chromium. Por isso, a versão do webkit está sendo removida.
Intenção de remover | Rastreador de status do Chrome | Bug do Chromium
O uso da correspondência que não diferencia maiúsculas de minúsculas foi descontinuado no atributo usemap
O atributo usemap
era definido anteriormente como sem maiúsculas. Infelizmente, implementar isso foi complicado o suficiente, e nenhum navegador o implementou corretamente. A pesquisa sugeriu que esse algoritmo complicado é desnecessário, e mesmo a correspondência ASCII que não diferencia maiúsculas de minúsculas é desnecessária.
Consequentemente, a especificação foi atualizada para que a correspondência que diferencia maiúsculas de minúsculas seja aplicada. O comportamento antigo foi descontinuado no Chrome 57, e a remoção está prevista no Chrome 58.
Intenção de remover | Rastreador de status do Chrome | Bug do Chromium
Suspensão do uso de FileReaderSync em service workers
A especificação Service Worker
sempre teve a observação (não normal) de que "nenhum
tipo de solicitação síncrona não pode ser iniciado dentro de um service
worker" para evitar o bloqueio do service worker. Bloquear o service worker bloqueia todas as solicitações de rede das páginas controladas. Infelizmente, a
API FileReaderSync
está disponível há muito tempo em service workers.
Atualmente, apenas o Firefox e o Chrome expõem FileReaderSync
nos service workers.
O Firefox está de acordo com a discussão de especificações (em inglês) de que isso precisa ser corrigido. A remoção está prevista para o Chrome 59.
Intenção de remover | Rastreador de status do Chrome | Bug do Chromium
Suspensão do uso da chamada legada para HTMLEmbedElement e HTMLObjectElement
Se a interface tem um autor de chamada legado, isso significa que uma instância pode ser chamada como uma
função. Atualmente, HTMLEmbedElement
e HTMLObjectElement
são compatíveis com essa
funcionalidade. No Chrome 57, esse recurso foi suspenso. Após a remoção, que é
esperada no Chrome 58, uma chamada vai gerar uma exceção.
Essa mudança deixa o Chrome alinhado com mudanças recentes nas especificações. O comportamento legado não é compatível com o Edge ou o Safari e está sendo removido do Firefox.
Intenção de remover | Rastreador de status do Chrome | Bug do Chromium
Suspensão do uso de RTCRtcpMuxPolicy de "negociar"
O rtcpMuxPolicy
é usado pelo Chrome para especificar a política preferencial relacionada ao
uso de multiplexação RTP/RTCP. No Chrome 57, mudamos o rtcpMuxPolicy
padrão
para "requer" e descontinuamos "negociar" pelos seguintes motivos:
- O RTCP não multiplexado usa recursos de rede extras.
- Remover "negociar" vai simplificar a superfície da API, já que um "RtpSender"/"RtpReceiver" só vai ter um único transporte.
No Chrome 57, o uso de "negociar" foi suspenso. Acreditamos que essa não é uma alteração interruptiva, já que o usuário vai receber uma mensagem de descontinuação, e RTCPeerConnection
ainda pode ser criado. A remoção ocorrerá no Chrome 63.
Intent de descontinuação | Bug do Chromium
Descontinuação do suporte para credenciais incorporadas em solicitações de recursos secundários
Fixar credenciais no código em solicitações de recursos secundários é um problema do ponto de vista da segurança, já que permitiria que hackers forçassem as credenciais no passado. Esses perigos são agravados para solicitações de recursos secundários credenciados que alcançam intervalos de IP internos (seus roteadores etc.). Devido ao baixo uso, encerrar essa (pequena) falha de segurança parece bastante razoável.
Os desenvolvedores podem incorporar recursos que não exijam autenticação básica/resumo, usando cookies e outros mecanismos de gerenciamento de sessão.
Intenção de remover | Rastreador de status do Chrome | Bug do Chromium