Chrome 120 Beta

CSS maskeleme, CSS iç içe yerleştirme kuralları rahatlatılmış, <details> öğesi ve Media Session API için enterpictureinpicture işlemi ile akordeon kalıpları oluşturma

Aksi belirtilmedikçe, açıklanan değişiklikler Android, ChromeOS, Linux, macOS ve Windows için en yeni Chrome beta kanalı sürümüne uygulanır. Sağlanan bağlantılar aracılığıyla veya chromestatus.com adresindeki listeden bu özellikler hakkında daha fazla bilgi edinebilirsiniz. Chrome 120, 1 Kasım 2023 itibarıyla beta sürümündedir. En son çıkan uygulamayı masaüstü için Google.com'dan veya Android'de Google Play Store'dan indirebilirsiniz.

CSS

Bu sürümde yedi yeni CSS özelliği eklendi.

Kayıtlı özel özellikler için CSS <image> söz dizimi

@property veya registerProperty() ile kayıtlı özel mülkler için <image> söz diziminin kullanılmasını destekler. Özel özelliğin değerlerini url() değerleri ve gradyanlar gibi oluşturulmuş görüntülerle kısıtlamak için <image> söz dizimi kullanılabilir.

Kayıtlı özel özellikler için CSS <transform-function> ve <transform-list> söz dizimi

@property veya registerProperty() ile kayıtlı özel mülkler için <transform-function> ve <transform-list> söz diziminin kullanılmasını destekler.

Söz dizimi, dönüşümleri temsil edecek özel özelliğin değerlerini kısıtlamak için kullanılabilir. Bu, geçişlerin ve animasyonların doğrudan bu kayıtlı özel özelliklerde kullanılmasına da olanak tanır.

Medya Sorguları: komut dosyası özelliği

Komut dosyası yazma medya özelliği, JavaScript gibi kodlama dillerinin geçerli dokümanda desteklenip desteklenmediğini sorgulamak için kullanılır. Geçerli seçenekler "etkin", "yalnızca başlangıç" ve "hiçbiri"dir. Ancak, 'yalnızca ilk kullanım' hiçbir zaman bir tarayıcının içinde eşleşmez.

:dir() sözde sınıf seçici

:dir() CSS sözde sınıf seçicisi, öğeleri HTML dir özelliğine göre belirlenen yöne dayalı olarak eşleştirir.

:dir(ltr), soldan sağa metin yönüyle eşleşiyor. :dir(rtl), sağdan sola metin yönü olan öğeleri eşleştirir.

dir özelliğine sahip bir üst öğeden devralınan yönlerle eşleşmesi nedeniyle ve dir=auto kullanımından hesaplanan yönle eşleştiğinden (güçlü yöndeki metindeki ilk karakterden yönü belirler) eşleştiğinden, [dir] özellik seçicileriyle eşdeğer değildir.

CSS üstel işlevleri

CSS Değerleri ve Birim Düzeyi 4 spesifikasyonundan CSS üstel işlevlerini ekler: pow(), sqrt(), hypot(), log() ve exp().

CSS maskeleme

CSS mask ve mask-image ile mask-mode gibi ilgili özellikler, resmi belirli noktalarda maskeleyerek veya kırparak bir öğeyi (kısmi veya tamamen) gizlemek için kullanılır.

Bu özellik, -webkit-mask* özelliklerinin önekini kaldırır ve bunları mevcut spesifikasyonla uyumlu hale getirir. Buna mask-image, mask-mode, mask-repeat, mask-position, mask-clip, mask-origin, mask-size ve mask-composite ile mask kısaltması dahildir. Yerel mask-image referansları destekleniyor, serileştirme artık spesifikasyonla eşleşiyor ve kabul edilen değerler artık spesifikasyonla eşleşiyor (örneğin, mask-composite için source-over yerine add).

Rahat CSS iç içe yerleştirme

