Descontinuações e remoções de APIs no Chrome 57

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 57, que está na versão Beta no início de fevereiro. Esta lista está sujeita a alterações a qualquer momento tempo de resposta.

Remoção do atributo BluetoothDevice.uuids

O atributo BluetoothDevice.uuids está sendo removido para disponibilizar API Web Bluetooth no de acordo com a especificação atual. Para recuperar todos os serviços GATT permitidos, chame device.getPrimaryServices().

Bug do Chromium

Remover elemento chave de geração

Desde o Chrome 49, o comportamento padrão de <keygen> é retornar o valor string, a menos que uma permissão tenha sido concedida à página. O IE/Edge não é compatível <keygen> e não indicaram indicadores públicos para oferecer suporte a <keygen>. O Firefox já controla o <keygen> atrás de um gesto do usuário, mas está publicamente que apoia a remoção dele. O safári envia <keygen> e ainda não se expressou as opiniões públicas sobre o apoio contínuo. Com o Chrome 57, esse elemento é removido.

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

Remoção da API prefixada de gerenciamento de buffer de tempo de recurso

Dois métodos e um manipulador de eventos, webkitClearResourceTimings(), webkitSetResourceTimingBufferSize() e onwebkitresourcetimingbufferfull são obsoletas e específicas do fornecedor. A versões padrão dessas APIs têm suporte desde o Chrome 46, e as funções prefixadas descontinuada nessa versão também. Originalmente, esses recursos implementados no WebKit, mas o Safari não os ativou. Firefox, IE 10+ e O Edge só tem uma versão sem prefixo da API. Portanto, as versões webkit estão sendo removidos.

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

Remoção de ServiceWorkerMessageEvent em favor do uso de MessageEvent

A especificação HTML estendeu MessageEvent para permitir ServiceWorker como um tipo para o atributo source. client.postMessage() e criação de mensagem personalizada eventos são alterados para usar MessageEvent em vez de ServiceWorkerMessageEvent. ServiceWorkerMessageEvent foi removido.

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

Remover aliases globais do IndexedDB com o prefixo webkit

O ponto de entrada IndexedDB e os construtores globais foram expostos com webkit prefixos em algum lugar próximo do Chrome 11. As versões sem prefixo foram adicionadas O Chrome 24 e as versões prefixadas foram descontinuados no Chrome 38. A seguintes interfaces são afetadas:

  • webkitIndexedDB (ponto de entrada principal)
  • webkitIDBKeyRange (construtor global não chamável, mas com métodos estáticos úteis)
  • webkitIDBCursor
  • webkitIDBDatabase
  • webkitIDBFactory
  • webkitIDBIndex
  • webkitIDBObjectStore
  • webkitIDBRequest
  • webkitIDBTransaction (construtores globais não chamáveis)

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

WebAudio: remover AudioContext e offlineAudioContext prefixados

O Chrome é compatível com WebAudio desde meados de 2011, incluindo o AudioContext. OfflineAudioContext foi adicionado no ano seguinte. Dado quanto tempo o padrão têm suporte, e o objetivo de longo prazo do Google de remover recursos, as versões prefixadas dessas interfaces foram descontinuadas desde final de 2014 e agora estão sendo removidas.

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

Descontinuação e remoção do webkitCancelRequestAnimationFrame

O método webkitCancelRequestAnimationFrame() é uma classe obsoleta a API específica do fornecedor e o cancelAnimationFrame() padrão já têm suporte no Chromium. Por isso, a versão do webkit está sendo removida.

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

Suspensão do uso da correspondência que não diferencia maiúsculas de minúsculas para o 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 esse algoritmo 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, com remoção esperada em Chrome 58.

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

Suspensão do uso de FileReaderSync em service workers

A especificação do service worker sempre teve a observação (não normal) de que "qualquer solicitações síncronas não podem ser iniciados dentro de um serviço worker" para evitar o bloqueio do service worker. Como bloquear o service worker bloquearia todas as solicitações de rede das páginas controladas. Infelizmente, o A API FileReaderSync está disponível há muito tempo nos service workers.

Atualmente, apenas o Firefox e o Chrome expõem FileReaderSync nos service workers. Há um acordo do Firefox na discussão de especificações. que isso deve ser corrigido. A remoção está prevista para o Chrome 59.

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

Suspensão do uso 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 descontinuado. Após a remoção, que é esperado no Chrome 58, a chamada gerará 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

Suspensão do uso de RTCRtcpMuxPolicy de "Negociar"

O rtcpMuxPolicy é usado pelo Chrome para especificar a política preferencial relacionada uso de multiplexação RTP/RTCP. No Chrome 57, mudamos o padrão rtcpMuxPolicy para "exigir" e "Negociar" foi descontinuado pelos seguintes motivos:

  • O RTCP não incorporado usa recursos extras de rede.
  • Removendo "negociar" simplificam a superfície da API, já que uma &quot;RtpSender&quot;/&quot;RtpReceiver&quot; terá apenas um transporte.

No Chrome 57, "negociar" foi descontinuado. Acreditamos que essa é uma mudança não interruptiva já que o usuário vai receber uma mensagem de descontinuação, e RTCPeerConnection ainda poderá ser criados. A remoção será feita no Chrome 63.

Intenção de descontinuação | Bug do Chromium

Suspensão do suporte a credenciais incorporadas em solicitações de sub-recursos

A codificação de credenciais em solicitações de sub-recursos é problemática a partir de um do ponto de vista de segurança, já que os hackers conseguiram usar credenciais de força bruta em passado. Esses perigos são exacerbados para solicitações de recursos secundários credenciados. que alcançam intervalos de IP internos (seus roteadores etc.). Devido ao baixo uso, resolver essa (pequena) falha de segurança parece bastante razoável.

Os desenvolvedores podem incorporar recursos que não exigem autenticação básica/de resumo, dependendo em vez de cookies e outros mecanismos de gerenciamento de sessão.

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