Veja o que é necessário saber:
- Adicione estilo personalizado aos seus elementos picture-in-picture com a nova pseudoclasse
:picture-in-picture
. - Defina o comportamento de inicialização do seu app da Web com launch_handler no seu manifesto.
- usar o atributo
credentialless
em iframes para incorporar conteúdo de terceiros que não defina uma política de incorporação de origem cruzada; - E há muito mais.
Meu nome é Adriana Jara. Vamos conhecer as novidades para os desenvolvedores no Chrome 110.
Pseudoclasse :picture-in-picture
Com a API Picture-in-Picture, os sites podem criar uma janela de vídeo flutuante, sempre na parte de cima, para que os usuários continuem consumindo mídia enquanto interagem com outros conteúdos.
Agora, com a pseudoclasse CSS :picture-in-picture
(link em inglês), é possível adicionar estilos aos elementos para melhorar a experiência.
O snippet abaixo mostra como usar a classe picture-in-picture para adicionar uma mensagem ao contêiner de vídeo que lembra o usuário de que o vídeo está sendo reproduzido em outro lugar.
#video-container:has(video:picture-in-picture)::before {
bottom: 36px;
color: #ddd;
content: 'Video is now playing in a Picture-in-Picture window';
position: absolute;
right: 36px;
}
Use a pseudoclasse novamente no elemento de vídeo para tornar o elemento transparente e exibir a mensagem corretamente.
Teste o exemplo e melhore suas experiências de vídeo picture-in-picture.
launch_handler.
A API Launch Handler permite controlar como seu app da Web é iniciado. Por exemplo, se ele usa uma janela existente ou uma nova e se a janela escolhida é navegada até o URL de inicialização.
Vamos conferir um exemplo: em ambientes de computador, quando você instala um app e o acessa no navegador, há um botão para ir para a janela do app independente. Antes, o único comportamento possível era iniciar o app em uma nova janela.
Agora, os apps da Web do membro do manifesto launch_handler
podem personalizar o comportamento de inicialização.
Por exemplo, o snippet abaixo faz com que todas as inicializações desse app da Web se concentrem em uma janela de app existente e naveguem até ela (se existir), em vez de sempre iniciar uma nova janela.
{
"launch_handler": {
"client_mode": "navigate-new"
}
}
credentialless
de iframes.
Um dos maiores desafios do isolamento de origem cruzada é que todos os iframes de origem cruzada precisam implantar COEP e CORP . Um iframe sem esses cabeçalhos não será carregado pelo navegador.
O atributo credentialless
ajuda a incorporar iframes de terceiros que não definem esses cabeçalhos.
Com credentialless
, o iframe é carregado usando um contexto vazio diferente. Mais especificamente, ele é carregado sem cookies. O iframe começa com um cookie jar vazio.
Da mesma forma, APIs de armazenamento, como LocalStorage, CacheStorage e assim por diante, carregam e armazenam dados na nova partição temporária. Todo esse armazenamento é liberado quando o documento de nível superior é descarregado. Isso permite remover a restrição de COEP.
Confira mais informações neste artigo sobre como usar o credentialless
com segurança para carregar conteúdo de terceiros nos iframes.
E muito mais.
E, claro, há muito mais.
O Web SQL agora é removido em contextos não seguros.
A propriedade initial-letter
(link em inglês) do CSS fornece uma maneira de definir o número de linhas que uma letra inicial precisa encaixar nas linhas de texto seguintes.
FileSystemHandle agora inclui um método remove()
.
Leia mais
Isso aborda apenas alguns destaques importantes. Verifique os links abaixo para ver outras mudanças no Chrome 110.
- Novidades do Chrome DevTools (110)
- Descontinuações e remoções do Chrome 110
- Atualizações do ChromeStatus.com para o Chrome 110
- Lista de alterações do repositório de origem do Chromium
- Agenda de lançamentos do Chrome
Fazer inscrição
Para ficar por dentro, inscreva-se no canal do YouTube para desenvolvedores do Chrome. Você receberá uma notificação por e-mail sempre que lançarmos um novo vídeo.
Meu nome é Adriana Jara, e assim que o Chrome 111 for lançado, estarei aqui para contar as novidades do Chrome.