CSS iç içe yerleştirme uygulamasında yapılan bu değişiklik, iç içe yerleştirilmiş stil kurallarının bir öğeyle başlamasına olanak tanır. Örneğin, başında & simgesini gerektirmek veya is() ile sarmalanmak yerine h1 gibi. Aşağıdaki örnek artık spesifikasyonda geçerlidir ve Chrome 120'de çalışmaktadır.

.card {
  h1 {
    /* h1 does not start with a symbol */
  }
}

HTML

<details> üzerinde ad özelliğini kullanan akordeon deseni

Bu özellik, bir dizi HTML <details> öğesi kullanarak akordeon oluşturma olanağı sağlar. <details> öğesine bir ad özelliği ekler. Bu özellik kullanıldığında, aynı ada sahip birden fazla <details> öğesi bir grup oluşturur. Gruptaki en fazla bir öğe aynı anda açık olabilir.

Web API'leri

ArrayBuffer'ın VideoFrame, AudioData, EncodedVideoChunk, EncodedAudioChunk ve ImageDecoder kurucularına aktarılmasına izin ver

Bu, dizi arabelleklerinin ayrılmasına ve VideoFrame, ImageDecoder, EncodedVideoChunk, EncodedAudioChunk, AudioData içindeki karşılık gelen arabelleklerin bir kopya olmadan kullanılmasına olanak tanır.

CSS Font Upload API FontFaceSet: check() yöntemi

FontFaceSet check() yöntemi, FontFaceSet içindeki yükleme tamamlanmamış yazı tiplerini kullanmaya çalışmadan, belirtilen yazı tipleri kullanılarak metin görüntülemenin mümkün olup olmadığını doğrular. Bu, kullanıcıların daha sonra bir yazı tipi değişimini tetiklemeden yazı tipini güvenli bir şekilde kullanmasına olanak tanır.

İstekleri ve CloseWatcher'ı kapat

Kapatma istekleri, kullanıcıların masaüstünde Esc tuşunu veya Android'de geri hareketi ya da düğmesini kullanarak açık olan bir öğeyi kapatma isteklerini içeren yeni bir kavramdır. Bunların Chrome'a entegre edilmesi iki değişikliği beraberinde getirir:

  • CloseWatcher, yakın istekleri doğrudan dinlemek ve yanıtlamak için kullanabileceğiniz yeni bir API'dir.
  • Android geri düğmesine yanıt vermek için yeni kapatma isteği çerçevesini kullanmak üzere <dialog> ve popover="" sürümlerine geçer.

Özel çalışanlar ve Storage Access API

Özel çalışanlar üst bağlamın depolama erişim durumunu devralır. Bu nedenle, bir doküman document.requestStorageAccess() üzerinden depolama alanı erişimi edinir ve ardından özel bir çalışan oluşturursa çalışan da depolama alanına sahip olur (ve bölümlendirilmemiş çerezlere erişebilir).

FedCM: Error API ve AutoSelectedFlag API

Geliştiricilerin ve kullanıcıların kimlik doğrulama akışını daha iyi anlamasına yardımcı olmak için özel API'ler. Her iki API de kullanıcı izninin ardından bir kimlik sağlayıcı ile web sitesinde veya uygulamada (bu bağlamda bağlı taraf (RP) olarak bilinir) oturum açtığında tetiklenir. Başka bir deyişle, kullanıcı Farklı devam et düğmesini tıkladıktan sonra.

Hata API'si ile bir kullanıcının oturum açma denemesi başarısız olursa kimlik sağlayıcı, hem kullanıcıları hem de RP geliştiricilerini güncel tutmak için nedenleri tarayıcıyla paylaşabilir.

AutoSelectedFlag API ile hem kimlik sağlayıcı hem de RP geliştiricileri, oturum açma kullanıcı deneyimini daha iyi anlayabilir ve performans ile segment metriklerini buna göre değerlendirebilir.

Daha fazla bilgiye FedCM Chrome 120 blog yayınından ulaşabilirsiniz.

Kısıtlanmış Çerçeveler işleviyle ilgili güncellemeler

