.
Não permitir XMLHTTPRequest() síncrono na dispensa de páginas
Agora o Chrome não permite chamadas síncronas para XMLHTTPRequest()
durante a dispensa
da página quando a página é dispensada ou fechada pelo usuário.
Isso se aplica a beforeunload
, unload
, pagehide
e visibilitychange
.
Para garantir que os dados sejam enviados ao servidor quando uma página for descarregada, recomendamos
sendBeacon()
ou Fetch
keep-alive
. Por enquanto, os usuários corporativos podem usar a
flag de política AllowSyncXHRInPageDismissal
, e os desenvolvedores podem usar a flag de teste
de origem allow-sync-xhr-in-page-dismissal
para permitir solicitações XHR síncronas
durante o descarregamento da página. Essa é uma medida temporária de "desativação", e esperamos
remover essa flag no Chrome 88.
Para saber mais sobre isso e as alternativas, consulte Como desativar o XMLHTTPRequest síncrono() durante a dispensa de páginas.
Intent to remove | Status da plataforma do Chrome | Bug do Chromium
Suporte para FTP descontinuado
A implementação atual de FTP no Chrome não oferece suporte a conexões criptografadas (FTPS) nem a proxies. O uso do FTP no navegador é tão baixo que não é mais viável investir na melhoria do cliente FTP atual. Além disso, há clientes FTP mais avançados disponíveis em todas as plataformas afetadas.
O Chrome 72 removeu o suporte para buscar subrecursos de documentos por FTP e renderizar recursos de FTP de nível superior. No momento, a navegação até URLs FTP resulta na exibição de uma lista de diretórios ou de um download, dependendo do tipo de recurso. Um bug no Google Chrome 74 e versões mais recentes resultou na perda do suporte para o acesso a URLs FTP por meio de proxies HTTP. O suporte a proxy para FTP foi removido completamente no Google Chrome 76.
Os recursos restantes da implementação de FTP do Google Chrome são restritos a mostrar uma lista de diretórios ou fazer o download de um recurso por conexões não criptografadas.
O cronograma de descontinuação está definido provisoriamente da seguinte forma:
Chrome 80 (estável em fevereiro de 2020)
O FTP é desativado por padrão para clientes não corporativos, mas pode ser ativado
usando as flags de linha de comando --enable-ftp
ou
--enable-features=FtpProtocol
. Também é possível ativar usando a opção #enable-ftp
em chrome://flags.
Chrome 81 (estável em março de 2020)
O FTP fica desativado por padrão em todas as instalações do Chrome, mas pode ser ativado
usando as flags de linha de comando --enable-ftp
ou
--enable-features=FtpProtocol
.
Chrome 82 (estável em abril de 2020)
O suporte para FTP será totalmente removido.
Intent to remove | Status da plataforma do Chrome | Bug do Chromium
Não permitir pop-ups durante o descarregamento da página
As páginas não podem mais usar window.open()
para abrir uma nova página durante o descarregamento. O
bloqueador de pop-ups do Chrome já proibia isso, mas agora a proibição é feita
mesmo que o bloqueador esteja ativado.
As empresas podem usar a flag de política AllowPopupsDuringPageUnload
para permitir
pop-ups durante o descarregamento. O Chrome espera remover essa flag no Chrome 82.
Intent to remove | Chromestatus Tracker | Chromium Bug
A serialização e transferência de ImageBitmap não limpas de origem foram removidas.
Agora, erros serão gerados quando um script tentar serializar ou transferir um ImageBitmap não limpo de origem. Uma ImageBitmap não limpa de origem é aquela que contém dados de imagens entre origens que não são verificados pela lógica CORS.
Intent to remove | Status da plataforma do Chrome | Bug do Chromium
O processamento de protocolo agora exige um contexto seguro
Os métodos registerProtocolHandler()
e unregisterProtocolHandler()
agora
exigem um contexto seguro. Esses métodos são capazes de reconfigurar os estados do cliente
de modo a permitir a transmissão de dados potencialmente sensíveis em uma
rede.
O método registerProtocolHandler()
oferece à página da Web um mecanismo para se registrar
para processar um protocolo após o consentimento do usuário. Por exemplo, um aplicativo de e-mail
baseado na Web pode se registrar para processar o esquema mailto:
. O método
unregisterProtocolHandler()
correspondente permite que um site abandone o
registro de processamento de protocolo.
Intent to remove | Status da plataforma do Chrome | Bug do Chromium
Web Components v0 removido
Os Web Components v0 foram removidos do Chrome. As APIs Web Components v1 são um padrão da plataforma da Web que foi enviado no Chrome, Safari, Firefox e (em breve) no Edge. Para orientações sobre o upgrade, leia Atualização dos Componentes da Web: mais tempo para fazer upgrade para as APIs v1. Os recursos a seguir foram removidos. Essa descontinuação abrange os itens listados abaixo.
Elementos personalizados
Intent to remove | Status da plataforma do Chrome | Bug do Chromium
Importações de HTML
Intent to remove | Status da plataforma do Chrome | Bug do Chromium
DOM de sombra
Intent to remove | Status da plataforma do Chrome | Bug do Chromium
-webkit-appearance:button removido para elementos arbitrários
Faz com que -webkit-appearance:button
funcione apenas com os botões <button>
e
<input>
. Se button
for especificado para um elemento sem suporte, o elemento terá
a aparência padrão. Todas as outras palavras-chave -webkit-appearance
já têm
essa restrição.
Intent to remove | Status da plataforma do Chrome | Bug do Chromium
Política de descontinuação
Para manter a plataforma saudável, às vezes removemos APIs da Plataforma Web que já cumpriram seu curso. Há muitos motivos para removermos uma API, como:
- Elas foram substituídas por APIs mais recentes.
- Elas são atualizadas para refletir mudanças nas especificações e trazer alinhamento e consistência com outros navegadores.
- Eles são experimentos iniciais que nunca foram concluídos em outros navegadores e, portanto, podem aumentar a carga de suporte para desenvolvedores da Web.
Algumas dessas mudanças vão afetar um número muito pequeno de sites. Para evitar problemas com antecedência, tentamos avisar os desenvolvedores com antecedência para que eles possam fazer as mudanças necessárias e manter os sites funcionando.
Atualmente, o Chrome tem um processo de descontinuação e remoção de APIs, basicamente:
- Anunciar na lista de e-mails blink-dev.
- Defina avisos e forneça escalas de tempo no console do Chrome DevTools quando o uso for detectado na página.
- Aguarde, monitore e remova o recurso quando o uso diminuir.
Você pode encontrar uma lista de todos os recursos descontinuados em chromestatus.com usando o filtro descontinuado e os recursos removidos aplicando o filtro removido. Também vamos tentar resumir algumas das mudanças, raciocínios e caminhos de migração nessas postagens.