Notas de versão da plataforma Web do Microsoft Edge 133 (fevereiro de 2025)

A seguir estão os novos recursos e atualizações da plataforma Web no Microsoft Edge 133, que será lançado em 6 de fevereiro de 2025.

Para se manter atualizado e obter os recursos mais recentes da plataforma Web, baixe um canal de visualização do Microsoft Edge (Beta, Dev ou Canary); vá para Torne-se um Microsoft Edge Insider.

Conteúdo detalhado:

Microsoft Edge DevTools

Veja as novidades no DevTools (Microsoft Edge 133).

WebView2

Consulte o SDK da versão 1.0.3065.39, para o Runtime 133 (10 de fevereiro de 2025) nas notas de versão arquivadas do SDK do WebView2.

Recursos da plataforma Web

Recursos habilitados

Animation.overallProgress

Adiciona uma overallProgress propriedade à classe JavaScript Animation .

Essa propriedade fornece uma representação conveniente e consistente de quanto uma animação avançou em suas iterações e independentemente da natureza de sua linha do tempo.

Atomics.pause

Adiciona o Atomics.pause método para sugerir à CPU que o código atual está executando um spinlock.

Relatórios de hash CSP para scripts

Aplicativos da web complexos geralmente precisam manter um registro dos sub-recursos que baixam, para fins de segurança. Em particular, os próximos padrões e práticas recomendadas do setor (como PCI-DSS v4) exigem que os aplicativos da web mantenham um inventário de todos os scripts que baixam e executam.

Esse recurso se baseia na Política de segurança de conteúdo (CSP) e na API de relatórios para relatar as URLs e os hashes de todos os recursos de script carregados pelo documento.

Pseudo-classe CSS :open

A :open pseudo-classe combina <dialog> e <details> quando eles estão em seu estado aberto, e combina <select> e <input> quando eles estão em modos que têm um seletor e o seletor está aparecendo.

Consultas de contêiner de estado de rolagem CSS

Use consultas de contêiner para estilizar descendentes de contêineres com base em seu estado de rolagem.

O contêiner de consulta é um contêiner de rolagem ou um elemento afetado pela posição de rolagem de um contêiner de rolagem. Os seguintes estados podem ser consultados:

  • stuck: Um recipiente posicionado fixo está preso a uma das bordas da caixa de rolagem.

  • snapped: Um contêiner alinhado com ajuste de rolagem está atualmente ajustado horizontal ou verticalmente.

  • scrollable: Se um contêiner de rolagem pode ser rolado em uma direção consultada.

Um novo container-type: scroll-state permite que os contêineres sejam consultados.

Por exemplo:

#sticky {
  position: sticky;
  container-type: scroll-state;
}

@container scroll-state(stuck: top) {
  #sticky-child { font-size: 75% }
}
Função avançada attr() CSS

Implemente o aumento especificado attr() no CSS Nível 5, que permite tipos além <string>de , e permite o uso em todas as propriedades CSS (além do pseudo-elemento content).

Exemplo:

<style>
  div {
     background-color: attr(data-foo type(<color>), red);
  }
</style>
<div data-foo="blue">test</div>
CSS text-box, text-box-trime text-box-edge propriedades

Para obter o equilíbrio óptico do conteúdo de texto, as text-box-trim propriedades and text-box-edge , juntamente com a propriedade abreviada, possibilitam um text-box controle mais preciso do alinhamento vertical do texto.

A text-box-trim propriedade especifica os lados a serem aparados (acima ou abaixo). A text-box-edge propriedade especifica como a borda deve ser cortada.

Essas propriedades permitem controlar o espaçamento vertical com precisão usando as métricas de fonte.

ideographic e ideographic-ink, dois valores para a text-box-edge propriedade de caracteres chineses, japoneses e coreanos (CJK) são adiados para uma versão futura.

Mover com preservação de estado do DOM