Özel Korumalı Alan'daki Protected Audience API'de Protected Audience reklam boyutu makroları için ek bir biçim seçeneği vardır. Etkinleştirme özelliği, açık artırmayı kazanmış reklamın boyutunu reklamın URL'sine eklemek için makroları kullanmanıza olanak tanır. Örneğin:

https://ad.com?width={/%AD_WIDTH%}&height={/%AD_HEIGHT%}

Protected Audience'taki diğer makro türleriyle (ör. deprecatedReplaceInURN ve registerAdMacro() tarafından kullanılanlar) daha tutarlı olması için Chrome 120'de makrolar için mevcut biçimin yanı sıra ${AD_WIDTH} ve ${AD_HEIGHT} biçimlerini kullanma özelliğini ekliyoruz.

Otomatik işaretçiler artık kayıtlı tüm URL'lere gönderilir. Daha önce, yalnızca setReportEventDataForAutomaticBeacons() çağrısı yapılırken belirtilen hedefler, iş akışında reserved.top_navigation için registerAdBeacon() olarak adlandırılsa bile otomatik işaretçiler alıyordu. Artık reserved.top_navigation için registerAdBeacon() çağrısı yapan tüm hedeflere otomatik işaretçi gönderilecek, ancak işaretçiyle birlikte yalnızca setReportEventDataForAutomaticBeacons() içinde belirtilen hedefler otomatik işaretçi verilerini alacaktır. setReportEventDataForAutomaticBeacons() öğesindeki once parametresi artık işaretçinin tamamının bir kez gönderilip gönderilmediğini belirlemek yerine, verilerin bir kez gönderilip gönderilmeyeceğini belirleyecek.

Kesişim Gözlemci Kaydırma Marjı

Kesişim Gözlemcisi scrollMargin, geliştiricilerin, kaydırma kapsayıcıları tarafından kırpılmış olan iç içe yerleştirilmiş kaydırma kapsayıcılarının içindeki hedefleri gözlemlemelerine olanak tanır. Bu, kesişim hesaplanırken kapsayıcının kırpma dikdörtgeninin scrollMargin genişletilmesiyle gerçekleştirilir.

İzin politikası ihlali raporları

Bu özellik, Permissions Policy API'yi Reporting API ile entegre ederek web geliştiricilerinin izin politikası ihlali raporlarının gönderileceği uç noktaları yapılandırmasına olanak tanır ve böylece site sahipleri, alanlarında izin verilmeyen özellikler istendiğinde site sahiplerinin bunları görmesini sağlar.

Ayrıca, raporların önerilen bir politikaya (Content-Security-Policy-Report-Only politikasına benzer) göre gönderilmesini sağlayan Permissions-Policy-Report-Only üst bilgisini de içerir. Böylece politika değişiklikleri, normal, zorunlu kılma modunda uygulanmadan önce olası kesintilere karşı değerlendirilebilir.

Media Session API: enterpictureinpicture işlemi

Media Session API'sine bir enterpictureinpicture işlemi ekler. Web siteleri, Pencere İçinde Pencere veya Doküman Penceresi pencerelerini açmak için kullanılabilecek bir işlem işleyici kaydedebilir.

Web uygulamaları için otomatik pencere içinde pencere başlıklı makaleden daha fazla bilgi edinebilirsiniz.

WebGPU f16 desteği

WebGPU gölgelendiricilerinde (WGSL) yarı duyarlı kayan nokta türünün f16 kullanılmasına olanak tanır.

Geliştiriciler 'shader-f16' kullanabilir Bu özellik için WebGPU spesifikasyonu ve "f16" uzantısına izin verir.

MediaCapabilities: decodingInfo() ile HDR desteğini sorgulayın

