Chrome 147 beta

Data di pubblicazione: 11 marzo 2026

Se non diversamente indicato, le seguenti modifiche all'ultima release del canale beta di Chrome per Android, ChromeOS, Linux, macOS e Windows. Scopri di più su queste funzionalità seguendo i link forniti o visitando ChromeStatus.com. Puoi scaricare l'ultima versione beta da Google.com per il computer o dal Google Play Store su Android.

Intervallo denominato della cronologia scroll

Questa funzionalità espande l'insieme di intervalli denominati di ViewTimelines, aggiungendo un intervallo scroll.

L'API Scroll-Driven Animations ha introdotto ViewTimelines insieme a intervalli denominati che fanno riferimento a porzioni di un ViewTimeline che definiscono l'intervallo di un'animazione.

Tuttavia, tutti gli intervalli denominati forniti erano limitati alla parte del ViewTimeline in cui è visibile il soggetto. È utile per gli autori fare riferimento all'intera estensione del contenitore di scorrimento sottostante la cronologia. Questa funzionalità aggiunge un intervallo denominato di scroll al set esistente (entry, exit, cover, contain).

CSS contrast-color()

Puoi utilizzare questa funzione per soddisfare i requisiti di contrasto per l'accessibilità.

La funzione contrast-color() può essere utilizzata ovunque in CSS dove è previsto un valore di colore. Accetta un argomento di valore del colore e restituisce black o white a seconda di quale offre il contrasto più elevato rispetto all'argomento del colore.

CSS border-shape

CSS border-shape ti consente di creare bordi non rettangolari, con qualsiasi forma arbitraria (ad esempio polygon, circle, shape()).

Sebbene border-shape accetti le stesse forme di clip-path, è fondamentalmente diverso: border-shape definisce la forma del bordo, lo decora e ritaglia solo l'interno.

border-shape ha due varianti: una che traccia una forma e un'altra che riempie lo spazio tra due forme.

Transizioni di visualizzazione con ambito elemento

Espone Element.startViewTransition() su elementi HTML arbitrari. L'elemento stabilisce un ambito per la transizione, il che significa che gli pseudo-elementi di transizione sono interessati da ritagli e trasformazioni degli elementi padre e che più transizioni su elementi separati possono essere eseguite contemporaneamente.

Aggiornamento CSS: separazione delle proprietà width e style

Chrome è in linea con le specifiche CSS aggiornate per il comportamento delle proprietà border-width, outline-width e column-rule-width. In precedenza, se border-style, outline-style o column-rule-style corrispondente era impostato su none o hidden, la larghezza calcolata di queste proprietà era forzata a 0px, indipendentemente dal valore specificato.

Con questa modifica, i valori calcolati di border-width, outline-width e column-rule-width riflettono sempre i valori specificati dall'autore, indipendentemente dalla proprietà *-style. Inoltre, i valori risolti (restituiti da getComputedStyle()) per outline-width e column-rule-width riflettono anche i valori specificati.

La modifica allinea Chrome a Firefox e WebKit, che hanno già implementato questo comportamento.

Interfaccia CSSPseudoElement

L'interfaccia CSSPseudoElement rappresenta uno pseudo-elemento in JavaScript.

CSSPseudoElement viene restituito da Element.pseudo(type), dove type è: ::after, ::before, ::marker. CSSPseudoElement è un oggetto proxy che rappresenta uno pseudo-elemento, quindi, a differenza di uno pseudo-elemento, CSSPseudoElement esiste sempre.

