Chrome 133 beta

Yayınlanma tarihi: 15 Ocak 2024

Aksi belirtilmedikçe 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. En son sürümü masaüstü için Google.com'dan veya Android için Google Play Store'dan indirebilirsiniz.

CSS ve kullanıcı arayüzü

Bu sürümde yedi yeni CSS ve kullanıcı arayüzü özelliği eklendi.

CSS gelişmiş attr() işlevi

CSS 5. Seviye'de belirtilen attr() için yapılan genişletmeyi uygular. Bu genişletme, <string> dışındaki türlere ve tüm CSS özelliklerinde kullanıma (content sözde öğesi için mevcut desteğe ek olarak) olanak tanır.

CSS attr() yükseltildi başlıklı makalede daha fazla bilgi edinin.

CSS :open sözde sınıfı

:open sözde sınıfı, açık durumdayken <dialog> ve <details> ile, seçicinin bulunduğu ve seçicinin gösterildiği modlarda <select> ve <input> ile eşleşir.

CSS kaydırma durumu kapsayıcı sorguları

Container sorgularını kullanarak kapsayıcıların alt öğelerinin stilini kaydırma durumlarına göre ayarlayın.

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 eyaletler sorgulanabilir:

  • stuck: Yapışkan konumlandırılmış bir kapsayıcı, kaydırma kutusunun kenarlarından birine yapıştırılmıştır.
  • snapped: Kaydırma anında hizalanmış bir kapsayıcı şu anda yatay veya dikey olarak sabitlenmiştir.
  • scrollable: Bir kaydırma kapsayıcısının sorgulanan bir yönde kaydırılıp kaydırılamayacağı.

Yeni bir container-type: scroll-state, kapsayıcıların sorgulanması için kullanılır.

#sticky {
  position: sticky;
  container-type: scroll-state;
}

@container scroll-state(stuck: top) {
  #sticky-child {
    font-size: 75%;
  }
}

Daha fazla bilgi için CSS scroll-state() başlıklı makaleyi inceleyin.

CSS text-box, text-box-trim ve text-box-edge

Metin içeriğinde optimum dengeyi sağlamak için text-box-trim ve text-box-edge özellikleri, text-box kısayolu özelliğiyle birlikte metnin dikey hizalanmasını daha hassas bir şekilde kontrol etmenizi sağlar.

text-box-trim özelliği, kırpılacak kenarları (üst veya alt) belirtir. text-box-edge özelliği ise kenarları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ğeri (popover=hint) tanımlar. Genellikle "ipucunda" türündeki davranışlarla ilişkilendirilen ipuçları, biraz farklı davranışlara sahiptir. Temel fark, iç içe yerleştirilmiş pop-up yığınları açıldığında hint'ün auto'e bağlı olmasıdır. Bu nedenle, mevcut bir auto pop-up grubu açıkken alakasız bir hint pop-up açabilirsiniz.

Standart örnekte, bir <select> seçici açıktır (popover=auto) ve fareyle üzerine gelindiğinde tetiklenen bir ipucu (popover=hint) gösterilir. Bu işlem, <select> seçiciyi kapatmaz.

Pop-up çağırıcı ve ankraj konumlandırmasında iyileştirmeler

popover.showPopover({source}) ile pop-up'lar arasında çağıran ilişkileri ayarlamak için zorunlu bir yol ekler. Çağırıcı ilişkilerinin, gizli ana öğe referansları oluşturmasına olanak tanır.

Çağırıcı içine yerleştirilmiş pop-up, çağırıcıyı yeniden çağırmamalıdır

Aşağıdaki durumda, düğmeyi tıklamak pop-up'ı düzgün şekilde etkinleştirir. Ancak bundan sonra pop-up'ın kendisini tıklamak pop-up'ı kapatmamalıdır.

<button popovertarget=foo>Activate
  <div popover id=foo>Clicking me shouldn't close me</div>