Media Capabilities API'yi genişleterek, üç yeni VideoConfiguration sözlüğü alanı aracılığıyla HDR oluşturma desteğinin algılanmasına olanak tanır: hdrMetadataType, colorGamut ve transferFunction. Chrome kendi ton eşleme algoritmalarını uyguladığından HDR10 (smpteSt2086) statik meta verileri için her zaman "doğru" değerini döndürür. HDR10+ (smpteSt2094-10) ve Dolby Vision (smpteSt2094-40) dinamik meta veriler şu anda desteklenmediğinden yanlış değerini döndürür. Gelecekte dinamik meta veri desteği sunmayı planlıyoruz. Bu nedenle bu API, geliştiricilerin, desteğe sahip kullanıcılar için uygun içeriği seçmelerine olanak tanıyacaktır.

MediaStreamTrack İstatistikleri (Video)

Bir video türündeki MediaStreamTrack'ler için kare sayaçlarını (yayınlanan, silindi, toplam) gösteren bir API. Ses istatistikleri, Chrome'un ayrı bir özelliği lansmanıyla karşılanacaktır.

Private Aggregation API: toplama koordinatörü seçimi

Yük şifrelemesi için hangi koordinatörün kullanılacağını seçmek üzere bir mekanizma sağlamak için Private Aggregation API'de yapılan değişiklikler (satıcı tarafından belirtilen izin verilenler listesinden). Hizmet seçimi, run() ve selectURL() SharedStorage çağrılarının yanı sıra runAdAuction() ve joinAdInterestGroup() Protected Audience çağrılarında ek bir seçenekle yapılır. Geniş kapsamlı yaklaşım, Attribution Reporting API'nin yaklaşımıyla büyük ölçüde uyumludur.

FedCM'deki Login Status API

Login Status API (eski adıyla IdP Sign-in Status API), kullanıcıları giriş yaparken veya kapatırken kimlik sağlayıcıların tarayıcıya sinyal vermesine olanak tanır.

FedCM, bu durumu sessiz zamanlama saldırısıyla mücadele etmek için kullanır ve bu sayede FedCM'nin üçüncü taraf çerezleri olmadan çalışmasına olanak sağlar.

Bu API ileride daha fazla alanda kullanılabilir hale gelebilir.

Daha fazla bilgiye duyuru blog yayınından ulaşabilirsiniz.

Geçişleri görüntüle: Geri çağırmayı null olamaz

startViewTransition çağrısı şu anda varsayılan değeri null olan isteğe bağlı boş değer içeren bir geri çağırma türü (startViewTransition(optional UpdateCallback? callback = null)) alıyor.

Bu özellik, bunu null olmayan bir tür olacak şekilde değiştirir: startViewTransition(optional UpdateCallback callback).

TLS için X25519Kyber768 anahtarı kapsülleme

Kyber768 kuantuma dirençli anahtar anlaşması algoritmasını dağıtarak mevcut Chrome TLS trafiğini gelecekteki kuantum kripto analizine karşı koruyun. Bu, IETF standardına dayalı karma bir X25519 + Kyber768 anahtar sözleşmesidir. Bu spesifikasyon ve lansman, W3C'nin kapsamı dışındadır. Bu anahtar sözleşmesi, bir TLS şifresi olarak kullanıma sunulacak ve kullanıcılar tarafından şeffaf şekilde belirtilmelidir.

Kaynak denemeleri devam ediyor

Chrome 120'de aşağıdaki yeni kaynak denemelerine kaydolabilirsiniz.

"öncelik" HTTP istek başlığı

Bu özellik tüm HTTP istekleri için priority istek başlığını, isteğin gönderildiği sırada öncelik bilgileriyle birlikte ekler.

