Chrome 108 Beta

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.