</button>

Önceden bu durum, pop-up tıklamasının <button> simgesine baloncuk şeklinde gelmesi ve pop-up'ı kapatan çağırıcıyı etkinleştirmesi nedeniyle yaşanıyordu. Bu durum artık beklenen davranışa göre değiştirildi.

Web API'leri

Animation.overallProgress

Geliştiricilere, animasyonların iterasyonlarında ne kadar ilerlediğini ve zaman çizelgesinin yapısından bağımsız olarak tutarlı bir şekilde gösterir. overallProgress mülkü olmadan, animasyonun ne kadar ilerlediğini manuel olarak hesaplamanız gerekir. Bu hesaplama yaparken animasyonun iterasyon sayısını ve animasyonun currentTime değerinin toplam sürenin yüzdesi mi (kaydırma odaklı animasyonlarda olduğu gibi) yoksa mutlak bir zaman miktarı mı (zaman odaklı animasyonlarda olduğu gibi) olduğunu dikkate almanız gerekir.

Atomics nesnesinin pause() yöntemi

Mevcut kodun bir döngü kilidi yürüttüğünü CPU'ya ima etmek için pause() yöntemini Atomics ad alanı nesnesine ekler.

Komut dosyaları için CSP karma oluşturma raporları

Karmaşık web uygulamalarının, güvenlik nedeniyle indirdikleri alt kaynakları genellikle izlemesi gerekir.

Özellikle de yakında kullanıma sunulacak sektör standartları ve en iyi uygulamalar (ör. PCI-DSS v4), web uygulamalarının indirip yürüttüğü 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 oluşturma işlemlerini (CORS/aynı kaynak için) bildirmek üzere CSP ve Reporting API'yi temel alır.

DOM durumunu koruyan taşıma

Öğenin durumunu sıfırlamadan öğeleri bir DOM ağacında taşımanıza olanak tanıyan bir DOM ilkel öğesi (Node.prototype.moveBefore) ekler.

Kaldırma ve ekleme yerine taşıma işleminde aşağıdaki gibi bir durum korunur:

  • <iframe> öğeleri yüklü kalır.
  • Etkin öğe odaklanmaya devam eder.
  • Pop-up'lar, tam ekran ve kalıcı iletişim kutuları açık kalır.
  • CSS geçişleri ve animasyonları devam eder.

<area> üzerinde attributionsrc özelliğini gösterme

<area> öğesindeki attributionsrc özelliğinin gösterimini, özellik gösterilmese bile özelliğin mevcut işleme davranışıyla uyumlu hale getirir.

Ayrıca, bu öğe birinci sınıf bir gezinme yüzeyi olduğundan ve Chrome bu özelliği <a> ve window.open'nin diğer yüzeylerinde zaten desteklediğinden <area> öğesinde özelliği desteklemek mantıklıdır.

Öğe zamanlamasında ve LCP'de (Timing-Allow-Origin'ten bağımsız olarak) kabalaştırılmış çapraz kaynaklı renderTime'ü gösterme

Öğe zamanlaması ve LCP girişlerinde, bir resmin veya metnin boyandığı ilk çerçeveyle uyumlu bir renderTime özelliği bulunur.

Bu özellik, şu anda resim kaynağında Timing-Allow-Origin üstbilgisinin zorunlu tutulmasıyla kaynak farklı olan resimler için korunmaktadır. Ancak bu kısıtlamanın etrafından dolaşmak kolaydır (örneğin, aynı çerçevede aynı kaynaktan ve farklı kaynaktan bir resim göstererek).

Bu durum kafa karışıklığına yol açtığından, bu kısıtlamayı kaldırmayı ve bunun yerine belge kaynakta izole değilse tüm oluşturma sürelerini 4 ms artırmayı planlıyoruz. Bu, kaynak farklı olan resimlerle ilgili kod çözme sırasındaki yararlı bilgilerin sızmasını önlemek için yeterince kaba görünüyor.

