Chrome 117 Beta

CSS ızgara alt ızgarası, CSS için giriş ve çıkış animasyonu desteği, dizi gruplandırma, yineleme yardımcıları ve daha fazlası.

Aksi belirtilmediği sürece, açıklanan değişiklikler Android, ChromeOS, Linux, macOS ve Windows'un 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 117, 16 Ağustos 2023 itibarıyla beta sürümündedir. Masaüstü için Google.com'dan veya Android'de Google Play Store'dan en son güncellemeleri 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 çalışmasının bir parçasıdır.

@starting-style kuralı

Bu 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 ilk stillerden geçişleri veya none olan görüntüleme türü başka bir türe geçişleri tetiklemez. Bunun amacı, ilk stillerden beklenmedik geçişleri önlemektir. İlk stil güncellemesinden geçiş başlatmak için artık stilleri bir @starting-style kuralından uygulayabilirsiniz. Örneğin, aşağıdaki CSS bir div öğesinin ilk stil güncellemesinde yeşilden kireç rengine bir arka plan rengi geçişi başlatır:

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 öğeleri çıkış geçişi için üst katmanda tutmalarını sağlar. 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 uzun bir parçasıdır. Geçiş davranışı için allow-discrete değeri belirtildiğinde, kesik özellikler animasyonları başlatır ve ilk değerlerinden %50'lik son değerlerine çevirir. display: none ve content-visibility: hidden değerlerinin başlangıç veya son değerlerden biri olduğu geçişlerde görünür değer geçiş süresinin tamamı boyunca kullanılır.

CSS ızgara alt ızgara değeri

grid-template-columns ve grid-template-rows için subgrid değeri artık Chrome'da uygulandı. Bu değer, satırlar, sütunlar veya her ikisi için yeni bir izleme tanımı oluşturmak yerine, iç içe yerleştirilmiş bir ızgaranın üst öğede tanımlanan kanalları kullanmasına olanak tanır.

CSS text-wrap: 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 kullandığında, performansı optimize eden wrap seçeneğinden daha yavaş olabilen bir düzen yöntemini açıkça etkinleştirmiş olur. Chrome'daki geçerli uygulama, bir paragrafın altında tek bir kelimenin görüntülenmesini önlemek için orphans için optimize edilmiştir.

Chrome 117'de bu text-wrap: güzel demosunu deneyerek değerin metin sunumunu nasıl değiştirdiğini görün.

contains-intrinsic-size: otomatik hiçbiri desteği

Bu özellik, mevcut contain-intrinsic-size söz dizimini auto && none öğesini de içerecek şekilde genişletir.

Web API'leri

Dizi gruplama

Dizi gruplama, oldukça yaygın bir işlemdir. Bu işlemi SQL'in GROUP BY yan tümcesi ve MapReduce programlama yöntemi (map-group-reduce ile daha iyi düşünülür) en iyi şekilde örnekleyebilir. Verileri gruplar halinde birleştirebilme özelliği, geliştiricilerin bir kohortun ortalama yaşı veya bir web sayfasının günlük LCP değerleri gibi daha yüksek düzeydeki veri kümelerini hesaplamasına olanak tanır. Bu özellik, Object.groupBy ve Map.groupBy statik yöntemlerini ekleyerek bunu etkinleştirir. Object yöntemi, grupların mülk anahtarları olduğu düz bir nesne döndürür. Harita yöntemi, anahtarların rastgele değerler olabileceği bir Harita döndürür.

Clear-Site-Data başlığı aracılığıyla İstemci İpuçlarını Temizle

Web siteleri artık Clear-Site-Data: "clientHints" kullanarak istemci ipuçları önbelleğini temizleyebilecek. Artık "çerezler", "önbellek" veya "*" aynı başlık tarafından hedeflendiğinde istemci ipuçları da temizlenecek. Bunun nedeni, kullanıcı, kullanıcı arayüzü istemci ipuçlarındaki çerezleri temizlerse bunların da temizlenmesi, istemci ipuçları önbelleğinin bir önbellek olması ve sırasıyla joker karakter hedefleriyle tutarlı olmasıdır.

Clear-Site-Data başlığı joker karakter söz dizimi

