Descontinuações e remoções no Chrome 58

Joe Medley
Joe Medley

Em quase todas as versões do Chrome, vemos um número significativo de atualizações e melhorias no produto, em seu desempenho e também nos recursos da web Google Cloud Platform. Este artigo descreve as descontinuações e remoções no Chrome 58, na versão Beta desde 16 de março. Esta lista está sujeita a alterações 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 caminho de evento projetado para interações de toque. Por exemplo, um movimento de arrastar o mouse que ocorre ao quando um botão do mouse é pressionado gera MotionEvents, entregue pelo View.onTouchEvent.

Mas, como os eventos de toque não suportam o ato de passar o cursor, os movimentos de passar o cursor seguem um caminho separado. O design teve muitos efeitos colaterais, incluindo interações com o mouse disparando TouchEvents, todos os botões do mouse aparecem como botões esquerdos do mouse e MouseEvents sendo suprimida por TouchEvents.

A partir do Chrome 58, um mouse no Android M ou posterior:

  • Não disparar mais TouchEvents.
  • Disparar uma sequência consistente de MouseEvents com os botões e outras propriedades.

Intenção de remover | Rastreador Chromestatus | Bug do Chromium

Remoção da correspondência que não diferencia maiúsculas de minúsculas do atributo usemap

Antes, o atributo usemap era definido como sem maiúsculas e minúsculas. Infelizmente implementar isso foi tão complicada que nenhum navegador o implementou. corretamente. A pesquisa sugeriu que um algoritmo tão complicado é desnecessário, e até 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 foi removido.

Intenção de remover | Rastreador Chromestatus | Bug do Chromium

Remover navegações de frames principais iniciadas pelo conteúdo para URLs de dados

Como eles não conhecem os navegadores com conhecimento técnico, vamos cada vez mais observamos o esquema data: sendo usado em spoofing e phishing ataques. Para evitar isso, vamos bloquear o carregamento de data: URLs em páginas da Web no quadro superior. Isso se aplica às tags <a>, window.open, window.location e mecanismos semelhantes. O esquema data: ainda vai funcionar recursos abaixo por uma página.

Esse recurso será removido no Chrome 60.

Intenção de remover | Rastreador Chromestatus | Bug do Chromium

Os nomes descontinuados das propriedades da trajetória de animação foram removidos

As propriedades CSS da trajetória de animação permitem aos autores animar qualquer objeto gráfico junto com 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. Google Chrome implementaram novos nomes no Chrome 55 e Chrome 56. Também foram implementados avisos de descontinuação do console.

No Chrome 58, os nomes de propriedades antigos estão sendo removidos. Propriedades afetadas e seus novos nomes são mostrados abaixo.

Propriedade removida Nome atual
demarcação de animação deslocamento-caminho
deslocamento de movimento deslocamento-distância
movimento-rotação deslocamento-rota
movimento offset

Intenção de remover

Remover EME de contextos não seguros

Alguns usos de Encrypted Media Extensions (EME) expor implementações de gerenciamento de direitos digitais que não são de código aberto, envolver o acesso a identificadores exclusivos persistentes e/ou executar fora do sandbox ou com privilegiado. Os riscos de segurança aumentam para sites expostos por mecanismos não seguros HTTP, porque podem ser atacados por qualquer pessoa no canal. Além disso, quando o consentimento do usuário é necessário, a aceitação persistente para um site HTTP não seguro pode ser explorada por um invasor.

O suporte a contextos não seguros foi removido do Especificação da versão 1 do EME e não é compatível com proposta proposta nem previsto para o final seguinte. não estarão nas próximas recomendação ou recomendação final subsequente. A API tem mostrado uma mensagem de descontinuação sobre 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 avançados de origens não seguras (link em inglês).

Intenção de remover | Rastreador Chromestatus | Bug do Chromium

Remoção do autor da chamada legado para HTMLEmbedElement e HTMLObjectElement

Quando uma interface tem um autor da chamada legado, significa que uma instância pode ser chamada como função. No momento, HTMLEmbedElement e HTMLObjectElement oferecem suporte a isso funcionalidade de armazenamento. No Chrome 57, esse recurso foi suspenso. A partir do Chrome 58, chamar gera uma exceção.

Essa mudança deixa o Chrome de acordo com as recentes mudanças 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 Chromestatus | Bug do Chromium

Remoção de criptografias ChaCha20-Poly1305 pré-padrão

Em 2013, o Chrome 31 foi implantado novos pacotes de criptografia TLS com base nos algoritmos ChaCha20 e Poly1305 do Prof. Dan Bernstein. Esses eram depois padronizados, com pequenos ajustes, no IETF como RFC 7539 (link em inglês) e RFC 7905. Enviamos a variante padronizada no início de 2016 com Chrome 49: Agora estamos removendo as variantes pré-padrão.