FileSystemObserver arayüzü

FileSystemObserver arayüzü, web sitelerini dosya sistemindeki değişikliklerden haberdar eder. Siteler, kullanıcının daha önce izin verdiği dosya ve dizinlerdeki değişiklikleri kullanıcının yerel cihazında veya Paket Dosya Sisteminde (Kaynak Özel Dosya Sistemi olarak da bilinir) izler ve değişiklik türü gibi temel değişiklik bilgileriyle ilgili bildirim alır.

Enerji Tasarrufu modunda donma

Enerji Tasarrufu etkinken Chrome, içinde aynı kaynaktan çerçevelerin herhangi bir alt grubunun CPU kullanım eşiğini aşması durumunda, beş dakikadan uzun süredir gizli ve sessiz olan bir "tarama bağlamı grubunu" dondurur. Bunun için aşağıdaki koşullardan biri geçerli olmalıdır:

  • Ses veya görüntülü konferans işlevi sağlar (mikrofon, kamera veya ekran/pencere/sekme yakalama ya da "açık" bir RTCDataChannel veya "canlı" MediaStreamTrack içeren bir RTCPeerConnection tespit edilerek algılanır).
  • Harici bir cihazı kontrol eder (WebUSB, Web Bluetooth, WebHID veya Web Seri kullanılarak algılanır).
  • Farklı bir bağlantıdaki sürüm güncellemesini veya işlemi engelleyen bir Web Kilidi ya da IndexedDB bağlantısı tutar.

Dondurma, yürütmeyi duraklatmayı içerir. Resmi olarak Sayfa Yaşam Döngüsü API'sinde tanımlanır.

CPU kullanımı eşiği, Enerji Tasarrufu etkinken arka plandaki sekmelerin yaklaşık% 10'unu donduracak şekilde kalibre edilir.

Birden fazla içe aktarma haritası

İçe aktarma haritalarının şu anda herhangi bir ES modülünden önce yüklenmesi gerekir ve doküman başına yalnızca tek bir içe aktarma haritası olabilir. Bu durum, bu modüllerin gerçek yaşam senaryolarında kullanımının kırılgan ve potansiyel olarak yavaş olmasını sağlar: Bunlardan önce yüklenen herhangi bir modül, uygulamanın tamamını bozar ve birçok modülün bulunduğu uygulamalarda, önce tüm olası modüller için haritanın tamamının yüklenmesi gerektiğinden büyük bir engelleyen kaynak haline gelirler.

Bu özellik, birden fazla içe aktarma haritasını tutarlı ve belirlenebilir bir şekilde birleştirerek her belge için birden fazla içe aktarma haritası kullanmanıza olanak tanır.

Depolama Alanı Erişim Üst Bilgileri

Kimlik doğrulaması yapılmış yerleşiklerin, bölümlenmemiş çerezleri etkinleştirmek için alternatif bir yol sunar. Bu üstbilgiler, bölümlenmemiş çerezlerin belirli bir ağ isteğine dahil edilip edilemeyeceğini belirtir ve sunucuların daha önce verilmiş "depolama erişimi" izinlerini etkinleştirmesine olanak tanır. "Depolama erişimi" iznini etkinleştirmenin alternatif bir yolunu sunmak, iframe olmayan kaynakların kullanımına olanak tanır ve kimliği doğrulanmış yerleşik öğeler için gecikmeyi azaltabilir.

Promise<DOMString> ile ClipboardItem oluşturma desteği

Asenkron pano write() yönteminin girişi olan ClipboardItem, artık kurucusunda Blob'lara ek olarak dize değerlerini de kabul ediyor. ClipboardItemData bir Blob, dize veya Blob ya da dize olarak çözülen bir Promise olabilir.

WebAssembly Memory64

