Yeni CSS görüntü alanı birimleri, Birleşik Kimlik Bilgisi Yönetimi API'si, Değişken COLRv1 yazı tipleri ve daha fazlası.
Aksi belirtilmediği sürece aşağıda açıklanan değişiklikler Android, ChromeOS, Linux, macOS ve Windows'daki en yeni Chrome beta kanalı sürümü için geçerlidir. Sağlanan bağlantıları kullanarak veya ChromeStatus.com'daki listeden burada listelenen özellikler hakkında daha fazla bilgi edinin. Chrome 108, 27 Ekim 2022'den itibaren beta sürümündedir. En son oyunları masaüstü için Google.com'dan veya Android'de Google Play Store'dan indirebilirsiniz.
CSS
Chrome 108'de bir dizi yeni CSS özelliği var.
Değiştirilen öğeler için CSS Taşması
Chrome, geliştiricilerin mevcut overflow
özelliğini, içerik kutusunun dışına boyanan değiştirilmiş öğelerle kullanmalarına olanak tanıyan bir değişikliği kullanıma sunmaya başlayacaktır. object-view-box
ile eşlendiğinde, CSS gölgesinde olduğu gibi uygun mürekkep taşması davranışıyla özel bir parlaklık veya gölge uygulanmış bir resim oluşturmak için kullanılabilir.
Bu, zarar verme potansiyeli olan bir değişikliktir. Daha fazla bilgi için Değiştirilen öğelerdeki taşmalarda yapılan değişiklik bölümüne bakın.
Küçük, Büyük, Dinamik ve Mantıksal görüntü alanı birimleri
Bu sayede küçük (svw
, svh
, svi
, svb
, svmin
, svmax
), büyük (lvw
, lvh
, lvi
, lvb
, lvmin
, lvmax
), dinamik (dvw
, dvh
, dvi
, dvb
, dvmin
, dvmax
) ve mantıksal (vi
) vi
, vi
için destek eklendivb
CSS break-after
, break-before
ve break-inside
desteği
Yazdırma sırasında break-before
, break-after
ve break-inside
CSS parçalama özelliklerinin kaçınma değeri desteği. Bu değer tarayıcıya, uygulandığı öğenin öncesinde, sonrasında veya içinde bozulmamasını bildirir. Örneğin, aşağıdaki CSS, bir şeklin sayfa sonunda bozulmasını önler.
figure {
break-inside: avoid;
}
Bu özellik, Chrome 108'in LayoutNG yazdırmayı desteklemesi nedeniyle eklenmiştir.
Son temel öğe hizalaması
Bu özellik sayesinde geliştiriciler, esnek veya ızgara düzenindeki öğeleri ilk öğeleri yerine son referanslarına göre hizalayabilir. Bu, aşağıdaki özellikler kullanılarak gerçekleştirilir:
align-items: last baseline;
justify-items: last baseline;
align-self: last baseline;
justify-self: last baseline;
ContentVisibilityAutoStateChanged
etkinlik
Öğeyi kullanıcıyla alakalı hale getiren özelliklerden herhangi biri nedeniyle öğenin oluşturma durumu değiştiğinde content-visibility: auto
içeren bir öğede tetiklenen etkinlik.
Bu durum, kullanıcı aracısının içerik görünürlüğü alt ağacının oluşturulmasını durdurması veya başlaması durumunda, geliştiricilerin oluşturmayı ne zaman durduracağı veya başlatacağı konusunda daha fazla kontrol sahibi olmasını sağlamaktır. Örneğin geliştirici, kullanıcı aracısı tarafından oluşturulmayan bir alt ağaçta React güncellemelerine son vermek isteyebilir. Benzer şekilde geliştirici, kullanıcı aracısı öğeyi oluşturmadığında diğer komut dosyası güncellemelerini (örneğin, tuval güncellemeleri) durdurmak isteyebilir.
Web API'leri
Birleşik Kimlik Bilgisi Yönetimi (eski adıyla WebID)
Federated Credential Management API, kullanıcıların tarayıcı gizliliğinde yapılan iyileştirmelerle uyumlu bir şekilde web sitelerine giriş yapmak için birleşik kimliklerini getirmelerine olanak tanır.
Çalışanlardaki Medya Kaynağı Uzantıları
Ana pencere bağlamında bir HTMLMediaElement tarafından oynatma için arabelleğe alma medyasının daha iyi performans göstermesini sağlamak üzere DedicatedWorker bağlamlarından Medya Kaynağı Uzantıları (MSE) API kullanımını etkinleştirir. DedicatedWorker bağlamında bir MediaSource nesnesi oluşturarak uygulama, bu nesneden bir MediaSourceHandle alabilir ve bu işleyiciyi HTMLMediaElement'a eklemede kullanılmak üzere ana iş parçacığına aktarabilir. MediaSource nesnesini oluşturan bağlam, daha sonra bunu medyayı arabelleğe almak için kullanabilir.
Sec-CH-Prefers-Reduced-Motion
Kullanıcı Tercihi Medya Özellikleri İstemci İpuçları Başlığı
Kullanıcı Tercihi Medya Özellikleri İstemci İpucu Başlıkları, Medya Sorguları Düzey 5 tarafından tanımlandığı şekilde kullanıcı tercihi medya özellikleri etrafında bir grup HTTP İstemci İpuçları üst bilgilerini tanımlar. Kritik İstemci İpuçları olarak kullanılırsa bu üstbilgiler, sunucuların CSS satır içi kullanımı gibi konularda akıllı seçimler yapmasına olanak tanır. Sec-CH-Prefers-Reduced-Motion
, kullanıcının prefers-reduced-motion
tercihini yansıtır.
WebTransport BYOB okuyucuları
Geliştirici tarafından sağlanan arabelleğe alınmasına izin vermek üzere WebTransport için BYOB(kendi-arabelleğinizi getirme) okuyucularını destekler. BYOB okuyucular, arabellek kopyaları en aza indirebilir ve bellek tahsislerini azaltabilir.
İzin Politikası Kaynaklarındaki Joker Karakterler
İzin Politikası spesifikasyonu, geliştiricilerin çeşitli tarayıcı özelliklerinin ve API'lerin kullanımını seçerek etkinleştirmesine ve devre dışı bırakmasına olanak tanıyan bir mekanizma tanımlar. Bu mekanizmanın bir özelliği, özelliklerin yalnızca açıkça numaralanmış kaynaklarda (örneğin, https://foo.com/
) etkinleştirilmesine olanak tanır. Bu mekanizma, yüzlerce olası alt alan adından birinde barındırılabilecek bir kaynak üzerinden içerik sunan bazı CDN'lerin tasarımı için yeterince esnek değildir.
Bu nedenle bu özellik, izin politikasında SCHEME://*.HOST:PORT
gibi yapılandırılmış joker karakterler için destek ekler (ör. https://*.foo.com/
). Bu durumda, geçerli kaynak SCHEME://HOST:PORT
üzerinden oluşturulabilir (örneğin, https://foo.com/
). Bunun için HOST, kaydedilebilir bir alan olmasını gerektirir. Bu durumda https://*.bar.foo.com/
çalışır ancak https://*.com/
çalışmaz (tüm alanların bu özelliği kullanmasına izin vermek istiyorsanız *
için yetki vermeniz yeterlidir).
File System Access API'deki AccessHandles için senkronizasyon yöntemleri
File System Access API'de FileSystemSyncAccessHandle
içindeki flush()
, getSize()
ve truncate()
eşzamansız yöntemlerini eşzamanlı yöntemlere günceller.
FileSystemSyncAccessHandle
şu anda hem senkronizasyon hem de eşzamansız yöntemlerin bir karışımına sahip olduğundan, özellikle C/C++ yöntemini Wasm'a taşıyan uygulamalarda performansı ve kullanılabilirliği zorlaştırır. Bu güncelleme, API kullanımında tutarlılık sağlayacak ve Wasm tabanlı kitaplıkların performansını artıracaktır.
Bu, değişikliğe neden olabilecek bir değişikliktir. Daha fazla bilgi için Kırıcı değişiklik: AccessHandles için senkronizasyon yöntemleri başlıklı makaleyi inceleyin.
WebAuthn koşullu kullanıcı arayüzü
WebAuthn için koşullu kullanıcı arayüzü, Windows 22H2 veya üzeri, macOS ve Android P veya sonraki sürümlerde desteklenir. Masaüstü platformlardaki WebAuthn kullanıcı arayüzü de yenilendi.
Değişken COLRv1 yazı tipleri ve yazı tipi özelliği algılama
COLRv1 değişken yazı tipi desteği
COLRv1 renk vektör yazı tipleri Chrome 98'den beri desteklenmektedir ancak bu ilk sürüm COLRv1 tablosunun yalnızca statik işlevini destekliyordu. COLRv1 spesifikasyonu, değişken eksen parametrelerini değiştirerek renk geçişlerinin ve dönüştürmelerin yazı tipi özelliklerinin değiştirilmesine olanak tanıyan OpenType Varyasyonları ile entegrasyonu tanımlar. Bu ikinci adım, bu tür varyasyonlar için COLRv1'e destek sağlar.
CSS @supports adreslerine font-tech()
ve font-format()
koşul uzantıları
font-tech()
ve font-format()
özelliklerini CSS @supports ile birlikte kullanmak, yazı tipi teknolojisinin ve biçim desteğinin algılanmasını ve içeriklerin kademeli olarak geliştirilmesini sağlar. Aşağıdaki örnek, COLRv1 yazı tiplerini desteklemeyi test eder.
@supports font-tech(color-COLRv1) {
}
@font-face src:
açıklayıcıda tech()
işlevi desteği
CSS Yazı Tipleri Düzey 4, yazı tipi kaynaklarını seçmek veya filtrelemek için ek yöntemler sunar. Bu ilgili yazı tipi blobu'nun çalışması için gereken yazı tipi teknolojileri listesinin geçirilmesine olanak tanıyan tech()
işlevi kullanıma sunuldu. Kullanıcı Aracısı, buna göre ilk uygun kaynağı seçer.
Android cihazda Chrome
Android OSK artık görsel görüntü alanını varsayılan olarak yeniden boyutlandırıyor
Android Ekran Klavyesi, başlangıçtaki kapsayıcı blok yerine görsel görüntü alanını varsayılan olarak yeniden boyutlandırır. Yazarlar, yeni interactive-widget
meta görünüm alanı anahtarını kullanarak bu özelliği devre dışı bırakabilir.
Kaynak denemeleri
Chrome'un bu sürümünde iki yeni kaynak denemesi yapıldı.
canmakepayment
etkinliğindeki satıcı kimliği
canmakepayment
hizmet çalışanı etkinliği, satıcının kullanıcının yüklü bir ödeme uygulamasında kayıtlı bir kartının olup olmadığını bilmesini sağlar. Satıcının kaynak ve rastgele verileri, ödeme uygulaması kaynağından bir hizmet çalışanına sessizce aktarılır. Kaynaklar arası iletişim, JavaScript'te PaymentRequest
yapısında gerçekleşir, kullanıcı hareketi gerektirmez ve herhangi bir kullanıcı arayüzü göstermez. "canmakepayment" etkinliğindeki kimlik alanlarını kaldırmaya yönelik geliştirici denemesi, chrome://flags/#clear-identity-in-can-make-payment
aracılığıyla etkinleştirilebilir. Bu işaretin etkinleştirilmesi "canmakepayment" etkinliğindeki (ve Android IS_READY_TO_PAY
amacındaki) kimlik alanlarını boşaltır.
Ödeme İşleyici API'sinin CanMakePayment etkinlik davranışıyla ilgili güncelleme bölümünden daha fazla bilgi edinebilirsiniz.
Geri-ileri önbellek NotRestoredNedeni API'si
NotRestoredWhy API'si, Performance NavigationTiming API aracılığıyla çerçeve ağaç yapısında bir sayfanın BFcache'den sunulmamasının nedenlerinin listesini bildirir.
Spesifikasyonun gerektirdiği nedenler ve tarayıcı uygulamasına özgü nedenler gibi farklı nedenlerle sayfaların BFcache'de engellenmesi engellenebilir. Geliştiriciler, pageshow işleyici kalıcı parametresini ve PerformanceNavigationTiming.type(back-forward)
öğesini kullanarak sitelerinde BFCache'in isabet oranını toplayabilir. Bu API, sitelerin geçmiş gezinmesinde BFCache'nin neden kullanılmadığı hakkında bilgi toplamasına olanak tanır. Böylece siteler her nedenden dolayı işlem yapabilir ve sayfalarını BFCache ile uyumlu hale getirebilir.
Kullanımdan kaldırma ve kaldırma işlemleri
Chrome'un bu sürümü, aşağıda listelenen kullanımdan kaldırma ve kaldırma işlemlerini sunmaktadır. Planlanan kullanımdan kaldırma, mevcut desteği sonlandırma ve önceki kaldırma listeleri için ChromeStatus.com adresini ziyaret edin.
Kullanımdan kaldırmalar
Chrome'un bu sürümünde bir özellik kullanımdan kaldırıldı.
window.defaultStatus
ve window.defaultstatus
öğelerini kullanımdan kaldırın ve kaldırın
Bunlar, tüm tarayıcılar tarafından uygulanmayan ve tarayıcı davranışı üzerinde etkisi olmayan standart dışı API'lerdir. Bu işlem parmakları temizler ve olası parmak izi sinyalini kaldırır.
Başlangıçta tarayıcı pencerelerinin en altında bulunan "durum çubuğu" metnini değiştirmek/kontrol etmek için kullanılıyorlardı. Ancak bunlar, Chrome'un durum çubuğu üzerinde hiçbir zaman gerçek bir etkiye sahip değildir ve standartlaştırılmış özellikler değildir. Gecko, sürüm 23'ten beri bu özellikleri desteklememiştir; WebKit ise bu özellikleri desteklemeye devam etmektedir. İlgili window.status
özelliği standartlaştırılmıştır ancak pencere durum çubuğunu hiçbir zaman etkilememelidir.
Kaldırma işlemleri
Chrome'un bu sürümünde dört özellik kaldırıldı.
ImageDecoderInit.premultiplyAlpha
modunu kaldır
Bu özelliğin birincil kullanım alanlarında gözlemlenebilir etkisi yoktur ancak uygulamaları yetersiz şekillerde kısıtlayabilir. Daha ayrıntılı bir açıklama için bu soruna bakın. WebCodecs spesifikasyon düzenleyicilerinin fikir birliği ve kullanım eksikliği (M106'da kullanım başına sayfa yüklemelerinin %0,000000339 - %0,00000687'si).
navigateEvent.restoreScroll()
modunu kaldır
restoreScroll()
, navigateEvent.scroll()
ile değiştiriliyor. scroll()
, geliştiricinin gezinme olmayan gezinmeler için kaydırma zamanlamasını kontrol etmesine izin vermesi dışında aynı şekilde çalışır (scroll()
, kaydırma bir geri yükleme işlemi gerçekleştirilmediğinde çalışır. Bu nedenle davranış değişikliğiyle birlikte ad da değişir).
navigateEvent.transitionWhile()
modunu kaldır
transitionWhile()
, geliştiriciler tarafından bildirilen tasarım kusurları nedeniyle navigateEvent.intercept()
ile değiştiriliyor. intercept(), migrationAmount() ile neredeyse aynı şekilde çalışır, ancak zorunlu bir Promise parametresi almak yerine, bir Promise döndüren isteğe bağlı bir işleyici işlevi kullanır. Bu, tarayıcının işleyicinin ne zaman çalışacağını kontrol etmesine olanak tanır. Bu, transitionWhile()
için olduğundan daha sonra ve daha sezgiseldir.
WebRTC mediaConstraint'in googIPv6
özelliğini kaldırın
"googIPv6: false"
, aşağıdaki örnekte olduğu gibi WebRTC'de IPv6 desteğini devre dışı bırakmak için kullanılabilir.
new RTCPeerConnection({}, {mandatory:{googIPv6:false}});
IPv6 uzun yıllardır varsayılan olarak etkin olduğu için devre dışı bırakamıyoruz. Bu, spesifikasyonda bulunmayan eski bir API'dir.