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 60, que está na versão Beta desde 8 de junho. Esta lista está sujeita a alterações a qualquer momento.
Segurança
O crypto.subtle agora requer uma origem segura
A API Web Crypto
desde o Chrome 37, que sempre funcionou em sistemas
origens. Devido à longa política de proteção do Chrome
preferir origens seguras para recursos avançados,
crypto.subtle
não é visível apenas em origens seguras.
Intenção de remover | 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 carregados por uma página.
Esse recurso foi descontinuado no Chrome 58 e foi removido.
Intenção de remover | Rastreador Chromestatus | Bug do Chromium
Desativar temporariamente Navigator.sendBeacon() para alguns blobs
A função navigator.sendBeacon()
está disponível
desde o Chrome 39.
Como implementado originalmente, o argumento data
da função pode conter qualquer
blob arbitrário cujo tipo não está na lista de permissões do CORS. Acreditamos que essa é uma oportunidade
uma ameaça real à segurança, embora ninguém tenha tentado explorá-la. Como NÃO
tem uma correção imediata razoável para ele. Temporariamente, sendBeacon()
não pode
pode ser mais invocável em blobs de tipo NÃO incluído na lista segura do CORS.
Embora essa alteração tenha sido implementada no Chrome 60, ela já foi mesclada até o Chrome 59.
CSS
Fazer com que o combinador descendente que pisa de sombra se comporte como um combinador descendente
O combinador descendente perfurado por sombras (>>>
), parte de
Módulo de escopo CSS nível 1
, destinado a corresponder aos filhos de um determinado elemento ancestral
mesmo quando elas apareceram dentro de uma árvore paralela. Isso tinha algumas limitações.
Primeiro, de acordo com as especificações,
só pudesse ser usado em chamadas JavaScript, como querySelector()
, e não
trabalhar em folhas de estilo. E o mais importante, os fornecedores de navegadores
além de um nível do Shadow DOM.
Consequentemente, o combinador descendente foi removido das especificações relevantes. incluindo o Shadow DOM v1. Em vez de corromper as páginas da Web ao remover este seletor do Chromium, optamos por atribuir um alias aos elementos descendentes ao combinator descendente. O comportamento original era suspensa no Chrome 45. O novo comportamento foi implementado no Chrome 61.
Intenção de remover | Rastreador Chromestatus | Bug do Chromium
JavaScript
Descontinuação e remoção de RTCPeerConnection.getStreamById()
Há quase dois anos, o getStreamById()
foi removido da especificação WebRTC. A maioria dos outros navegadores tem
já removeu isso de suas implementações. Embora essa função seja
são pouco usadas, mas também acreditam que há pequenas
risco de interoperabilidade com navegadores baseados no Edge e no WebKit, exceto o Safari
em que getStreamById()
ainda tem suporte. Desenvolvedores que precisam de uma alternativa
implementação pode encontrar um exemplo de código em "Intent de remoção", abaixo.
A remoção será feita no Chrome 62.
Intenção de remover | Rastreador Chromestatus | Bug do Chromium
Suspensão do uso do SVGPathElement.getPathSegAtLength
Há mais de dois anos, getPathSegAtLength()
foi removido da especificação SVG.
Como existem apenas alguns acessos para esse método no httparchive, é
que será descontinuada no Chrome 60. A remoção deverá ocorrer no Chrome 62, que
será enviado em algum momento no início ou na metade de outubro.
Intenção de descontinuação | Rastreador Chromestatus | Bug do Chromium
Mover getContextAttributes() para trás de uma sinalização
A função getContextAttributes()
tem suporte em
CanvasRenderingContext2D
desde 2013. No entanto, o recurso não fazia parte de nenhum padrão e não se tornou
parte de uma desde então. Ele deveria ter sido implementado
--enable-experimental-canvas-features
, mas foi por engano
não. No Chrome 60, essa falha foi corrigida. Acredita-se que isso
a mudança é segura, já que não há dados mostrando que alguém está usando o método.
Remover Headers.prototype.getAll()
A função Headers.prototype.getAll()
está sendo removida de acordo com a
a versão mais recente da especificação de busca.
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 descontinuado no Chrome 58 e foi removido.
Intenção de remover | Rastreador Chromestatus | Bug do Chromium
Remover WEBKIT_KEYFRAMES_RULE e WEBKIT_KEYFRAME_RULE
As constantes WEBKIT_KEYFRAMES_RULE
e WEBKIT_KEYFRAME_RULE
não padrão
são removidos dos
Regra do CSS.
Em vez disso, os desenvolvedores precisam usar KEYFRAMES_RULE
e KEYFRAME_RULE
.
Intenção de remover | Rastreador Chromestatus | Bug do Chromium
Interface do usuário
Exigir o gesto do usuário para caixas de diálogo antes de descarregar
A partir do Chrome 60, a caixa de diálogo beforeunload
só será exibida se o frame
a tentativa de exibição recebeu um gesto ou interação do usuário (ou se
qualquer frame incorporado recebeu esse gesto). Esclarecendo, este não é um
mude para o envio do evento beforeunload
. É apenas uma mudança
se a caixa de diálogo é exibida.
A caixa de diálogo beforeunload
é uma caixa de diálogo modal. Por isso, é essencialmente
hostil, ou seja, responde à navegação do usuário questionando
decisão. Esse recurso tem usos positivos. Por exemplo, ele é muito usado
para avisar os usuários quando eles perderão dados na navegação.
Embora a capacidade de uma página de fornecer texto para a caixa de diálogo beforeunload
fosse
removidas há algum tempo, as caixas de diálogo do beforeunload
continuam sendo um vetor de abuso. Em
Especificamente, caixas de diálogo beforeunload
são um ingrediente de sites fraudulentos, em que
de reprodução automática de áudio e texto ameaçador fornecem um contexto em que o Chromium
fornecido "tem certeza de que deseja sair desta página?" se torna preocupante.
Queremos o fio da agulha e só permitimos bons usos do beforeunload
.
caixa de diálogo. Bons usos da caixa de diálogo são aqueles em que o usuário tem um estado que pode ser
perdidos. Se o usuário nunca interagiu com a página, ele não pode ter nenhuma
em estado de perda, portanto não corremos o risco de perder dados
suprimindo a caixa de diálogo nesse caso.