Chrome 120'de Uzantılar için sunulan yenilikler

Chrome 120 şu anda beta sürümündedir ve Chrome Uzantısı geliştiricileri için birçok heyecan verici güncelleme içerir.

Chrome Uzantıları ekibi için yoğun bir yıl oldu. Dünkü Chrome 120 Beta sürümüyle, uzantı platformu bir adım daha ileri gidiyor. Bu yıl yaşananlara genel bir bakış için Temmuz ve Ekim aylarında yayınlanan üç aylık güncellemelerimize göz atın. Uzantılar için Chrome 120'deki yenilikler hakkında bilgi edinmek için okumaya devam edin.

Platform boşluğunu kapatma

Chrome 120 sürümünün yayınlanmasıyla birlikte Manifest V3 bilinen sorunlar sayfamızda listelenen geri kalan platform boşluklarını kapatacağız. ChromeOS'te dosya işleme desteğinin yanı sıra yeni userScript API'si artık listede üzerinde kalan iki öğe oldu. Önceki üç aylık güncellemede açıklanan değişikliklerle birlikte, Chrome Uzantısı platformunun mevcut durumundan ve geçtiğimiz yıl boyunca başardıklarımızdan gerçekten çok memnunuz.

Yeni userScripts API'sı

Kullanıcı komut dosyası desteği başladı! Kullanıcı komut dosyaları, uzantıların sayfanın görünümünü veya davranışını değiştirmek için web sayfalarına yerleştirebileceği kod snippet'leridir (genellikle küçüktür). Bu komut dosyaları, doğrudan kullanıcı tarafından oluşturulabileceği gibi web'deki bir dizi farklı kullanıcı komut dosyası veri havuzunda da bulunabilir. Chrome 120 Manifest V3 uzantıları, artık kullanıcı komut dosyalarının toplanmasını yöneterek bunların web sayfalarına ne zaman ve nasıl ekleneceğini belirleyebiliyor.

Manifest V2 ile Manifest V3'teki kullanıcı komut dosyası desteği arasında önemli bir fark vardır. Kullanıcı komut dosyaları güçlü olduğundan ve kullanıcı komut dosyasını yazan kişiye büyük güven duyulmasını gerektirdiğinden, Chrome ekibi kullanıcıların bir kullanıcı komut dosyasını çalıştırabilmeleri için önce Geliştirici modunu etkinleştirmeleri gerektiğine karar vermiştir.

Uzantılar sayfası
Uzantılar sayfası (chrome://extensions)

Yeni userScript örneğimiz, Geliştirici modunun etkin olup olmadığının belirlenmesine ve basit bir ilk katılım akışı sağlanmasına ilişkin basit bir yaklaşımı gösterir.

Kullanıcı komut dosyaları için örnek ilk katılım akışı.
Geliştirici modu devre dışıyken kullanıcıların katılımını sağlayın.

Başlamak için belgelere göz atın veya resmi örneğe göz atın.

Daha yüksek statik DNR kural kümesi sınırları

Etkin statik kural kümesi sınırını 10'dan 50'ye önemli ölçüde artırdık. Ayrıca, izin verilen toplam statik kural kümesi sayısını 50'den 100'e çıkardık. Bu e-posta, Web Extensions Community Group'tan (Web Uzantıları Topluluğu Grubu) aldığımız geribildirimler doğrultusunda gönderilmiştir.

Yeni ReadList API'si

Chrome, okuma listesini 2021'de kullanıma sunmuştur. Geçen yıl Chrome ekibi, yan paneli kullanarak okuma listesine erişimi daha da kolaylaştırdı. Chrome 120 ile birlikte Chrome Uzantılarının okuma listesi girişlerini oluşturma, okuma, güncelleme ve silme özelliklerini ekliyoruz. Daha fazla bilgi edinmek için API belgelerine ve yeni örneğimize göz atın.

Chrome'un okuma listesinde uzantı doküman sayfaları gösteriliyor.
Chrome'daki okuma listesi yan paneli.

ChromeOS'te dosya işleme

Dosya işleme, uzantıların belirtilen MIME türlerine ve dosya uzantılarına sahip dosyaları, web platformu dosya işlemlerine benzer şekilde açmasına olanak tanır. Nasıl kullanacağınız hakkında daha fazla bilgi edinmek için ChromeOS'te dosya işleme sayfasına göz atın.

ChromeOS'te uzantılı açık dosya iletişim kutusunun ekran görüntüsü
ChromeOS'te dosyaları bir uzantıda açın.

30 saniye içinde alarm tetikle

Bu, küçük bir güncelleme olsa da Service Worker'ın yaşam döngüsündeki önemli bir eksikliği gideriyor. Service Worker'ların etkinliğe dayalı yapısı nedeniyle, gelecekte bir etkinliği tetiklemek için chrome.alarms kullanılması önerilir. Alarms API, bu süre zarfında Service Worker kapatılsa bile etkinliğin tetiklenmesini sağlar.

Ama bir detay var. Chrome 120'den önce alarmın tetiklenmesi için en kısa süre bir dakikaydı. Ancak 30 saniye boyunca işlem yapılmadığında Service Worker'lar kapatılır. Bir etkinliği 45 saniye içinde ayarlamak için setTimeout() kullanıldığında, Service Worker etkinlik tetiklenmeden önce kapatılabildiğinden, 45 saniye içinde etkinleşecek bir alarm programlamanın doğrudan bir yolu yoktu.

Chrome 120 sürümünden itibaren, artık aşağıdaki platformlarda etkinlik tetikleyebilirsiniz:

  • setTimeout() kullanıldığında 30 saniyeden kısa bir süre gösterin.
  • chrome.alarms kullanılarak 30 saniyeden uzun veya buna eşit herhangi bir değer:
await chrome.alarms.create('demo-default-alarm', {
   periodInMinutes: 0.45
 });

Özet

Uzatma platformunun geçen yıl kaydettiği ilerleme bizi gerçekten heyecanlandırıyor. Chrome 120, DNR sınırlarını ve kullanıcı komut dosyası desteğini artıran bir diğer önemli adımdır.