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 belirtilmedikçe aşağıda açıklanan değişiklikler Android, ChromeOS, Linux, macOS ve Windows için en yeni Chrome beta kanalı sürümünde geçerlidir. Sağlanan bağlantıları kullanarak veya ChromeStatus.com sayfasındaki listeden burada listelenen özellikler hakkında daha fazla bilgi edinebilirsiniz. Chrome 108, 27 Ekim 2022 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
Chrome 108 bir dizi yeni CSS özelliği içeriyor.
Değiştirilen öğeler için CSS Taşması
Chrome, geliştiricilerin mevcut overflow
özelliğini içerik kutusunun dışına boyayan değiştirilmiş öğelerle kullanmasına olanak tanıyan bir değişikliği kullanıma sunmaya başlayacak. object-view-box
ile eşlendiğinde, özel parlaklık veya gölge uygulanmış, CSS gölgesi gibi uygun mürekkep taşması davranışıyla resim oluşturmak için kullanılabilir.
Bu olası bir zarar verme değişikliğidir. Daha fazla bilgiyi Değiştirilen öğelerin taşmasıyla ilgili değişiklik bölümünde bulabilirsiniz.
Küçük, Büyük, Dinamik ve Mantıksal görüntü alanı birimleri
Bu özellik; 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
, vb
) birimler için destek sağlar.
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 özellikleri için kaçınma değeri desteği. Bu değer, tarayıcıya uygulandığı öğenin öncesinde, sonrasında veya içinde kırılmayı önlemesini bildirir. Örneğin, aşağıdaki CSS, bir rakamın sayfa sonunda bozulmasını önler.
figure {
break-inside: avoid;
}
Bu özellik, Chrome 108'in LayoutNG yazdırma desteği eklemesinden dolayı eklenmiştir.
Son temel öğe hizalaması
Bu özellik, geliştiricilerin esnek veya ızgara düzenindeki öğeleri ilk referans değerleri yerine son referans çizgisine göre hizalamalarına olanak tanır. Bu işlem, aşağıdaki özellikler aracılığıyla yapılır:
align-items: last baseline;
justify-items: last baseline;
align-self: last baseline;
justify-self: last baseline;
ContentVisibilityAutoStateChanged
etkinlik
Öğeyi kullanıcıyla alakalı yapan özelliklerden herhangi biri nedeniyle öğenin oluşturma durumu değiştiğinde, content-visibility: auto
içeren bir öğede tetiklenen etkinlik.
Kullanım alanı, kullanıcı aracısının içerik görünürlüğü alt ağacını oluşturmaya başlamasının durmasına veya işlemeye başlamasına karşılık, geliştiricilerin oluşturmayı ne zaman durduracakları veya başlatacakları konusunda daha fazla kontrol sahibi olmalarını sağlamaktır. Örneğin geliştirici, kullanıcı aracısı tarafından oluşturulmayan bir alt ağaçtaki React güncellemelerini durdurmak 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 Web Kimliği)
Federated Credential Management API, kullanıcıların birleşik kimliklerini tarayıcı gizliliğiyle ilgili iyileştirmelerle uyumlu şekilde web sitelerine giriş yapmak üzere getirmelerine olanak tanır.
Çalışanlarda Medya Kaynağı Uzantıları
Ana Pencere bağlamında HTMLMediaElement tarafından oynatılacak arabelleğe alan medyanın performansının iyileştirilmesi için DedicatedWorker bağlamlarından Medya Kaynağı Uzantıları (MSE) API kullanımını etkinleştirir. DedicatedWorker bağlamında MediaSource nesnesi oluşturulduğunda, uygulama ondan bir MediaSourceHandle'ı alabilir ve bu tutma yerini, HTMLMediaElement'a eklemede kullanılmak üzere ana iş parçacığına aktarabilir. MediaSource nesnesini oluşturan bağlam, 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 İpuçları Başlıkları, Medya Sorguları Düzey 5 tarafından tanımlandığı şekilde kullanıcı tercihi medya özelliklerinin etrafında bir dizi HTTP İstemci İpucu başlıkları tanımlar. Kritik İstemci İpuçları olarak kullanıldığında bu üstbilgiler, sunucuların CSS satır içi işlemleri 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ı
WebTransport'a yönelik BYOB(kendi arabelleğinizi getirin) okuyucuları destekleyerek geliştiricinin sağladığı arabelleğe okuma yapılmasına olanak tanır. BYOB okuyucuları arabellekteki 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'lerinin kullanımını seçerek etkinleştirmelerine ve devre dışı bırakmaları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, mümkün olan birkaç yüz alt alan adından birinde barındırılabilecek bir kaynak üzerinden içerik gönderen bazı CDN'lerin tasarımı için yeterince esnek değildir.
Dolayısıyla bu özellik, SCHEME://HOST:PORT
üzerinden (örneğin, https://foo.com/
) geçerli bir Kaynak oluşturulabildiği SCHEME://*.HOST:PORT
gibi yapılandırılmış izin politikasındaki joker karakterler için destek (ör. https://*.foo.com/
) ekler. Bunun için HOST alan adının kaydedilebilir bir alan olması gerekir. Bu durumda https://*.bar.foo.com/
çalışır ancak https://*.com/
çalışmaz (tüm alanların özelliği kullanmasına izin vermek istiyorsanız yetkilendirmeyi *
adlı kullanıcıya vermelisiniz).
File System Access API'deki AccessHandles için senkronizasyon yöntemleri
File System Access API'deki FileSystemSyncAccessHandle
içinde yer alan flush()
, getSize()
ve truncate()
eşzamansız yöntemlerini eşzamanlı yöntemler olarak günceller.
FileSystemSyncAccessHandle
şu anda hem senkronizasyon hem de eşzamansız yöntemlerin bir karışımına sahip olduğundan özellikle C/C++ ürününü Wasm'a taşıyan uygulamalarda performansı ve kullanılabilirliği aksatıyor. Bu güncelleme, API kullanımında tutarlılık sağlayacak ve Wasm tabanlı kitaplıkların performansını artıracaktır.
Bu, zarar verme potansiyeli olan bir değişikliktir. Daha fazla bilgiyi Kırma değişikliği: AccessHandles için senkronizasyon yöntemleri başlıklı makalede bulabilirsiniz.
WebAuthn koşullu kullanıcı arayüzü
WebAuthn için koşullu kullanıcı arayüzü, Windows 22H2 veya sonraki sürümlerde, 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 sürümünden itibaren desteklenir, ancak bu ilk sürüm yalnızca COLRv1 tablosunun 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, COLRv1'e bu tür varyasyonlar için destek sağlar.
font-tech()
ve font-format()
koşul uzantıları CSS @supports hesabına gönderilir
font-tech()
ve font-format()
özelliklerinin CSS @supports ile birlikte kullanılması, yazı tipi teknolojisinin ve biçim desteğinin algılanmasına ve içeriğin aşamalı olarak iyileştirilmesine olanak tanır. Aşağıdaki örnek, COLRv1 yazı tiplerinin desteklenmesini sağlar.
@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 araçlar sağlar. Bu ilgili yazı tipi blobunun çalışması için gereken yazı tipi teknolojilerinin bir listesinin aktarılmasını sağlayan tech()
işlevi kullanıma sunuldu. Kullanıcı Aracısı buna dayanarak uygun ilk 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üntü alanı anahtarını kullanarak bu özelliği devre dışı bırakabilir.
Kaynak denemeleri
Chrome'un bu sürümünde iki yeni kaynak denemesi bulunmaktadır.
canmakepayment
etkinliğindeki satıcı kimliği
canmakepayment
hizmet çalışanı etkinliği, satıcıya kullanıcının yüklü bir ödeme uygulamasında kayıtlı bir kartı olup olmadığını bildirir. Satıcının kaynağını ve rastgele verilerini, ödeme uygulaması kaynağından hizmet çalışanına sessizce iletir. Bu çapraz kaynak iletişimleri, JavaScript'teki PaymentRequest
yapısında gerçekleşir ve kullanıcı hareketi gerektirmez ve herhangi bir kullanıcı arayüzü göstermez. "canmakepayment"daki kimlik alanlarını kaldırmak için geliştirici denemesi Etkinlik şu yolla etkinleştirilebilir: chrome://flags/#clear-identity-in-can-make-payment
. Bu işaretin etkinleştirilmesi, "canmakepayment" öğesindeki kimlik alanlarını boşa çıkarır etkinliği (ve Android IS_READY_TO_PAY
Amacı).
Ödeme İşleyici API'sinin CanMakePayment etkinlik davranışı için güncelleme bölümünden daha fazla bilgi edinebilirsiniz.
Geri-ileri önbellek NotRestoredNedeni API'si
NotRestored reason API, bir sayfanın bir çerçeve ağacı yapısında BFcache'den yayınlanmamasının nedenlerinin listesini PerformanceGezinmeTiming API'si aracılığıyla bildirir.
Sayfalar, spesifikasyonun gerektirdiği nedenler ve tarayıcı uygulamasına özgü nedenler gibi farklı nedenlerle BFcache'den engellenebilir. Geliştiriciler, sayfa gösterisi işleyici kalıcı parametresini ve PerformanceNavigationTiming.type(back-forward)
öğesini kullanarak sitelerindeki BFCache'in isabet oranını toplayabilir. Bu API, sitelerin geçmiş gezinme sırasında BFCache'in neden kullanılmadığına dair bilgi toplamasına olanak tanır. Böylece siteler her sebeple ilgili işlem yapabilir ve sayfalarını BFCache uyumlu hale getirebilir.
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.
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, cihazları temizler ve olası dijital parmak izi sinyallerini kaldırır.
Başlangıçta "durum çubuğunu" değiştirmek/kontrol etmek için kullanılıyordu metnini tıklayın. Bununla birlikte, Chrome'un durum çubuğu üzerinde hiçbir etkisi olmamışlardır ve standartlaştırılmış özellikler değildirler. Gecko, sürüm 23'ten beri bu özellikleri desteklemiyor; WebKit, bu özellikleri hâlâ desteklemektedir. İlgili window.status
özelliği standart hale getirilmiştir, ancak pencere durum çubuğu üzerinde hiçbir zaman bir etkisi olmamalıdır.
Kaldırma işlemleri
Chrome'un bu sürümü dört özelliği kaldırıyor.
ImageDecoderInit.premultiplyAlpha
bilgisini kaldır
Özelliğin birincil kullanım alanlarında gözlemlenebilir bir 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 %0,000000339 - kullanım sayacı başına sayfa yüklemelerinin% 0,00000687'si).
navigateEvent.restoreScroll()
bilgisini kaldır
restoreScroll()
, navigateEvent.scroll()
ile değiştiriliyor. scroll()
, geliştiricinin, geçiş olmayan gezinmeler için kaydırma zamanlamasını kontrol etmesine olanak tanıması dışında aynı şekilde çalışır (scroll()
, kaydırma geri yükleme olmadığında çalışır, dolayısıyla davranış değişikliğiyle birlikte ad da değişir).
navigateEvent.transitionWhile()
bilgisini kaldır
Geliştiricilerin bildirdiği tasarım hataları nedeniyle transitionWhile()
, navigateEvent.intercept()
ile değiştiriliyor. Intercept() işlevi, migrationExample() ile neredeyse aynı şekilde davranır. Ancak zorunlu bir Promise parametresi yerine Promise değeri döndüren isteğe bağlı bir işleyici fonksiyonu alır. Bu, tarayıcının işleyicinin ne zaman yürütüleceğini kontrol etmesine olanak tanır. Bu, transitionWhile()
için olduğundan daha geç ve daha sezgiseldir.
WebRTC mediaConstraintt tarafından googIPv6
öğesini kaldır
"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 yıllardır varsayılan olarak etkinleştirilmiş durumda ve devre dışı bırakamayız. Bu, spesifikasyonda bulunmayan eski bir API.