Yayınlanma tarihi: 15 Ocak 2024
Aksi belirtilmediği sürece aşağıdaki değişiklikler Android, ChromeOS, Linux, macOS ve Windows için en yeni Chrome beta kanalı sürümünde geçerlidir. Burada listelenen özellikler hakkında daha fazla bilgiyi verilen bağlantılardan veya ChromeStatus.com'daki listeden edinebilirsiniz. Chrome 133, 15 Ocak 2024 itibarıyla beta sürümündedir. Masaüstü için Google.com'dan veya Android'de Google Play Store'dan en son sürümü indirebilirsiniz.
CSS ve kullanıcı arayüzü
Bu sürümde yedi yeni CSS ve kullanıcı arayüzü özelliği ekleniyor.
CSS gelişmiş attr() işlevi
CSS Seviye 5'te belirtilen attr() ile ilgili artırmayı uygular. Bu artırma, <string> dışındaki türlerin ve tüm CSS özelliklerinde (content sözde öğesi için mevcut desteğe ek olarak) kullanılmasını sağlar.
Daha fazla bilgiyi CSS attr() yükseltiliyor başlıklı makalede bulabilirsiniz.
CSS :open sözde sınıfı
:open sözde sınıfı, <dialog> ve <details> açık durumdayken, <select> ve <input> ise seçici içeren ve seçicinin gösterildiği modlardayken eşleşir.
CSS kaydırma durumu kapsayıcı sorguları
Kapsayıcı sorgularını kullanarak kapsayıcıların alt öğelerini kaydırma durumlarına göre stilize edin.
Sorgu kapsayıcısı, kaydırma kapsayıcısı veya kaydırma kapsayıcısının kaydırma konumundan etkilenen bir öğedir. Aşağıdaki durumlar sorgulanabilir:
stuck: Yapışkan konumlandırılmış bir kapsayıcı, kaydırma kutusunun kenarlarından birine yapışmıştır.snapped: Kaydırarak tutturma hizalı bir kapsayıcı şu anda yatay veya dikey olarak tutturulmuş durumda.scrollable: Bir kaydırma kapsayıcısının sorgulanan yönde kaydırılıp kaydırılamayacağı.
Yeni container-type: scroll-state, kapsayıcıların sorgulanmasına olanak tanır.
#sticky {
position: sticky;
container-type: scroll-state;
}
@container scroll-state(stuck: top) {
#sticky-child {
font-size: 75%;
}
}
Daha fazla bilgiyi CSS scroll-state() bölümünde bulabilirsiniz.
CSS text-box, text-box-trim ve text-box-edge
Metin içeriğinin optimum dengesini sağlamak için text-box-trim ve text-box-edge özellikleri, text-box kısa özellikleriyle birlikte metnin dikey hizalaması üzerinde daha hassas kontrol sağlar.
text-box-trim özelliği, yukarıda veya aşağıda kırpılacak kenarları belirtir. text-box-edge özelliği ise kenarın nasıl kırpılacağını belirtir.
Bu özellikler, yazı tipi metriklerini kullanarak dikey aralığı hassas bir şekilde kontrol etmenize olanak tanır. Daha fazla bilgi için CSS text-box-trim başlıklı makaleyi inceleyin.
popover özelliğinin hint değeri
Popover API, popover özelliğinin iki değeri için davranışı belirtir: auto ve manual. Bu özellik, üçüncü bir değer olan popover=hint'ı açıklar. En sık "ipucu" türü davranışlarla ilişkilendirilen ipuçları, biraz farklı davranışlara sahiptir. Temel olarak fark, iç içe yerleştirilmiş popover yığınları açılırken hint öğesinin auto öğesine bağlı olmasıdır. Bu nedenle, mevcut bir auto pop-over yığını açık kalırken alakasız bir hint pop-over'ı açmak mümkündür.
Standart örnekte, bir <select> seçicinin açık olduğu (popover=auto) ve fareyle üzerine gelindiğinde tetiklenen bir ipucunun (popover=hint) gösterildiği belirtilir. Bu işlem, <select> seçiciyi kapatmaz.
Popover tetikleyici ve sabitleme konumuyla ilgili iyileştirmeler
popover.showPopover({source}) ile popover'lar arasında çağıran ilişkileri ayarlamak için zorunlu bir yol ekler. Çağıran ilişkilerinin örtülü bağlantı öğesi referansları oluşturmasına olanak tanır.
Çağırıcı içine yerleştirilmiş popover, çağırıcıyı yeniden çağırmamalıdır.
Aşağıdaki durumda düğmeyi tıklamak popover'ı düzgün şekilde etkinleştirir ancak bundan sonra popover'ı tıklamak popover'ı kapatmamalıdır.
<button popovertarget=foo>Activate
<div popover id=foo>Clicking me shouldn't close me</div>
</button>
Bu durum daha önce, popover'ın tıklama baloncuklarını <button> öğesine göndermesi ve popover'ı kapalı duruma getiren çağırıcıyı etkinleştirmesi nedeniyle yaşanıyordu. Bu durum artık beklenen davranışla değiştirildi.
Web API'leri
Animation.overallProgress
Geliştiricilere, bir animasyonun yinelemeleri boyunca ve zaman çizelgesinin yapısından bağımsız olarak ne kadar ilerlediğiyle ilgili kolay ve tutarlı bir gösterim sunar. overallProgress özelliği olmadan, animasyonun kaç kez tekrarlandığını ve animasyonun currentTime değerinin toplam sürenin yüzdesi (kaydırmaya dayalı animasyonlarda olduğu gibi) mi yoksa mutlak bir süre miktarı (zamana dayalı animasyonlarda olduğu gibi) mı olduğunu hesaba katarak animasyonun ne kadar ilerlediğini manuel olarak hesaplamanız gerekir.
Atomics nesnesinin pause() yöntemi
Mevcut kodun bir spinlock çalıştırdığını CPU'ya bildirmek için pause() yöntemini Atomics ad alanı nesnesine ekler.
Komut dosyaları için CSP karma raporu
Karmaşık web uygulamalarının, güvenlik amacıyla indirdikleri alt kaynakları takip etmesi gerekir.
Özellikle, yaklaşan endüstri standartları ve en iyi uygulamalar (ör. PCI-DSS v4), web uygulamalarının indirdikleri ve yürüttükleri tüm komut dosyalarının envanterini tutmasını gerektirir.
Bu özellik, dokümanın yüklediği tüm komut dosyası kaynaklarının URL'lerini ve karma değerlerini (CORS/aynı kaynak için) bildirmek üzere CSP ve Reporting API'yi temel alır.
DOM durumunu koruyarak taşıma
Öğelerin durumunu sıfırlamadan DOM ağacında hareket ettirmenizi sağlayan bir DOM öğesi (Node.prototype.moveBefore) ekler.
Kaldırıp eklemek yerine taşıdığınızda aşağıdaki gibi durumlar korunur:
<iframe>öğe yüklenmeye devam eder.- Etkin öğe odaklanmış durumda kalır.
- Pop-over'lar, tam ekran ve kalıcı iletişim kutuları açık kalır.
- CSS geçişleri ve animasyonları devam eder.
<area> özelliğini attributionsrc üzerinde kullanıma sunma
attributionsrc özelliğinin <area> üzerindeki gösterimini, gösterilmemiş olsa bile özelliğin mevcut işleme davranışı ile uyumlu hale getirir.
Ayrıca, bu öğe birinci sınıf bir gezinme yüzeyi olduğundan ve Chrome bu özelliği <a> ile window.open'nin diğer yüzeylerinde zaten desteklediğinden, <area>'da da bu özelliği desteklemek mantıklıdır.
Öğe zamanlaması ve LCP'de (Timing-Allow-Origin'den bağımsız olarak) kaba hale getirilmiş çapraz kaynaklı renderTime'yi kullanıma sunma
Öğe zamanlaması ve LCP girişleri, bir resmin veya metnin boyandığı ilk kareyle uyumlu bir renderTime özelliğine sahiptir.
Bu özellik, şu anda resim kaynağında Timing-Allow-Origin üstbilgisi gerektirerek kaynaklar arası resimler için korunmaktadır. Ancak bu kısıtlamayı aşmak kolaydır (örneğin, aynı kaynaklı ve kaynaklar arası bir resmi aynı çerçevede göstererek).
Bu durum kafa karışıklığına neden olduğundan bu kısıtlamayı kaldırmayı ve bunun yerine belge kaynaklar arası yalıtılmadığında tüm oluşturma sürelerini 4 ms uzatmayı planlıyoruz. Bu, kaynaklar arası resimlerle ilgili faydalı kod çözme zamanı bilgilerinin sızdırılmasını önlemek için yeterince kaba görünmektedir.
responseStart geri alınır ve firstResponseHeadersStart kullanıma sunulur
103 Early Hints etkinleştirildiğinde yanıtlarda iki zaman damgası bulunur:
- İlk İpuçları geldiğinde (103)
- Nihai başlıklar geldiğinde (ör. 200)
Chrome 115, bu iki zaman damgasının ölçülmesine olanak tanımak için kullanıma sunulduğunda
firstInterimResponseStart
responseStart (Time to First Byte (TTFB) tarafından kullanılır) anlamını da "son başlıklar" olarak değiştirdik. Bu durum, en çok tercih edilen bu metrik için benzer bir değişiklik yapmayan tarayıcılar ve araçlarla ilgili bir web uyumluluğu sorununa neden oldu.
Chrome 133, bu uyumluluk sorununu çözmek için responseStart değişikliğini geri alır ve bunun yerine, sitelerin TTFB'nin orijinal tanımını korurken son başlıklara kadar geçen süreyi ölçmesine olanak tanıyan firstResponseHeadersStart özelliğini kullanıma sunar.
FileSystemObserver arayüzü
FileSystemObserver arayüzü, dosya sisteminde yapılan değişiklikleri web sitelerine bildirir. Siteler, kullanıcının daha önce izin verdiği dosya ve dizinlerdeki değişiklikleri kullanıcının yerel cihazında veya Bucket Dosya Sistemi'nde (Origin Private File System olarak da bilinir) gözlemler ve değişiklik türü gibi temel değişiklik bilgileri hakkında bilgilendirilir.
Enerji tasarrufu modunda dondurma
Enerji Tasarrufu etkin olduğunda Chrome, aynı kaynaklı çerçevelerin alt gruplarından herhangi biri CPU kullanım eşiğini aşarsa beş dakikadan uzun süredir gizli ve sessiz olan bir "göz atma bağlamı grubunu" dondurur. Ancak bu durum, söz konusu grup:
- Sesli veya görüntülü konferans işlevi sunuyor (mikrofon, kamera ya da ekran/pencere/sekme yakalama veya "açık" bir RTCDataChannel ya da "canlı" bir MediaStreamTrack ile RTCPeerConnection tanımlanarak tespit edilir).
- Harici bir cihazı kontrol eder (WebUSB, Web Bluetooth, WebHID veya Web Serial kullanılarak algılanır).
- Bir sürüm güncellemesini veya farklı bir bağlantıdaki işlemi engelleyen bir Web Lock veya IndexedDB bağlantısı içeriyorsa.
Dondurma, yürütmeyi duraklatmaktan ibarettir. Resmi olarak Page Lifecycle API'de tanımlanır.
CPU kullanım eşiği, enerji tasarrufu etkin olduğunda arka plan sekmelerinin yaklaşık% 10'unu donduracak şekilde ayarlanır.
Birden fazla içe aktarma haritası
İçe aktarma eşlemeleri şu anda herhangi bir ES modülünden önce yüklenmelidir ve belge başına yalnızca tek bir içe aktarma eşlemesi olabilir. Bu durum, modüllerin kırılgan olmasına ve gerçek hayattaki senaryolarda yavaş kullanılmasına neden olur. Bu modüllerden önce yüklenen tüm modüller uygulamanın tamamını bozar. Ayrıca, birçok modül içeren uygulamalarda, tüm olası modüllerin haritasının önce yüklenmesi gerektiğinden bu modüller büyük bir engelleyici kaynak haline gelir.
Bu özellik, doküman başına birden fazla içe aktarma haritasını tutarlı ve belirleyici bir şekilde birleştirerek kullanmanıza olanak tanır.
Depolama Alanı Erişim Başlıkları
Kimliği doğrulanmış yerleştirmelerin, bölümlenmemiş çerezleri etkinleştirmesi için alternatif bir yöntem sunar. Bu üst bilgiler, bölümlenmemiş çerezlerin belirli bir ağ isteğine dahil edilip edilmediğini (veya dahil edilip edilebileceğini) gösterir ve sunucuların, daha önce verilmiş olan "storage-access" izinlerini etkinleştirmesine olanak tanır. "Storage-access" iznini etkinleştirmek için alternatif bir yol sunmak, iframe olmayan kaynakların kullanımına olanak tanır ve kimliği doğrulanmış yerleştirmelerde gecikmeyi azaltabilir.
Promise<DOMString> ile ClipboardItem oluşturmayı destekleme
Asenkron pano write() yönteminin girişi olan ClipboardItem artık oluşturucusunda Blob'lara ek olarak dize değerlerini de kabul ediyor.
ClipboardItemData; Blob, dize veya Blob ya da dize olarak çözümlenen bir Promise olabilir.
WebAssembly Memory64
memory64 teklifi 2^32 bit'ten büyük doğrusal WebAssembly bellekleri için destek ekler. Yeni talimatlar sunmaz, bunun yerine mevcut talimatları genişleterek anılar ve tablolar için 64 bit dizinlere izin verir.
Web Authentication API: PublicKeyCredential getClientCapabilities() yöntemi
PublicKeyCredential getClientCapabilities() yöntemi, kullanıcının istemcisi tarafından hangi WebAuthn özelliklerinin desteklendiğini belirlemenize olanak tanır. Bu yöntem, desteklenen özelliklerin bir listesini döndürür. Böylece geliştiriciler, istemcinin belirli işlevlerine göre kimlik doğrulama deneyimlerini ve iş akışlarını uyarlayabilir.
WebGPU: 1 bileşenli köşe biçimleri (ve unorm8x4-bgra)
Destek eksikliği veya eski macOS sürümleri (artık hiçbir tarayıcı tarafından desteklenmeyen) nedeniyle WebGPU'nun ilk sürümünde bulunmayan ek köşe biçimleri ekler. 1 bileşenli köşe biçimleri, uygulamaların daha önce 8 ve 16 bit veri türleri için en az iki kat daha fazla veri istemeleri gerekirken artık yalnızca gerekli verileri istemelerine olanak tanır. unorm8x4-bgra biçimi, aynı gölgelendiriciyi korurken BGRA kodlu köşe renklerini yüklemeyi biraz daha kolaylaştırır.
Web Cryptography API'nin X25519 algoritması
"X25519" algoritması, [RFC7748] içinde belirtilen X25519 işlevini kullanarak anahtar sözleşmesi yapma araçları sağlar. "X25519" algoritma tanımlayıcısı, uygulanan işlemlere (generateKey, importKey, exportKey, deriveKey ve deriveBits) erişmek için SubtleCrypto arayüzünde kullanılabilir.
Yeni kaynak denemeleri
Chrome 133'te aşağıdaki yeni deneme sürümlerini etkinleştirebilirsiniz.
Enerji tasarrufu modunda dondurmayı devre dışı bırakma
Bu devre dışı bırakma denemesi, sitelerin Chrome 133'te sunulan enerji tasarrufu modunda dondurma davranışını devre dışı bırakmasına olanak tanır.
Kullanımdan kaldırmalar ve silmeler
Bu Chrome sürümünde, aşağıda listelenen desteği sonlandırma ve kaldırma işlemleri uygulanır. Planlanan kullanımdan kaldırmalar, mevcut kullanımdan kaldırmalar ve daha önce kaldırılan özelliklerin listeleri için ChromeStatus.com'u ziyaret edin.
Chrome'un bu sürümünde bir özellik desteği sonlandırılıyor.
maxInterStageShaderComponents WebGPU sınırının desteğini sonlandırma
maxInterStageShaderComponents limit, çeşitli faktörler nedeniyle kullanımdan kaldırıldı. Chrome 135'te kaldırılması planlanan tarih.
maxInterStageShaderVariablesile yedeklilik: Bu sınır, gölgelendirici aşamaları arasında aktarılan veri miktarını kontrol ederek benzer bir amaca hizmet eder.- Küçük tutarsızlıklar: İki sınırın hesaplanma şekli arasında küçük farklılıklar olsa da bu farklılıklar önemsizdir ve
maxInterStageShaderVariablessınırı içinde etkili bir şekilde yönetilebilir. - Basitleştirme:
maxInterStageShaderComponentsöğesinin kaldırılması, gölgelendirici arayüzünü basitleştirir ve geliştiriciler için karmaşıklığı azaltır. Küçük farklılıklar içeren iki ayrı sınırı yönetmek yerine, daha uygun bir şekilde adlandırılmış ve kapsamlı olanmaxInterStageShaderVariables'ya odaklanabilirler.
Chrome'un bu sürümünde iki özellik kaldırılıyor.
<link rel=prefetch> beş dakikalık kuralını kaldırma
Daha önce, <link rel=prefetch> kullanılarak önceden getirilmiş bir kaynak olduğunda Chrome, yeniden getirmeyi önlemek için beş dakika içindeki ilk kullanımda önbellek semantiğini (yani max-age ve no-cache) yoksayıyordu. Chrome artık bu özel durumu kaldırıyor ve normal HTTP önbelleği semantiğini kullanıyor.
Bu nedenle, web geliştiricilerin <link rel=prefetch>'dan yararlanmak için uygun önbelleğe alma üstbilgilerini (Cache-Control veya Expires) eklemesi gerekir.
Bu durum, standart olmayan <link rel=prerender> öğesini de etkiler.
İlk tercihlerle ilk çalıştırma sekmeleriyle Chrome karşılama sayfasının tetiklenmesini kaldırma
initial_preferences dosyasının first_run_tabs özelliğine chrome://welcome eklemenin artık bir etkisi olmayacak. Bu sayfa, masaüstü platformlarında tetiklenen ilk çalıştırma deneyimiyle aynı işlevi gördüğü için kaldırıldı.