Web siteleri artık Clear-Site-Data: "*" göndererek tüm depolama hedeflerini ("çerezler", "önbellek" ve "depolama alanı") temizleyebilir. Chrome'un şu anda "executionContexts" öğesinin temizlenmesini desteklemediğini, ancak ileride eklersek "*" ile başlayan herhangi bir üstbilginin bunları da temizleyeceğini unutmayın.

customElements.getName

customElements.getName() yöntemi, belirtilen özel öğe tanımının etiket adını döndürür.

Yineleme yardımcıları

Yineleyici yardımcılar, yineleyicilerin genel kullanımına ve tüketimine olanak tanıyan, iterasyonlu prototip üzerinde kullanılan yeni yöntemlerdir.

CaptureController'ın EventTarget arayüzünden türetilmesini sağlayın

CaptureController arayüzü, ekran görüntüsü alma oturumunda daha fazla işlem yapılmasını sağlar. Gelecekte, bir yakalama oturumuyla ilgili etkinliklerin bu denetleyiciye gönderilmesi beklenir. Bu tür etkinlikler için işleyicileri yönetebilmek amacıyla EventTarget yöntemleri CaptureController ürününde kullanıma sunulmuştur.

PerformanceResourceTiming deliveryType

PerformanceResourceTiming öğesinin deliveryType özelliği, bir kaynağın nasıl yayınlandığına ilişkin bilgileri döndürür. Önbellekten yayınlanan kaynaklar (şu anda transferSize ile kullanıma sunulan) ve önceki sayfa tarafından önceden getirilen gezinmeler buna örnek gösterilebilir.

URL belirleyicilerde bağlantı noktası taşma kontrolü

url.port ayarlanırken bağlantı noktası değeri kontrol edilir. 16 bitlik sayısal sınırı aşan değerlerin hiçbiri 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ı 65536'dır. Değişiklikten sonra çıkış 80 olur.

Gizlilik Jetonu API'si

Bu, üçüncü taraf çerezler gibi siteler arası kalıcı tanımlayıcıları kullanmadan sitelerde sınırlı özel sinyalleri yaymaya yönelik yeni bir API'dir. Üçüncü taraf çerezlerini kullanan sahtekarlıkla mücadele yöntemleri, üçüncü taraf çerezleri kullanımdan kaldırıldıktan sonra işe yaramayacaktır. Private State Token API, sahtekarlıkla mücadele sinyalleri oluşturmaz veya tanımlamaz. Bu, ilgili birinci tarafa ve jeton veren kuruluşlara bağlıdır. Bunun yerine API, bu sinyallerde aktarılan bilgilere uygulanan 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 sunulan bir biçimi olarak kabul edilebilir. API spesifikasyonu, yeni sürümler ve jeton türleri için güncellenecek ve Gizlilik Kartı çalışma grubu teknik özellikleriyle güncel tutulacaktır. Beklenen değişiklikler temel şifreleme protokolleri ve jeton verme kodunda olacaktır: Geliştiricinin sertifika verme ve kullanma Getirme API'lerinde değişiklik beklemiyoruz. Private State Token API daha önce Trust Token API olarak biliniyordu. Temel anlamı daha doğru yakalamak ve kullanıcılara gizlilik avantajlarını vurgulamak için yeniden adlandırıldı.

URL Standart 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 tam olarak uyacak şekilde güncellenecektir. IPv6 adresi için getirilen kısıtlamalar şunlardır:

  • Yerleştirilmiş IPv4 adresi her zaman 4 bölümden oluşmalıdır.
  • http://[::1.2] gibi 4 bölümden kısa adresler artık geçerli olmaz. Bu özellik, URL birlikte çalışabilirlik 2023'ün bir parçasıdır.

URL: Geçerli URL yolu olarak "%00" kullanılmasına izin ver

Chrome şu anda bir URL'nin yol kısmı URL Standardı ile uyumlu olmayan "%00" (veya null) değeri içeriyorsa URL'yi geçersiz kabul eder. Örneğin, new URL(...) Geçersiz URL istisnası oluşturduğundan 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 sırası URL'yi geçersiz hale getirmemelidir. Bu değişiklik, Chrome'u söz konusu standarda uyacak şekilde günceller.

WebRTC RTP başlık uzantısı kontrolü