RFC 9218 (HTTP için Genişletilebilir Öncelik Şeması), bir "öncelik" tanımlar Kaynaklara (ve aracılara) yönelik sinyal isteği önceliğini göndermek için kullanılacak HTTP istek başlığı. Ayrıca, aynı öncelik bilgilerini taşımak üzere HTTP/2 ve HTTP/3 için pazarlık süreçlerini ve protokol düzeyinde çerçeveleri de tanımlar. Üst bilgi, bir kaynağın ilk önceliğini yalnızca ilk istendiğinde sinyal sağlayabilir. Kare tabanlı mekanizmalar ise önceliğin daha sonra değiştirilmesine izin verir. Çerçeveler bağlantı düzeyinde çalışacak şekilde sınırlandırılmışken başlık, kaynak sunuculara uçtan uca çalışabilir (ve aracılar tarafından tanınması durumunda kaynağın önceliği geçersiz kılacak bir mekanizma sağlar). Bu özellik, özellikle başlık tabanlı öncelik şemasını desteklemek için kullanılır.

Storage Access API'nin, üçüncü taraf bağlamında bölümlendirilmemiş (çerez ve çerez olmayan) depolamaya erişime izin verecek şekilde genişletilmesini (geriye dönük uyumlu) öneriyoruz.

Karma içeriği rahatlatmak için Özel Ağ Erişimi izni

Global olarak benzersiz adları olmayan ve bu nedenle TLS sertifikalarını alamayan yerel bir ağ üzerinde bulunan cihazlara bağlantı kurmak için bu özellik, fetch() uygulamasına geliştirici bildirecek yeni bir seçenek sunar. böyle bir cihazla konuşma niyetinde olması gerekir. Bu özellik, her sitenin bu özelliğe erişimi ve ek meta veriler sağlamak için sunucunun kontrol öncesi yanıtının yeni üst bilgilerini sağlar.

Özel Ağ Erişimi izin istemi kaynak denemesine kaydolun.

Performance.measureUserAgentSpecificMemory() öğesine sınırsız erişim

Performance.measureUserAgentSpecificMemory(), yalnızca kökler arası erişime kapalı ortamlarda (COOP/COEP arkasında) kullanılabilir. Bu özellik, COOP/COEP tam olarak dağıtılamadığında regresyon testlerine ve etki ölçümüne olanak tanımak için COOP/COEP kısıtlamasını ortadan kaldırır. Performance.memory (eski API) çalışanlarda hiç etkinleştirilmediğinden bu amaçla kullanılamayacağını unutmayın.

performance.measureUserAgentSpecificMemory()

Bu özellik, web sayfasının bellek kullanımını tahmin eden bir performance.measureUserAgentSpecificMemory() işlevi ekler. API'yi kullanmak için web sitesinde kökler arası erişime kapalı olması gerekir.

Kullanımdan kaldırma ve kaldırma işlemleri

Chrome'un bu sürümü, aşağıda listelenen desteği sonlandırma ve kaldırma işlemlerini sunar. Planlanan desteği sonlandırma, mevcut desteği sonlandırma ve önceki kaldırma işlemlerinin listesi için ChromeStatus.com adresini ziyaret edin.

Chrome'un bu sürümünde bir özellik kullanımdan kaldırıldı.

Theora desteğini sonlandırma ve kaldırma

Chrome, yeni güvenlik riskleri nedeniyle masaüstü Chrome'da Theora video codec'i desteğini sonlandıracak ve kaldıracaktır. Theora'nın düşük (ve artık çoğu zaman yanlış) kullanımı, artık çoğu kullanıcı için desteği haklı çıkarmıyor.

Chrome'un bu sürümü iki özelliği kaldırıyor.

Verileri kaldır: SVGUseElement öğesindeki URL

Veri atama: SVGUseElement öğesindeki URL, XSS'e neden olabilir. Bu durum Güvenilir Türler özelliğinin atlanmasına da yol açtı. Bu nedenle, içeriğe verilen desteği sonlandırmayı ve kaldırmayı planlıyoruz.

CSPEE'de aynı kaynaklı genel yaptırımı kaldır

Aynı kaynaklı iframe'ler için İGP Yerleştirilmiş Zorunlu Kılmadan özel uygulamayı kaldırır. Bu, çapraz kaynak iframe'ler ve aynı kaynaklı iframe'ler için CSP Yerleştirilmiş Zorunluluk'u uygulama davranışıyla uyumludur.