CSSPseudoElement ha i seguenti attributi/metodi:

  • L'attributo type è una stringa che rappresenta il tipo di pseudo-elemento.
  • L'attributo element è l'elemento di origine finale dello pseudo-elemento.
  • L'attributo parent è l'elemento di origine dello pseudo-elemento (l'elemento o CSSPseudoElement per gli pseudo-elementi nidificati).
  • Il metodo pseudo(type) per recuperare gli pseudo-elementi nidificati.

Targeting pseudonimi sugli eventi

Eventi specifici vengono estesi per avere .pseudoTarget che è CSSPseudoElement (se l'interazione è avvenuta con uno pseudo-elemento) o null.

Fornisce informazioni più specifiche sull'origine dell'evento, ad esempio che non è stato fatto clic solo su un elemento di origine finale (Event.target), ma più specificamente su ::after. Tieni presente che Event.target è rimasto invariato, quindi l'evento contiene solo informazioni aggiuntive sull'interazione con lo pseudo-elemento.

Gli eventi sono UIEvent, AnimationEvent, TransitionEvent.

mouseover, mouseout, mouseenter, mouseleave e le relative controparti pointer* non sono supportati.

Rilevamento dei piani WebXR

L'API WebXR Plane Detection consente ai siti di recuperare l'insieme di piani rilevati nell'ambiente dell'utente. In questo modo, gli sviluppatori devono fare meno lavoro e la funzionalità è più potente rispetto all'utilizzo della funzionalità WebXR di rilevamento della profondità, perché i piani, ad esempio le pareti che gli oggetti occludono, possono comunque essere rappresentati completamente se il sistema conosce i confini della parete. Una mappa di profondità mostrerebbe il muro, ma gli oggetti davanti al muro lo spezzerebbero, oscurando potenzialmente la sua intera estensione. Inoltre, le informazioni sull'etichettatura semantica sono disponibili quando il dispositivo conosce queste etichette e rientrano in categorie predefinite, il che fornisce una migliore conoscenza del mondo.

Livelli WebXR

WebXR Layers offre un modo più efficiente per disegnare contenuti immersivi.

Oltre al supporto per le texture di colore e profondità native e gli array di texture, fornisce anche supporto per diversi tipi di livelli gestiti dal compositore di sistema anziché da JavaScript.

Analisi XML in Rust per scenari non XSLT

Stiamo spedendo il parser XML Rust per gli scenari in cui siamo certi che non sia necessario alcun trattamento XSLT.

Il parser XML Rust migliora la sicurezza eliminando i bug di corruzione della memoria nell'analisi XML. È progettato per sostituire il nostro utilizzo di libxml2 (scritto in C) con un'alternativa sicura.

Chrome sta ritirando XSLT. Mentre questo processo continua, puoi già utilizzare l'analisi XML sicura di Rust negli scenari in cui non è richiesto XSLT:

Aggiunge il supporto per i tipi di moduli JSON e di stile come destinazioni <link rel="modulepreload">. <link rel="modulepreload"> è già supportato in Chromium (vedi https://chromestatus.com/feature/5762805915451392), ma supporta solo i moduli di script di precaricamento. Questa funzionalità colma una lacuna funzionale, in quanto gli script dei moduli JSON e CSS sono supportati in Chromium altrove, ma non come destinazioni <link rel="modulepreload">. I moduli Style possono essere precaricati con <link rel="modulepreload" as="style" href="..."> e i moduli JSON possono essere precaricati con <link rel="modulepreload" as="json" href="...">.

Math.sumPrecise

Una proposta TC39 per aggiungere un metodo per sommare più valori a JavaScript.

Aggiungi un metodo Math.sumPrecise che accetta un iterabile e restituisce la somma dei valori nell'iterabile utilizzando un algoritmo più preciso della somma ingenua.

Supporto dell'attributo path sull'elemento SVG <textpath>

Questa modifica aggiunge il supporto dell'attributo path all'elemento SVG <textPath>, consentendo agli autori di definire la geometria del percorso del testo in linea utilizzando i dati del percorso SVG e riducendo la necessità di elementi <path> definiti separatamente.

<textPath> risolve la geometria del percorso del testo utilizzando le seguenti regole:

  1. Se sono presenti sia path che href, la geometria viene risolta dall'attributo path.
  2. Se è presente e viene analizzato correttamente solo l'attributo path, viene utilizzata la definizione del percorso in linea.
  3. Se l'attributo path è assente o non viene analizzato e viene fornito un attributo href, l'elemento <path> a cui viene fatto riferimento viene utilizzato come riserva.
  4. Il comportamento esistente solo per href viene mantenuto senza modifiche.

Questa implementazione segue la definizione dell'attributo path di <textPath> nella specifica SVG 2 e il comportamento di risoluzione è coerente con altri motori del browser, migliorando l'interoperabilità e la conformità agli standard.

Ottenere le funzionalità di conferma del pagamento sicuro

Aggiunge un nuovo metodo statico alla richiesta di pagamento che consente agli sviluppatori web di ottenere le funzionalità dell'implementazione della conferma di pagamento sicura del browser.

In questo modo, gli sviluppatori web possono sapere quali funzionalità sono disponibili per la conferma di pagamento sicura e decidere se utilizzarla con queste funzionalità.

Aggiornamento dei limiti dell'API Device Memory

Aggiornamento a un nuovo insieme di valori possibili per l'API Device Memory:

  • Android: 1, 2, 4, 8
  • Altre: 2, 4, 8, 16, 32.

Sostituzione dei vecchi valori 0,25, 0,5, 1, 2, 4, 8, che sono diventati obsoleti.

In questo modo si riducono i rischi di fingerprinting nella parte inferiore perché le funzionalità dei dispositivi sono migliorate da quando sono state impostate.

Limitazioni di accesso alla rete locale sul service worker WindowClient.navigate()

Di recente sono state aggiunte limitazioni di accesso alla rete locale (LNA) per impedire ai siti web di effettuare unilateralmente richieste alle reti locali e ai dispositivi locali. È stato aggiunto per le richieste di recupero avviate da service worker, ma non è stato applicato alle navigazioni eseguite dai service worker tramite WindowClient.navigate

Questo lancio colma questa lacuna aggiungendo restrizioni LNA alle chiamate WindowClient.navigate(), utilizzando WindowClient come iniziatore della navigazione per determinare se la navigazione è una richiesta LNA.

Ciò si applica solo se il WindowClient a cui viene eseguita la navigazione è un subframe; Chrome non applica alcuna restrizione LNA alle navigazioni del frame principale.

Limitazioni di accesso alla rete locale per WebSocket

Le limitazioni di accesso alla rete locale (LNA) verranno estese per includere i WebSocket. Le connessioni WebSocket all'indirizzo locale ora attivano richieste di autorizzazione.

Tutte le policy aziendali LNA si applicano ancora alle limitazioni di LNA WebSockets, tra cui LocalNetworkAccessAllowedForUrls, LocalNetworkAccessBlockedForUrls e LocalNetworkAccessRestrictionsTemporaryOptOut.

Per saperne di più su LNA, consulta la sezione Accesso alla rete locale.

Limitazioni di accesso alla rete locale per WebTransport

Limita la possibilità di effettuare richieste alla rete locale dell'utente utilizzando WebTransport, protetto da un prompt di autorizzazione.

Una richiesta di rete locale è qualsiasi richiesta da un sito web pubblico a un indirizzo IP locale o loopback oppure da un sito web locale (ad esempio, intranet) a loopback. Limitare la possibilità per i siti web di eseguire queste richieste dietro un'autorizzazione riduce la capacità dei siti di utilizzare queste richieste per identificare la rete locale dell'utente.

Questa autorizzazione è limitata ai contesti sicuri.

Solo IWA: API Web Printing

Questa API consente un'integrazione più profonda con le funzionalità relative alla stampante nelle app web isolate (IWA).

L'API Web Printing fornisce un insieme di metodi JavaScript che consentono agli sviluppatori di eseguire query sulle stampanti locali, inviare processi di stampa alle stampanti più appropriate e gestire le opzioni e lo stato dei processi di stampa. Per rappresentare questi concetti, si basa sui nomi e sulla semantica degli attributi delle specifiche del protocollo di stampa internet (IPP).

Nuove prove dell'origine

In Chrome 147 puoi attivare le seguenti nuove prove dell'origine.

Container Timing

L'API Container Timing ti consente di monitorare quando le sezioni annotate del DOM vengono visualizzate sullo schermo e hanno completato il rendering iniziale. Uno sviluppatore può contrassegnare le sottosezioni del DOM con l'attributo containertiming (simile a elementtiming per l'API Element Timing) e ricevere voci di prestazioni quando la sezione è stata visualizzata per la prima volta. Questa API consente agli sviluppatori di misurare la tempistica di vari componenti nelle loro pagine.

Evento di compilazione automatica

La compilazione automatica è una funzionalità chiave del web che riduce le difficoltà per milioni di utenti ogni giorno. Tuttavia, far funzionare l'autocompilazione in modo affidabile con i moduli dinamici in più implementazioni può essere complesso.

Questa funzionalità aggiunge un evento autofill che viene attivato quando il browser sta per compilare automaticamente un campo del modulo. Ciò consente agli sviluppatori di modificare i propri moduli in modo che si adattino ai dati compilati automaticamente e di comunicare al browser quando hanno completato l'operazione.

Elemento di installazione HTML dell'app web

Consente a un sito web di chiedere in modo dichiarativo agli utenti di installare un'app web. L'elemento accetta facoltativamente due attributi che consentono l'installazione di contenuti da un'origine diversa.

Liste consentite di connessioni

Gli elenchi consentiti di connessioni sono una funzionalità progettata per fornire un controllo esplicito sugli endpoint esterni limitando le connessioni avviate utilizzando l'API Fetch o altre API della piattaforma web da un documento o un worker.

L'implementazione proposta prevede la distribuzione di un elenco di endpoint autorizzati dal server tramite un'intestazione della risposta HTTP. Prima di stabilire qualsiasi connessione da parte dello user agent per conto di una pagina, l'agente valuta la destinazione in base a questa lista consentita; le connessioni agli endpoint verificati sono consentite, mentre quelle che non corrispondono alle voci dell'elenco vengono bloccate.

Ritiri e rimozioni

Questa versione di Chrome introduce le seguenti deprecazioni e rimozioni. Visita ChromeStatus.com per visualizzare gli elenchi di ritiri pianificati, ritiri attuali e rimozioni precedenti.

Questa release di Chrome ritira la funzionalità X.

Rimuovi XSLT incorporato per la produzione di SVG

Stiamo iniziando a eliminare gradualmente XSLT incorporato per la produzione di SVG. Viene implementato in sincronia con i test sperimentali del parser XML basato su Rust e non viene implementato immediatamente al 100% nella versione di rilascio della spedizione contrassegnata.

Un file XML creato appositamente può contenere un foglio di stile XSL che trasforma dati XML generici in un file SVG.

Esempio: https://gist.github.com/drott/1fc70b3c7f0ac314d1fe2e5beecc5490?short_path=1c60adf

Si tratta di un caso speciale di elaborazione XSLT che, in base alle misurazioni dell'utilizzo, Chrome considera praticamente inesistente sul web. Chrome prevede di ritirare e rimuovere questo particolare utilizzo di XSLT prima di eliminare completamente XSLT.