Hangi RTP başlık uzantılarının pazarlık yapılacağını kontrol edebilmek için WebRTC RTCRtpTransceiver API'sini genişletin.

VideoEncoder'da kare başına niceleyici

VideoEncoder için "quantizer" VideoEncoderBitrateMode ekler. Bu; AV1, VP9 ve AVC video codec'lerinin her karesi için bir miktar belirleyici parametresi belirtme olanağı sağlar.

requestDevice() bölgesinde 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ç tutması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 denemelerine kaydolabilirsiniz.

Shared Brotli ile sıkıştırma sözlüğü aktarımı

Bu özellik, belirtilen önceki yanıtların Brotli'de sıkıştırılan HTTP yanıtlarını sıkıştırmak için harici bir sözlük olarak kullanılması konusunda destek sağlar.

SıkıştırmaDictionaryTransport kaynak denemesine kaydolun.

WebSQL'yi kullanımdan kaldırma denemesi

WebSQL, Chrome'dan kaldırılıyor. Bu altyapıyı kullanan sitelerin Wasm üzerinden SQLite'ye geçmesi önerilir.

Kullanımdan kaldırma denemesi, taşıma için daha fazla zamana ihtiyaç duyan geliştiricilere Chrome 123'e (Mart 2024) kadar WebSQL kullanımını devam ettirebilir. WebSQL desteğinin sonlandırılması denemesine kaydolun.

Sekmeli web uygulamaları

Örneğin, aynı uygulamadaki birden fazla dokümanı düzenlemek için web uygulaması pencerelerinde sekme şeridi olmasına izin verin. Bu, "sekmeli" yeni bir görüntüleme modu ve sekme şeridinde özelleştirme yapılmasına olanak tanıyan yeni bir manifest alanı ekler.

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 kullanımdan kaldırma ve kaldırma işlemlerini sunmaktadır. Planlanan kullanımdan kaldırma, mevcut kullanımdan kaldırma ve daha önce kaldırma işlemlerinin listelerini görmek için ChromeStatus.com adresini ziyaret edin.

Chrome'un bu sürümünde iki özellik kullanımdan kaldırılmıştır.

Kaldırma etkinliğini kullanımdan kaldırın

Chrome 117, unload etkinlik işleyicisini kullanımdan kaldırma işlemini başlatır. Sitenizde bu özellikler kullanılı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ır

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, daha önce kaldırılmış olan sunucu sertifikalarındaki veya desteklenmeye devam eden istemci sertifikalarındaki SHA-1 desteğini etkilemez.

Chrome'un bu sürümünde dört özellik kaldırıldı.

[WebRTC] Geri çağırmaya dayalı eski getStats() işlevini kaldırma

RTCPeerConnection'ın iki sürümü getStats() vardır. Bunlardan biri raporu bir vaadi çözümleyerek döndüren spesifikasyonla uyumlu, diğeri ise ilk bağımsız değişken olarak geri çağırma yoluyla çok farklı bir rapor döndüren standart dışıdır. Geri çağırmaya dayalı yöntem kaldırıldı.

Taşıma hakkında daha fazla bilgi edinmek ve daha fazla zamana ihtiyacınız varsa ne yapmanız gerektiğini öğrenmek için Eski getStats() taşıma rehberi'ni inceleyin.

WebRTC getStats datachannelIdentifier için -1 değerinin kaldırılması

WebRTC getStats API'sı, bir dataChannelIdentifier özelliği sunar. Veri kanalı bağlantısı kurulmadan önce istatistiklerin sorgulandığı durumlarda artık "-1" değerini sağlamayacaktır. Bunun yerine, sözlük üyesi atlanır.

WebRTC getStats kodlayıcı uygulaması ve decoderImplementation "unknown" kaldırma

WebRTC getStats API, giden ve gelen videolar 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 bu özellik artık "unknown"{/8} değerini sağlamayacak. Bunun yerine, sözlük üyesi atlanır.

-webkit-highlight CSS özelliği

Metni vurgulaması amaçlanan, ancak hiçbir zaman standartlaştırılmamış CSS özelliğini -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ılmış, MDN'de desteği sonlandırılmış olarak işaretlenmiş ve kısa bir süre önce CSS Vurgulama sözde özelliği ile değiştirilmiştir.