Em quase todas as versões do Chrome, há um número significativo de atualizações e melhorias no produto, no desempenho e nos recursos da plataforma da Web. Este artigo descreve as descontinuações e remoções no Chrome 57, que está na versão Beta desde o início de fevereiro. Esta lista está sujeita a mudanças a qualquer momento.
Remover o atributo BluetoothDevice.uuids
O atributo BluetoothDevice.uuids
está sendo removido para alinhar a
API Web Bluetooth à
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 indicou indicadores públicos para oferecer suporte a <keygen>
.
O Firefox já limita <keygen>
a um gesto do usuário, mas apoia publicamente
a remoção dele. O Safari envia <keygen>
e não expressou
opiniões públicas sobre o suporte contínuo. No Chrome 57, esse elemento
foi removido.
Intent to remove | Chromestatus Tracker | Chromium Bug
Remover a API de gerenciamento de buffer de tempo de recursos prefixada
Dois métodos e um manipulador de eventos, webkitClearResourceTimings()
,
webkitSetResourceTimingBufferSize()
e onwebkitresourcetimingbufferfull
, estão obsoletos e são específicos do fornecedor. As
versões padrão dessas APIs
são compatíveis desde o Chrome 46, e as funções prefixadas também foram
desativadas nessa versão. Esses recursos foram originalmente
implementados no WebKit, mas o Safari não os ativou. O Firefox, o IE 10 e versões mais recentes e
o Edge têm apenas a versão sem prefixo da API. Portanto, as versões do WebKit
estão sendo removidas.
Intent to remove | Chromestatus Tracker | Chromium Bug
O ServiceWorkerMessageEvent foi removido em favor do MessageEvent.
A especificação HTML estendeu MessageEvent
para permitir ServiceWorker
como um tipo para
o atributo source
. client.postMessage()
e a criação de eventos de mensagem
personalizada foram alterados para usar MessageEvent
em vez de ServiceWorkerMessageEvent
.
ServiceWorkerMessageEvent
foi removido.
Intent to remove | Chromestatus Tracker | Chromium Bug
Remover os alias globais da IndexedDB com prefixo webkit
O ponto de entrada IndexedDB
e os construtores globais foram expostos com prefixos webkit
em algum lugar do Chrome 11. As versões sem prefixo foram adicionadas no
Chrome 24, e as versões com prefixo foram descontinuadas no Chrome 38. As
seguintes interfaces são afetadas:
webkitIndexedDB
(ponto de entrada principal)webkitIDBKeyRange
(construtor global não invocável, mas com métodos estáticos úteis)webkitIDBCursor
webkitIDBDatabase
webkitIDBFactory
webkitIDBIndex
webkitIDBObjectStore
webkitIDBRequest
webkitIDBTransaction
(construtores globais não chamáveis)
Intent to remove | Chromestatus Tracker | Chromium Bug
WebAudio: remover AudioContext e OfflineAudioContext prefixados
O Chrome oferece suporte a WebAudio
desde meados de 2011, incluindo AudioContext
.
OfflineAudioContext
foi adicionado no ano seguinte. Considerando o tempo de suporte às interfaces
padrão e a meta de longo prazo do Google de remover recursos
com prefixo, as versões com prefixo dessas interfaces foram descontinuadas desde
o final de 2014 e agora estão sendo removidas.
Intent to remove | Chromestatus Tracker | Chromium Bug
Descontinuar e remover o webkitCancelRequestAnimationFrame
O método webkitCancelRequestAnimationFrame()
é uma API obsoleta e específica do fornecedor, e o cancelAnimationFrame()
padrão tem suporte há muito tempo no Chromium. Por isso, a versão do WebKit está sendo removida.
Intent to remove | Chromestatus Tracker | Chromium Bug
Descontinuação da correspondência sem distinção entre maiúsculas e minúsculas para o atributo usemap
O atributo usemap
era definido como sem distinção entre maiúsculas e minúsculas. Infelizmente,
a implementação era tão complicada que nenhum navegador a implementou
corretamente. A pesquisa sugeriu que esse algoritmo complicado é desnecessário,
e até mesmo a correspondência ASCII sem distinção entre maiúsculas e minúsculas é desnecessária.
Por isso, a especificação foi atualizada para que a correspondência que diferencia maiúsculas e minúsculas seja aplicada. O comportamento antigo foi descontinuado no Chrome 57 e será removido no Chrome 58.
Intent to remove | Chromestatus Tracker | Chromium Bug
Descontinuação do FileReaderSync em service workers
A especificação do service worker
sempre teve a observação (não normativa) de que "qualquer
tipo de solicitação síncrona não pode ser iniciado dentro de um service
worker", para evitar o bloqueio do service worker. O bloqueio do worker de serviço
bloqueia todas as solicitações de rede das páginas controladas. Infelizmente, a
API FileReaderSync
já está disponível há muito tempo nos service workers.
No momento, apenas o Firefox e o Chrome expõem FileReaderSync
em workers de serviço.
O Firefox concorda com a discussão sobre a especificação
de que isso precisa ser corrigido. A remoção está prevista para o Chrome 59.
Intent to remove | Chromestatus Tracker | Chromium Bug
Descontinuação do autor de chamada legado para HTMLEmbedElement e HTMLObjectElement
Uma interface com um autor da chamada legado significa que uma instância pode ser chamada como uma
função. No momento, HTMLEmbedElement
e HTMLObjectElement
oferecem suporte a essa
funcionalidade. No Chrome 57, essa capacidade foi descontinuada. Após a remoção, que é
esperada no Chrome 58, a chamada vai gerar uma exceção.
Essa mudança alinha o Chrome às 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.
Intent to remove | Chromestatus Tracker | Chromium Bug
Descontinuação de RTCRtcpMuxPolicy de "negotiate"
O rtcpMuxPolicy
é usado pelo Chrome para especificar a política preferencial em relação
ao uso da multiplexação RTP/RTCP. No Chrome 57, mudamos o padrão
rtcpMuxPolicy
para "require" e descontinuamos "negotiate" pelos seguintes motivos:
- O RTCP não-muxado usa recursos de rede extras.
- A remoção de "negotiate" vai simplificar a API, já que um "RtpSender"/"RtpReceiver" vai ter apenas um único transporte.
No Chrome 57, a opção "negociação" foi descontinuada. Acreditamos que essa é uma mudança sem interrupção,
já que o usuário vai receber uma mensagem de descontinuação e o RTCPeerConnection
ainda pode
ser criado. A remoção está no Chrome 63.
Intenção de descontinuar | Bug do Chromium
Descontinuação do suporte a credenciais incorporadas em solicitações de recursos secundários
A codificação de credenciais em solicitações de subrecursos é problemática do ponto de vista da segurança, porque permite que hackers usem força bruta nas credenciais no passado. Esses perigos são exacerbados para solicitações de subrecursos com credenciais que alcançam intervalos de IP internos (roteadores etc.). Considerando o baixo uso, fechar esse (pequeno) problema de segurança parece bastante razoável.
Os desenvolvedores podem incorporar recursos que não exigem autenticação básica/digest, dependendo de cookies e outros mecanismos de gerenciamento de sessão.