CSS ızgara alt ızgarası, CSS giriş ve çıkış animasyonu desteği, dizi gruplandırması, yineleme yardımcıları ve daha fazlası.
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ı kullanarak veya ChromeStatus.com sayfasındaki listeden burada listelenen özellikler hakkında daha fazla bilgi edinebilirsiniz. Chrome 117, 16 Ağustos 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 altı yeni CSS özelliği eklendi. İlk üç özellik, giriş ve çıkış animasyonlarını etkinleştiren ayrı mülklerde geçişleri etkinleştirme işleminin bir parçasıdır.
@starting-style kuralı
Bu kuyruklu kural, yazarların ilk stil güncellemesinde CSS geçişlerini başlatmasına olanak tanır.
CSS geçişleri, bir öğenin ilk stil güncellemesinde veya none
olan görüntüleme türü başka bir türe değiştiğinde ilk stillerden geçişleri tetiklemez. Bunun amacı, başlangıç stillerinden beklenmedik geçişleri önlemektir. İlk stil güncellemesinden geçiş başlatmak için artık bir @starting-style
kuralının içinden stil uygulayabilirsiniz. Örneğin, aşağıdaki CSS, bir div öğesinin ilk stil güncellemesinde yeşilden limon rengine bir arka plan rengi geçişi başlatıyor:
div {
transition: background-color 0.5s;
background-color: lime;
}
@starting-style {
div {
background-color: green;
}
}
Yer paylaşımı özelliği
overlay
özelliği, geliştiricilerin çıkış geçişi için öğeleri üst katmanda tutmalarına olanak tanır. Yer paylaşımı özelliği, bir öğenin üst katmanda olup olmadığını belirtmek için eklenir ve iki değer alabilir: none
veya auto
.
CSS geçiş davranışı özelliği
transition-behavior
CSS özelliği, geçişlerde ayrı özelliklerin kullanılmasına olanak tanıyan transition
özelliğinin bir uzun öğesidir. Geçiş davranışı için allow-discrete
değeri belirtildiğinde, ayrı özellikler animasyonları başlatır ve ilk değerlerinden %50'deki son değerlerine dönüşür. display: none
ve content-visibility: hidden
değerlerinin başlangıç veya nihai değerlerden biri olduğu geçişlerde görünür değer, geçiş süresinin tamamı boyunca kullanılır.
CSS tablosu alt ızgara değeri
grid-template-columns
ve grid-template-rows
için subgrid
değeri artık Chrome'da uygulandı. Bu değer, iç içe yerleştirilmiş bir ızgaranın satırlar, sütunlar veya her ikisi için yeni bir izleme tanımı oluşturmak yerine üst öğede tanımlanan kanalları kullanmasına olanak tanır.
CSS metin kaydırma: güzel
CSS text-wrap
özelliğinin pretty
değeri, hız yerine en iyi düzen için optimizasyon yapar. Gövde metni için tasarlandığından birden çok satır bekler. Geliştiriciler pretty
kullanarak, performansı optimize eden wrap
düzeninden daha yavaş olabilecek bir düzen yöntemini açıkça etkinleştiriyor. Chrome'daki mevcut uygulama, bir metin paragrafının altında tek bir kelimenin görüntülenmesini engellemek için artıklar için optimizasyon yapar.
Chrome 117'de bu text- sarmalatma: güzellik demosunu deneyin ve değerin metin sunumunu nasıl değiştirdiğini görün.
include-intrinsic-size: "otomatik yok desteği"
Bu özellik, mevcut contain-intrinsic-size
söz dizimini auto && none
içerecek şekilde genişletir.
Web API'leri
Dizi gruplandırması
Dizi gruplandırması, çok sık kullanılan bir işlemdir. Bunun en iyi örneği SQL'in GROUP BY ifadesi ve MapReduce programlaması (bu, Map-group-reduce şeklinde daha iyi düşünülebilir). Verileri gruplar halinde birleştirme özelliği, geliştiricilerin bir grubun ortalama yaşı veya bir web sayfasının günlük LCP değerleri gibi daha yüksek düzeydeki veri kümelerini hesaplamalarına olanak tanır. Bu özellik, Object.groupBy
ve Map.groupBy
statik yöntemlerini ekleyerek bunu mümkün kılar. Object yöntemi, grupların özellik anahtarları olduğu düz bir nesne döndürür. Map yöntemi, anahtarların rastgele değerler olabileceği bir Harita döndürür.
Delete-Site-Data Başlığını Kullanarak İstemci İpuçlarını Temizle
Web siteleri artık Clear-Site-Data: "clientHints"
kullanarak istemci ipuçları önbelleğini temizleyebilecek. İstemci ipuçları artık "çerezler", "önbellek" veya "*" olduğunda da temizlenecek aynı başlıkla hedeflenir. Bunun nedeni, kullanıcı arayüzü istemci ipuçlarındaki çerezleri temizlerse istemci ipucu önbelleğinin de bir önbellek olmasıdır ve joker karakter hedefleriyle tutarlı olmasını sağlar.
Delete-Site-Data başlığıyla ilgili joker karakter söz dizimi
Web siteleri artık Clear-Site-Data: "*"
göndererek tüm depolama alanı hedeflerini ("çerezler", "önbellek" ve "depolama alanı") temizleyebilecek. Chrome'un "executionContexts" temizlemeyi desteklemediğini unutmayın şu an için, ancak gelecekte "*" hedefleyen bir başlık eklersek bunları da temizler.
customElements.getName
customElements.getName()
yöntemi, belirtilen özel öğe tanımının etiket adını döndürür.
Yineleme yardımcıları
Yineleme aracı yardımcıları, yinelemelerin genel kullanımına ve tüketimine olanak tanıyan, yinelemeli prototip üzerinde yeni yöntemlerdir.
CaptureController'ı EventTarget arayüzünden türetme
CaptureController arayüzü, ekran görüntüsü oturumunda daha fazla değişiklik yapılmasına imkan tanır. Gelecekte bir yakalama oturumuyla ilgili etkinliklerin bu denetleyiciye gönderilmesi beklenir. Bu tür etkinlikler için işleyicileri yönetebilmek amacıyla CaptureController
üzerinde EventTarget
yöntemleri sunulmuştur.
PerformanceResourceTiming deliveryType
PerformanceResourceTiming
öğesinin deliveryType
özelliği, bir kaynağın nasıl yayınlandığı hakkında bilgi döndürür. Örneğin, önbellekten yayınlanan kaynaklar (şu anda transferSize
aracılığıyla kullanıma sunulmuştur) ve önceki sayfa tarafından önceden getirilen gezinmeler.
URL belirleyicilerde bağlantı noktası taşma kontrolü
url.port
ayarlanırken bağlantı noktası değeri kontrol edilecek. 16 bitlik sayısal sınırı aşan hiçbir değer artık geçerli olmaz. Örneğin, aşağıdaki komut dosyası değişiklikten sonra farklı davranır:
u = new URL("http://test.com");
u.port = 65536;
console.log(u.port);
Değişiklikten önce çıktı değeri 65536'dır. Değişiklikten sonra çıktı 80 olur.
Gizlilik Jetonu API'sı
Bu, üçüncü taraf çerezler gibi siteler arası kalıcı tanımlayıcılar kullanmadan sınırlı özel sinyalleri sitelerde yayan yeni bir API'dir. Üçüncü taraf çerezlerine dayanan sahtekarlıkla mücadele yöntemleri, üçüncü taraf çerezleri için destek sonlandırıldıktan sonra çalışmayacaktır. Private State Token API, sahtekarlıkla mücadele sinyalleri oluşturmaz veya tanımlamaz. Bu, ilgili birinci tarafa ve jetonu veren kuruluşlara bağlıdır. Daha ziyade, API bu sinyallerde aktarılan bilgilere ilişkin sınırları zorunlu kılarak gizliliği korur. API, IETF tarafından standartlaştırılma sürecinde olan Gizlilik Kartı protokolünün bir varyantına dayanır. Gizlilik Kartı protokollerinin web'de kullanıma sunulmuş bir biçimi olarak değerlendirilebilir. Bu API spesifikasyonu, yeni sürümler ve jeton türleri için güncellenecek ve Gizlilik Bileti çalışma grubu teknik özellikleriyle güncel tutulacaktır. Beklenen değişiklikler, temel şifreleme protokollerinde ve jeton verme kodunda olacaktır: Geliştiriciye yönelik verilme ve kullanma Getirme API'lerinde değişiklik beklenmemektedir. Private State Token API'nin eski adı Trust Token API'ydi. Temel anlamları daha doğru yansıtacak ve kullanıcılara gizlilik avantajlarını öne çıkaracak şekilde yeniden adlandırıldı.
URL Standard uyumlu IPv4 yerleştirilmiş IPv6 ana makine ayrıştırıcısı
IPv4 yerleştirilmiş IPv6 ana makine ayrıştırıcısını ayrıştırma davranışı, web URL standardına kesinlikle uygun şekilde güncellenecektir. IPv6 adresinde uygulanan kısıtlamalar şunlardır:
- Yerleştirilmiş IPv4 adresi her zaman 4 bölümden oluşmalıdır.
http://[::1.2]
gibi 4'ten az bölümü olan adresler artık geçerli olmaz. Bu özellik, URL birlikte çalışabilirlik 2023 programının bir parçasıdır.
URL: "%00" öğesine izin ver geçerli bir URL yolu olarak
Chrome şu anda URL'nin yol bölümünde "%00" varsa bir URL'yi geçersiz olarak kabul etmektedir (veya null) biçiminde olduğundan URL Standardı ile uyumlu değildir. Örneğin, new URL(...)
Geçersiz URL istisnasına yol açtığı için aşağıdaki test Chrome'da başarısız olur.
assertEquals(new URL("http://example.com/%00").pathname, "/%00");
URL Standardı'na göre, URL yolundaki herhangi bir karakter veya bayt dizisi, URL'yi geçersiz kılmamalıdır ve bu değişiklik Chrome'u söz konusu standardı takip edecek şekilde günceller.
WebRTC RTP üst bilgisi uzantısı kontrolü
Hangi RTP başlık uzantıları için pazarlık yapılmasını sağlamak için WebRTC RTCRtpTransceiver
API'yi genişletin.
VideoEncoder'daki kare başına miktar belirleyici
"Kantizer" kelimesini ekler VideoEncoder için VideoEncoderBitrateMode
.
Bu; AV1, VP9 ve AVC video codec'leri için her bir kare için bir miktar belirleyici parametresi belirtme olanağı sağlar.
requestDevice()
içindeki WebUSB exclusionFilters
seçeneği
navigator.usb.requestDevice()
ürünündeki exclusionFilters
seçeneği, web geliştiricilerinin bazı cihazları tarayıcı seçiciden hariç tutmalarına olanak tanır. Daha geniş bir filtreyle eşleşen ancak desteklenmeyen cihazları hariç tutmak için kullanılabilir.
Kaynak denemeleri devam ediyor
Chrome 117'de aşağıdaki yeni kaynak denemelerini etkinleştirebilirsiniz.
Paylaşılan Brotli ile sıkıştırma sözlüğü aktarma
Bu özellik, belirtilen önceki yanıtların Brotli'yi sıkıştırmak için HTTP yanıtlarını sağlayan harici bir sözlük olarak kullanılmasına yönelik destek sağlar.
SıkıştırmaDictionaryTransport kaynak denemesi için kaydolun.
WebSQL desteği sonlandırma denemesi
WebSQL, Chrome'dan kaldırılıyor. Bu altyapıyı kullanan sitelerin Wasm üzerinden SQLite'a geçmesi önerilir.
Bu desteği sonlanan deneme, taşıma işlemi için daha fazla zamana ihtiyaç duyan geliştiricilere Chrome 123'e (Mart 2024) kadar WebSQL'i kullanmaya devam etme olanağı tanır. WebSQL desteği sonlandırma denemesine kaydolun.
Sekmeli web uygulamaları
Web uygulaması pencerelerinde bir sekme şeridi olmasına izin verin (örneğin, aynı uygulama içinde birden fazla dokümanı düzenlemek için). Bu işlem, yeni bir "sekmeli" görüntüleme modu ekler ve sekme şeridinde özelleştirmelere olanak tanıyan yeni bir manifest alanı içerir.
Sekmeli Web Uygulamaları kaynak denemesine kaydolun.
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 iki özellik kullanımdan kaldırıldı.
Kaldırma etkinliği desteğini sonlandır
Chrome 117, unload
etkinlik işleyicisini kullanımdan kaldırma işlemini başlatır. Siteniz bunları kullanıyorsa daha ayrıntılı bilgi için unload
özelliğinin kullanımdan kaldırılmasıyla ilgili özel yayını okumanızı önemle tavsiye ederiz.
TLS SHA-1 sunucu imzalarını kullanımdan kaldırma
Chrome, TLS el sıkışması sırasında sunucu imzaları için SHA-1 kullanan imza algoritmaları desteğini kaldırıyor. Bu durum, kaldırılmış olan sunucu sertifikaları veya desteklemeye devam eden istemci sertifikalarında SHA-1 desteğini etkilemez.
Chrome'un bu sürümü dört özelliği kaldırıyor.
[WebRTC] Geri çağırmaya dayalı eski getStats() işlevini kaldırma
RTCPeerConnection'a ait iki getStats()
sürümü vardır. Bunlardan biri, bir sözü çözümleyerek rapor döndürme özelliğiyle uyumlu olan, diğeri ise ilk bağımsız değişken olarak geri çağırma yoluyla çok farklı bir rapor döndüren, standart dışı sürümdür. Geri çağırmaya dayalı olan artık kaldırıldı.
Taşıma ve daha fazla zamana ihtiyacınız varsa yapmanız gerekenler hakkında daha fazla bilgi edinmek için Eski getStats() taşıma rehberini inceleyin.
WebRTC getStats datachannelIdentifier için -1 değerinin kaldırılması
WebRTC getStats API, bir dataChannelIdentifier mülkü sunar. Artık "-1" değerini sağlamaz Bu durumlarda, istatistiklerin veri kanalı bağlantısı kurulmadan önce sorgulanır. Bunun yerine sözlük üyesi atlanır.
WebRTC getStats encoderImplementation ve decoderImplementation "unknown" öğesinin kaldırılması
WebRTC getStats API, giden ve gelen video için kodlayıcı ve kod çözücü uygulama adlarını gösterir. Bir video karesi kodlanmadan veya kodu çözülmeden önce istatistiklerin sorgulandığı durumlarda artık "unknown"')}> değerini sağlamayacak. Bunun yerine sözlük üyesi atlanır.
CSS özelliği -webkit-highlight
Metni vurgulaması amaçlanan ancak hiçbir zaman standart hale getirilmemiş CSS mülkünü -webkit-highlight
kaldırın. Chromium'da görünür bir etkisi yoktur (ayrıştırılır ancak içerik oluşturmada hiçbir zaman kullanılmaz). Mülk 2014'te WebKit'ten kaldırıldı, MDN'de desteği sonlandırıldı olarak işaretlendi ve kısa bir süre önce CSS Öne Çıkan Sözde Spesifikasyon spesifikasyonu ile değiştirildi.