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 58, que está na versão Beta desde 16 de março. Essa lista está sujeita a mudanças a qualquer momento.
O mouse no Android para de disparar TouchEvents.
Até o Chrome 57, os eventos de mouse de baixo nível do Android no Chrome seguiam principalmente um
caminho de evento projetado para interações por toque. Por exemplo, um movimento de arrasto do mouse que ocorre enquanto
um botão do mouse está pressionado gera MotionEvents
, enviado por
View.onTouchEvent
.
No entanto, como os eventos de toque não podem oferecer suporte a passagem do cursor, os movimentos do cursor com passagem do cursor seguiram um
caminho separado. O design tinha muitos efeitos colaterais, incluindo interações do mouse
acionando TouchEvents
, todos os botões do mouse aparecendo como botões esquerdo e
MouseEvents
sendo suprimido por TouchEvents
.
A partir do Chrome 58, um mouse no Android M ou mais recente:
- Não dispara mais
TouchEvents
. - Acionar uma sequência consistente de
MouseEvents
com botões e outras propriedades apropriados.
Intent to remove | Chromestatus Tracker | Chromium Bug
Remover a correspondência indiferente a maiúsculas e minúsculas do 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 um algoritmo tão complicado é desnecessário,
e até 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 agora foi removido.
Intent to remove | Chromestatus Tracker | Chromium Bug
Remover navegações de frame superior iniciadas pelo conteúdo para URLs de dados
Devido à falta de familiaridade dos usuários não técnicos do navegador, estamos
vendo cada vez mais o esquema data:
sendo usado em ataques de spoofing e phishing. Para evitar isso, estamos impedindo que as páginas da Web carreguem URLs data:
no frame superior. Isso se aplica a tags <a>
, window.open
,
window.location
e mecanismos semelhantes. O esquema data:
ainda vai funcionar para
recursos carregados abaixo por uma página.
Esse recurso será removido no Chrome 60.
Intent to remove | Chromestatus Tracker | Chromium Bug
Remover nomes descontinuados das propriedades da trajetória de animação
As propriedades CSS de caminho de movimento permitem que os autores animem qualquer objeto gráfico ao longo de um caminho especificado pelo autor. Em conformidade com a especificação, várias propriedades foram implementadas no Chrome 45. Os nomes dessas propriedades foram alterados na especificação em meados de 2016. O Chrome implementou os novos nomes no Chrome 55 e 56. Os avisos de descontinuação do console também foram implementados.
No Chrome 58, os nomes de propriedade antigos foram removidos. As propriedades afetadas e os novos nomes delas são mostrados abaixo.
Propriedade removida | Nome atual |
---|---|
motion-path | offset-path |
motion-offset | offset-distance |
motion-rotation | offset-rotate |
movimento | offset |
Remover EME de contextos não seguros
Alguns usos de extensões de mídia criptografada (EME) expõem implementações de gerenciamento de direitos digitais que não são de código aberto, envolvem acesso a identificadores exclusivos persistentes e/ou são executadas sem sandbox ou com acesso privilegiado. Os riscos de segurança aumentam para sites expostos por HTTP não seguro, porque eles podem ser atacados por qualquer pessoa no canal. Além disso, quando o consentimento do usuário é necessário, a aceitação persistente de um site HTTP não seguro pode ser explorada por esse invasor.
O suporte a contextos não seguros foi removido da especificação da versão 1 do EME e não é compatível com a recomendação proposta nem previsto na finalização subsequente. Não estará na próxima recomendação proposta ou na recomendação final subsequente. A API mostra uma mensagem de descontinuação em origens não seguras desde o Chrome 44 (maio de 2015). No Chrome 58, ele foi removido. Essa mudança faz parte do nosso esforço mais amplo para remover recursos poderosos de origens não seguras.
Intent to remove | Chromestatus Tracker | Chromium Bug
Remoção do chamador legado para HTMLEmbedElement e HTMLObjectElement
O fato de uma interface ter um autor da chamada legada 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. A partir do Chrome 58,
a chamada gera 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
Remoção de cifras ChaCha20-Poly1305 pré-padrão
Em 2013, o Chrome 31 implantou novos pacotes de criptografia TLS com base nos algoritmos ChaCha20 e Poly1305 do Prof. Dan Bernstein. Elas foram padronizadas mais tarde, com pequenas alterações, no IETF como RFC 7539 e RFC 7905. Enviamos a variante padronizada no início de 2016 com o Chrome 49. Estamos removendo as variantes pré-padrão.
Intent to remove | Chromestatus Tracker | Chromium Bug
Remoção do suporte à correspondência de commonName em certificados
O RFC 2818 descreve dois métodos para fazer a correspondência de um
nome de domínio com um certificado: usando os nomes disponíveis na
extensão subjectAlternativeName
ou, na ausência de uma extensão SAN,
retornando para commonName
. O fallback para commonName
foi
descontinuado no RFC 2818 (publicado em 2000), mas o suporte permanece em vários
clientes TLS, muitas vezes de forma incorreta.
O uso dos campos subjectAlternativeName
deixa claro se um
certificado está expressando uma vinculação a um endereço IP ou a um nome de domínio e se ele está
totalmente definido em termos de interação com as restrições de nome. No entanto, o
commonName
é ambíguo e, por isso, o suporte a ele tem sido uma fonte
de bugs de segurança no Chrome, nas bibliotecas que ele usa e no ecossistema
TLS em geral.
O risco de compatibilidade para remover commonName
é baixo. O RFC 2818
foi descontinuado há quase duas décadas, e os
requisitos básicos
(que todas as autoridades certificadoras confiáveis publicamente precisam obedecer) exigem
a presença de um subjectAltName
desde 2012. O Firefox já exige o
subjectAltName
para todos os certificados publicamente confiáveis recém-emitidos desde o
Firefox 48.
Intent to remove | Chromestatus Tracker | Chromium Bug
Bits de TextTrack relacionados a VTTRegion
Os elementos de interface regions
, addRegion()
e removeRegion()
foram
removidos da especificação do WebVTT e removidos no Chrome 58 para obedecer à
especificação mais recente. Esperamos pouco impacto
com essa remoção, já que o recurso nunca foi ativado por padrão (ou seja, estava
atrás de uma flag). Quem precisar de uma alternativa pode usar a propriedade VTTCue.region
,
que está sendo adicionada ao Chrome 58.
Rastreador do Chromestatus | Bug do Chromium
WebAudio: remoção da interface AudioSourceNode
A interface AudioSourceNode
não faz parte da
especificação do Web Audio,
não pode ser construída e não tem atributos. Ou seja, ela não tem funcionalidades
acessíveis pelo desenvolvedor. Por isso, ele está sendo removido.
Intent to remove | Chromestatus Tracker | Chromium Bug
Remover o atributo global webkitdropzone
O atributo global dropzone
foi introduzido pela
especificação de arrastar e soltar do HTML5
como um método declarativo para especificar a disposição de um elemento HTML para ser o
destino de uma operação de arrastar e soltar, os tipos de conteúdo que podem ser arrastados para
o elemento e a operação de arrastar e soltar (copiar/mover/vincular).
O atributo não teve tração entre os fornecedores de navegadores. O Blink e o WebKit
implementam apenas uma forma prefixada do atributo, webkitdropzone
. Como o
atributo dropzone
foi removido da especificação no
início de março de 2017,
a versão com prefixo está sendo removida do Chrome.
Intent to remove | Chromestatus Tracker | Chromium Bug
Desativar o uso não seguro de notificações
As notificações são um recurso poderoso, porque permitem que os sites invoquem uma interface do sistema para transmitir informações particulares ou um sinal de que as informações privadas foram alteradas. Os invasores podem detectar ou roubar qualquer informação enviada por uma notificação em uma conexão não segura. As notificações push da Web exigem uma origem segura. Portanto, essa mudança vai alinhar as notificações não push com as notificações push. Essa mudança faz parte do nosso esforço mais amplo para remover recursos poderosos de origens não seguras.
Intent to remove | Chromestatus Tracker | Chromium Bug
Descontinuação do uso de notificações de iframes não seguros
As solicitações de permissão de iframes podem confundir os usuários, já que é difícil distinguir a origem da página que contém e a origem do iframe que está fazendo a solicitação. Quando o escopo das solicitações não está claro, é difícil para os usuários julgarem se devem conceder ou negar a permissão.
A proibição de notificações em iframes também vai alinhar os requisitos de permissão de notificação com os de notificações push, facilitando a vida dos desenvolvedores.
Os desenvolvedores que precisam dessa funcionalidade podem abrir uma nova janela para solicitar a permissão de notificação.
A remoção está no Chrome 62.
Intent to remove | Chromestatus Tracker | Chromium Bug
Remover indexedDB.webkitGetDatabaseNames()
Adicionamos esse recurso quando o Indexed DB era relativamente novo no Chrome e o prefixo era a última moda. A API retorna de forma assíncrona uma lista de nomes de banco de dados existentes em uma origem, o que parecia bastante razoável.
Infelizmente, o design é falho, já que os resultados podem ficar obsoletos assim que são retornados. Portanto, ele só pode ser usado para registro, não para lógica de aplicativo séria. O problema do GitHub rastreia/vincula a discussão anterior sobre alternativas, o que exigiria uma abordagem diferente. Embora os desenvolvedores tenham mostrado interesse, o problema foi resolvido pelos autores da biblioteca devido à falta de progresso entre navegadores.
Os desenvolvedores que precisam dessa funcionalidade precisam desenvolver a própria solução. Bibliotecas como Dexie.js, por exemplo, usam uma tabela global, que é outro banco de dados para rastrear os nomes dos bancos de dados.
Esse recurso foi removido no Chrome 60.
Intenção de descontinuação | Rastreador do Chromestatus | Bug do Chromium