memory64 teklifi, 2^32 bitten büyük boyutlara sahip doğrusal WebAssembly bellekleri için destek ekler. Yeni talimatlar sağlamaz, 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. Yöntem, desteklenen özelliklerin listesini döndürerek geliştiricilerin kimlik doğrulama deneyimlerini ve iş akışlarını istemcinin belirli işlevlerine göre özelleştirmesine olanak tanır.

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 desteklenmiyor) nedeniyle WebGPU'nun ilk sürümünde bulunmayan ek köşe noktası biçimleri ekler. 1 bileşenli köşe noktaları biçimleri, uygulamaların 8 ve 16 bit veri türleri için daha önce en az iki kat daha fazla veri istemesi gerekirken yalnızca gerekli verileri istemesine 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 Şifreleme API'sinin X25519 algoritması

"X25519" algoritması, [RFC7748]'de belirtilen X25519 işlevini kullanarak anahtar anlaşması gerçekleştirmek için 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 kaynak denemelerini etkinleştirebilirsiniz.

Enerji Tasarrufu'nda dondurma özelliğini devre dışı bırakma

Bu kapsam dışında kalma denemesi, sitelerin Chrome 133'te kullanıma sunulan Enerji Tasarrufu modunda dondurma özelliğini devre dışı bırakmasına olanak tanır.

Kullanımdan kaldırmalar

Chrome'un bu sürümünde, aşağıda listelenen desteği sonlandırılan ve kaldırılan özellikler sunulmaktadır. Planlanan desteğin sonlandırılması, mevcut desteğin sonlandırılması ve daha önce kaldırılan özelliklerin listeleri için ChromeStatus.com'u ziyaret edin.

Bu Chrome sürümünde bir özellik kullanımdan kaldırılmıştır.

WebGPU maxInterStageShaderComponents sınırının desteği sonlandırıldı

maxInterStageShaderComponents limit desteği, çeşitli nedenlerden dolayı sonlandırıldı. Chrome 135 sürümünde kaldırılması planlanan tarih.

  • maxInterStageShaderVariables ile yedekleme: Bu sınır zaten benzer bir amaca hizmet ediyor ve gölgelendirici aşamaları arasında aktarılan veri miktarını kontrol ediyor.
  • Küçük tutarsızlıklar: İki sınırın hesaplanmasında küçük farklılıklar olsa da bu farklılıklar küçüktür ve maxInterStageShaderVariables sınırı dahilinde etkili bir şekilde yönetilebilir.
  • Basitleştirme: maxInterStageShaderComponents kaldırılarak gölgelendirici arayüzü basitleştirilir ve geliştiriciler için karmaşıklık azaltılır. Küçük farklılıkları olan iki ayrı sınırı yönetmek yerine, daha uygun şekilde adlandırılmış ve kapsamlı maxInterStageShaderVariables'ye odaklanabilirler.

Bu Chrome sürümünde iki özellik kaldırıldı.

Daha önce, bir kaynak <link rel=prefetch> kullanılarak önceden getirildiğinde Chrome, yeniden getirmeyi önlemek için beş dakika içindeki ilk kullanımda önbelleğe alma anlamlarını (yani max-age ve no-cache) yoksayar. Artık Chrome bu özel durumu kaldırıyor ve normal HTTP önbelleği semantiklerini kullanıyor.

Bu, web geliştiricilerin <link rel=prefetch>'ten yararlanmak için uygun önbelleğe alma üstbilgilerini (Cache-Control veya Expires) eklemesi gerektiği anlamına gelir.

Bu durum, standart olmayan <link rel=prerender> öğelerini de etkiler.

İlk tercihler ilk çalıştırma sekmeleriyle Chrome karşılama sayfasının tetiklenmesini kaldırma

initial_preferences dosyasının first_run_tabs mülküne chrome://welcome eklemek artık bir etki yaratmayacak. Bu sayfa, masaüstü platformlarında tetiklenen ilk çalıştırma deneyimiyle alakasız olduğu için kaldırıldı.