Esse recurso adiciona um primitivo DOM (moveBefore) que permite mover um elemento em uma árvore DOM, sem redefinir o estado do elemento. Esta função está disponível em ParentNode nós, como Element, Document, e DocumentFragment.

Ao mover um elemento em vez de remover ou inserir um elemento, o estado como o seguinte é preservado:

  • <iframe> os elementos permanecem carregados.
  • O elemento ativo mantém o foco.
  • Popovers e caixas de diálogo permanecem abertos.
  • As transições e animações CSS continuam a ser executadas.
Expor o attributionsrc atributo em <area>

Para o Attribution Reporting, o atributo já foi processado attributionsrc involuntariamente em <area> elementos, devido ao código compartilhado com <a>, que intencionalmente deu suporte a esse atributo.

Para completar, o atributo on <area> é exposto com sintaxe e semântica idênticas a <a>, e sem alterar o processamento anterior. Quando uma <area> tag com um attributionsrc atributo é navegada, a solicitação em primeiro plano pode registrar fontes de navegação e, se o atributo não estiver vazio, uma ou mais solicitações em segundo plano também poderão registrar fontes de navegação.

Expor origem renderTime cruzada grosseira no tempo do elemento e Largest Contentful Paint (LCP), independentemente do Timing-Allow-Origin cabeçalho (TAO)

Todas as entradas de desempenho de temporização de elemento e LCP teriam um diferente de zero renderTime, mesmo que sejam de origem cruzada sem um Timing-Allow-Origin cabeçalho. Todos os carimbos de data/hora da apresentação (renderTime, hora de início do tempo de pintura e hora de término do evento) serão reduzidos a um múltiplo de 4 ms, para reduzir o risco de leitura de informações de imagem de origem cruzada.

A FileSystemObserver interface

A FileSystemObserver interface notifica os sites sobre alterações no sistema de arquivos. Os sites observam alterações em arquivos e diretórios, para os quais o usuário concedeu permissão anteriormente, no dispositivo local do usuário (conforme especificado em WICG/file-system-access) ou no Sistema de arquivos de bucket (conforme especificado em whatwg/fs), e são notificados sobre informações básicas de alteração, como o tipo de alteração.

Vários mapas de importação

Atualmente, os mapas de importação devem ser carregados antes de qualquer módulo ES e só pode haver um único mapa de importação por documento. Isso torna os mapas de importação frágeis e potencialmente lentos de usar em cenários da vida real: qualquer módulo que seja carregado antes de importar mapas interrompe todo o aplicativo e, em aplicativos com muitos módulos, os mapas de importação se tornam um grande recurso de bloqueio, pois todo o mapa para todos os módulos possíveis precisa ser carregado primeiro.

Esse recurso permite vários mapas de importação por documento, mesclando mapas de importação de maneira consistente e determinística.

Melhorias no posicionamento do invocador popover e da âncora

Essa alteração corresponde ao seguinte conjunto de alterações relacionadas:

  1. Adicione uma maneira imperativa de definir relações de invocador entre popovers: popover.showPopover({source}).
  2. As relações de invocador criam referências de elemento âncora implícitas.
Um popover aninhado dentro de um invocador não deve invocá-lo novamente

Clicar em um popover aninhado não invoca novamente o mesmo popover.

No exemplo a seguir, clicar no botão ativa corretamente o popover. No entanto, clicar no próprio popover depois disso não deve fechar o popover. Anteriormente, o popover era fechado neste caso, porque o clique do popover borbulhava até o <button> e ativava o invocador, que fechava o popover.

<button popovertarget=foo>Activate
  <div popover id=foo>Clicking me shouldn't close me</div>
</button>
Tempo do recurso: reverter responseStart a alteração e introduzirfirstResponseHeadersStart

Tempo de recurso:

  • responseStart retorna a primeira resposta, dicas iniciais (provisórias) ou finais.
  • O tempo dos cabeçalhos de resposta final (2xx/4xx/5xx) é exposto como finalResponseHeadersStart.
Cabeçalhos de acesso de armazenamento