Intenção de remover | Rastreador Chromestatus | Bug do Chromium

Remoção do suporte à correspondência "commonName" em certificados

A RFC 2818 descreve dois métodos para corresponder a uma nome de domínio em um certificado: usar os nomes disponíveis no subjectAlternativeName ou, na ausência de uma extensão SAN, usando o commonName. O substituto do commonName foi obsoleto no RFC 2818 (publicado em 2000), mas o suporte permanece em diversos clientes TLS, muitas vezes incorretamente.

O uso dos campos subjectAlternativeName não traz ambiguidade se um está expressando uma vinculação a um endereço IP ou nome de domínio e é totalmente definida em termos de interação com as restrições de nome. No entanto, commonName é ambíguo e, por isso, o suporte a ele foi uma fonte dos bugs de segurança no Chrome, nas bibliotecas usadas e no ecossistema de TLS em geral.

O risco de compatibilidade para a remoção de commonName é baixo. O RFC 2818 tem descontinuou o uso por quase duas décadas, requisitos de referência (que todas as autoridades de certificação publicamente confiáveis precisam respeitar) ter exigido a presença de um subjectAltName desde 2012. O Firefox já exige a subjectAltName para todos os certificados confiáveis emitidos recentemente desde Firefox 48.

Intenção de remover | Rastreador Chromestatus | Bug do Chromium

Os elementos da interface regions, addRegion() e removeRegion() foram removidos da especificação WebVTT e são removidos no Chrome 58 para obedecer a especificação mais recente. Esperamos pouco impacto a remoção, já que o recurso nunca foi ativado por padrão (o que significa que ele foi atrás de uma sinalização). Aqueles que precisam de uma alternativa podem usar o VTTCue.region que está sendo adicionada no Chrome 58.

Rastreador Chromestatus | Bug do Chromium

WebAudio: remover a interface AudioSourceNode

A interface AudioSourceNode não faz parte Especificação de áudio da Web, não é construível e não tem atributos, portanto, basicamente, não tem desenvolvedores mais acessível. Por isso, ele está sendo removido.

Intenção de remover | Rastreador Chromestatus | Bug do Chromium

Remover atributo global webkitdropzone

O atributo global dropzone foi introduzido pelo Especificação de arrastar e soltar 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 soltos no o elemento e a operação de arrastar e soltar (copiar/mover/link).

O atributo não conseguiu ganhar força entre os fornecedores de navegador. Blink e WebKit Implemente apenas uma forma prefixada do atributo, webkitdropzone. Como o O atributo dropzone foi removido da especificação em início de março de 2017 a versão prefixada está sendo removida do Chrome.

Intenção de remover | Rastreador Chromestatus | Bug do Chromium

Suspensão do uso não seguro de notificações

As notificações são um recurso poderoso, porque permitem que os sites invoquem um sistema interface para transmitir informações privadas em si ou um sinal que privado informações sejam alteradas. Os atacantes podem farejar ou roubar qualquer informação enviada por uma notificação por uma conexão sem segurança. O push na Web exige uma conexão origem. Portanto, essa mudança vai alinhar as notificações que não são push com as notificações. Essa mudança faz parte do nosso esforço mais amplo para remover recursos avançados de origens não seguras (link em inglês).

Intenção de remover | Rastreador Chromestatus | Bug do Chromium

Suspensão do uso de notificações de iframes não seguros

As solicitações de permissão de iframes podem confundir os usuários, pois é difícil distinguir entre a origem da página que a 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 que os usuários julguem se devem conceder ou negar a permissão.

Proibir notificações em iframes também alinhará os requisitos para permissão de notificações junto com as notificações push, atenuando o atrito para desenvolvedores de aplicativos.

Os desenvolvedores que precisam dessa funcionalidade podem abrir uma nova janela para solicitar permissão de notificações.

A remoção será feita no Chrome 62.

Intenção de remover | Rastreador Chromestatus | Bug do Chromium

Remover indexadoDB.webkitGetDatabaseNames()

Adicionamos esse recurso quando o DB indexado era relativamente novo no Chrome e prefixado era toda a fúria. A API retorna, de maneira assíncrona, uma lista de bancos de dados existentes nomes em uma origem, o que parecia sensato o suficiente.

Infelizmente, o design é falho, já que os resultados podem ficar obsoletos em breve conforme eles são retornados, então eles só podem ser usados para geração de registros, e não lógica do aplicativo. A O problema no GitHub inclui links/links para discussão anterior sobre alternativas, o que exigiria uma abordagem diferente. Embora os desenvolvedores tenham um interesse constante, dada a falta de o progresso do navegador, o problema foi resolvido pelos autores da biblioteca.

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 Chromestatus | Bug do Chromium