Oferece uma maneira alternativa para incorporações autenticadas aceitarem cookies não particionados. Esses cabeçalhos indicam se os cookies não particionados estão (ou podem ser) incluídos em uma determinada solicitação de rede. Esses cabeçalhos também permitem que os servidores ativem storage-access permissões que já receberam. Fornecer uma maneira alternativa de ativar a permissão permite o uso por recursos não iframe e pode reduzir a storage-access latência para inserções autenticadas.

Suporte para a criação de um ClipboardItem com Promise<DOMString>

ClipboardItem é a entrada para o método de gravação da área de transferência assíncrona. O ClipboardItem construtor agora aceita valores de cadeia de caracteres além de BLOBs. ClipboardItemData pode ser um BLOB; uma cadeia de caracteres; ou uma Promise que resolve como um BLOB ou uma cadeia de caracteres.

API de autenticação da Web: o getClientCapabilities() método de PublicKeyCredential

O getClientCapabilities() método permite determinar quais recursos do WebAuthn são suportados pelo cliente do usuário. Esse método retorna uma lista de funcionalidades com suporte, permitindo que você personalize experiências de autenticação e fluxos de trabalho com base na funcionalidade específica do cliente.

Proposta WebAssembly memory64

A proposta memory64 adiciona suporte para memórias WebAssembly lineares maiores que 2^32 bits. Esta proposta não fornece novas instruções, mas estende as instruções existentes para permitir índices de 64 bits para memórias e tabelas.

WebGPU: formatos de vértice de 1 componente (e unorm8x4-bgra)

Adiciona formatos de vértice adicionais que não estavam presentes na versão inicial do WebGPU, devido à falta de suporte ou versões antigas do macOS que não são mais compatíveis com nenhum navegador. Os formatos de vértice de 1 componente permitem que o aplicativo solicite apenas os dados necessários, quando anteriormente, o aplicativo precisava solicitar pelo menos 2x mais dados para os tipos de dados de 8 bits e 16 bits. O unorm8x4-bgra formato torna um pouco mais conveniente carregar cores de vértice codificadas em BGRA, mantendo o mesmo sombreador.

Algoritmo X25519 da API de Criptografia da Web

O algoritmo X25519 fornece ferramentas para executar a concordância de chaves usando a função X25519 especificada no RFC7748. O X25519 identificador do algoritmo pode ser usado na SubtleCrypto interface para acessar as operações implementadas: generateKey, importKey, exportKey, deriveKeye deriveBits.

popover=hint

A API Popover especifica o comportamento de dois valores do popover atributo: auto e manual. Esse recurso descreve um terceiro valor, popover=hint. As dicas, que geralmente são associadas a comportamentos do tipo dica de ferramenta, têm comportamentos ligeiramente diferentes. A principal diferença é que a hint é subordinado a autos ao abrir pilhas aninhadas de popovers. Portanto, é possível abrir um popover não relacionado hint enquanto uma pilha existente de auto popovers permanece aberta. O exemplo canônico é que um <select> seletor está aberto (popover=auto) e uma dica de ferramenta disparada por focalização (popover=hint) é mostrada. Essa ação não fecha o <select> seletor.

Recursos preteridos ou removidos

Os seguintes recursos da API Web foram preteridos (ainda com suporte, mas não recomendados) ou removidos.

Descontinuar o limite de GPU da Web maxInterStageShaderComponents

O maxInterStageShaderComponents limite está sendo removido devido a uma combinação de fatores:

  • Redundância com maxInterStageShaderVariables: Esse limite já serve a um propósito semelhante: controlar a quantidade de dados passados entre os estágios do sombreador.

  • Pequenas discrepâncias: há pequenas diferenças na forma como os dois limites são calculados, mas essas diferenças são pequenas e podem ser gerenciadas com eficácia dentro do maxInterStageShaderVariables limite.

  • Simplificação: a remoção maxInterStageShaderComponents simplifica a interface do sombreador e reduz a complexidade para os desenvolvedores. Em vez de gerenciar dois limites separados (que se aplicam simultaneamente, mas com diferenças sutis), você pode se concentrar em maxInterStageShaderVariables, que é mais apropriadamente nomeado e abrangente.

Anteriormente, quando um recurso era pré-buscado usando <link rel=prefetch>, sua semântica de cache (especificamente, max-age e no-cache) era ignorada para o primeiro uso em 5 minutos, para evitar a rebusca. Agora, esse caso especial foi removido e a semântica normal do cache HTTP é usada.

Isso significa que, para se beneficiar do <link rel=prefetch>, você precisa incluir cabeçalhos de cache apropriados (ou seja, Cache-Control ou Expires).

Isso também afeta os arquivos .<link rel=prerender>

Isso corrige um bug com a pré-busca de regras de especulação, em que respostas não 2xx eram armazenadas em cache. Isso não requer cabeçalhos de cache para pré-busca de regras de especulação, pois esses cabeçalhos destinam-se à pré-busca de navegação e, portanto, têm necessidades de cache diferentes do cache HTTP normal.

Avaliações de origem

A seguir estão novas APIs experimentais que você pode experimentar em seu próprio site ativo por um tempo limitado. Para saber mais sobre avaliações de origem, consulte Testar APIs e recursos experimentais usando avaliações de origem.

Para obter a lista completa de avaliações de origem disponíveis, consulte Avaliações de origem do Microsoft Edge.

Versões de avaliação de origem exclusivas do Microsoft Edge

API de Bens Digitais

Expira em 31 de março de 2025.

A API de Bens Digitais permite que um aplicativo da web obtenha informações sobre seus produtos digitais e as compras do usuário gerenciadas por uma loja digital. O agente do usuário abstrai as conexões com a loja e a API de solicitação de pagamento é usada para fazer compras.

Acesso ao Aplicativo LocalFolder Web

Expira em 31 de março de 2025.

Permite que os PWAs (Aplicativos Web Progressivos) instalados pela Microsoft Store acessem o conteúdo do arquivo que foi armazenado anteriormente na pasta WinRT ApplicationData.LocalFolder por uma versão UWP anterior do aplicativo.

Atributo de manuscrito HTML+IDL

Expira em 14 de junho de 2025.

O handwriting atributo fornece uma maneira por documento e por elemento de controlar onde a entrada de manuscrito, como ao usar uma caneta, é permitida.

API de Informações de Aquisição

Expira em 30 de junho de 2025.

Dá suporte à atribuição de aquisição 3P para PWAs (Aplicativos Web Progressivos) que foram adquiridos por meio de uma loja de aplicativos ou diretamente do navegador.

Novos testes de origem do Chromium

Destino de referência para ARIA de raiz cruzada

Expira em 10/06/2025.

A API de destino de referência permite referências baseadas em ID, particularmente de elementos e propriedades ARIA, para se referir a elementos dentro de

DisableThirdPartyStoragePartitioning3

Expira em 16/09/2025.

Esta é uma avaliação de preterição de uso geral que permite que um site de nível superior opte por armazenamento não particionado, trabalhos de serviço e APIs de comunicação, para contextos de terceiros que estão incorporados em seu site. Isso dá aos sites mais tempo para testar e migrar para soluções que não exijam armazenamento particionado.

Congelamento de Página em Segundo Plano Opt-Out

Expira em 16/09/2025.

Esta avaliação permite que uma página seja recusada do congelamento da página em segundo plano. No Chromium 133, uma guia que ficou em segundo plano por mais de 5 minutos poderá ser congelada se tiver uso intensivo de CPU e a Economia de Energia estiver ativa, a menos que seja recusada. Uma desativação da avaliação de origem é fornecida enquanto novas APIs Web estão sendo desenvolvidas, para desativar páginas para casos de uso específicos.

Observação

Partes desta página são modificações baseadas no trabalho criado e compartilhado por Chromium.org e usadas de acordo com os termos descritos na Licença Creative Commons Atribuição 4.0 Internacional.