Chrome 57'de API'lerin Kullanımdan Kaldırılması ve Kaldırılması

Ali Poşet
Ali Polat

Chrome'un hemen hemen her sürümünde üründe, performansında ve Web Platformu'nun özelliklerinde çok sayıda güncelleme ve iyileştirme görüyoruz. Bu makalede, Şubat başı itibarıyla beta sürümünde olan Chrome 57'deki desteği sonlandırma ve kaldırma işlemleri açıklanmaktadır. Bu liste herhangi bir zamanda değiştirilebilir.

BluetoothDevice.uuids özelliğini kaldır

Web Bluetooth API'yi mevcut spesifikasyonla uyumlu hale getirmek için BluetoothDevice.uuids özelliği kaldırılıyor. İzin verilen tüm GATT hizmetlerini device.getPrimaryServices() çağrısı yaparak alabilirsiniz.

Chromium Hatası

Anahtar oluşturma öğesini kaldır

Chrome 49 sürümünden itibaren <keygen> varsayılan davranışı, bu sayfaya bir izin verilmediği sürece boş dizeyi döndürmek olmuştur. IE/Edge, <keygen> özelliğini desteklemez ve <keygen> desteklemek için herkese açık sinyalleri belirtmemiştir. Firefox, <keygen> API'sini zaten bir kullanıcı hareketinin arkasında tutuyor ancak bunu kaldırmayı herkese açık bir şekilde destekliyor. Safari, <keygen> hizmetini göndermektedir ve devam eden desteğiyle ilgili kamusal görüşler belirtmemiştir. Chrome 57'de bu öğe kaldırılır.

Kaldırma Amacı | Chromestatus İzleyici | Chromium Hatası

Önek eklenmiş kaynak zamanlama arabellek yönetimi API'sini kaldır

Bu iki yöntem ile etkinlik işleyici (webkitClearResourceTimings(), webkitSetResourceTimingBufferSize() ve onwebkitresourcetimingbufferfull) artık kullanılmıyor ve tedarikçiye özel. Bu API'lerin standart sürümleri Chrome 46'dan bu yana desteklenmekte olup önekli işlevler bu sürümde de kullanımdan kaldırılmıştır. Bu özellikler başlangıçta WebKit'te uygulanıyordu, ancak Safari, bunları etkinleştirmedi. Firefox, IE 10+ ve Edge'de API'nin yalnızca öneksiz sürümü bulunur. Bu nedenle, webkit sürümleri kaldırılmaktadır.

Kaldırma Amacı | Chromestatus İzleyici | Chromium Hatası

ServiceWorkerMessageEvent yerine MessageEvent'i kullanma

HTML spesifikasyonu, MessageEvent yönergesinin, source özelliği için ServiceWorker türüne izin verecek şekilde genişletilmesini sağladı. client.postMessage() ve özel mesaj etkinlikleri oluşturma işlemi, ServiceWorkerMessageEvent yerine MessageEvent kullanılacak şekilde değiştirildi. ServiceWorkerMessageEvent kaldırıldı.

Kaldırma Amacı | Chromestatus İzleyici | Chromium Hatası

webkit-prefixed IndexedDB genel takma adlarını kaldır

IndexedDB giriş noktası ve genel oluşturucular, Chrome 11'in etrafında webkit önekleriyle gösterildi. Öneksiz sürümler Chrome 24'te, ön ekli sürümler ise Chrome 38'de kullanımdan kaldırılmıştır. Aşağıdaki arayüzler etkilenecektir:

  • webkitIndexedDB (ana giriş noktası)
  • webkitIDBKeyRange (genel oluşturucu olarak çağrılamaz ancak yararlı statik yöntemlere sahiptir)
  • webkitIDBCursor
  • webkitIDBDatabase
  • webkitIDBFactory
  • webkitIDBIndex
  • webkitIDBObjectStore
  • webkitIDBRequest
  • webkitIDBTransaction (çağrı yapılamayan global oluşturucular)

Kaldırma Amacı | Chromestatus İzleyici | Chromium Hatası

WebAudio: Ön ekli AudioBağlam ve ÇevrimdışıAudio Bağlamı kaldırma

Chrome, 2011'in ortalarından beri AudioContext dahil olmak üzere WebAudio özelliğini desteklemektedir. OfflineAudioContext ertesi yıl eklendi. Standart arayüzlerin ne kadar süredir desteklendiği ve Google'ın uzun vadede ön ekli özellikleri kaldırma amacı göz önünde bulundurulduğunda, bu arayüzlerin önek eklenmiş sürümleri 2014 yılının sonlarından bu yana kullanımdan kaldırılmıştır ve şu anda kaldırılmıştır.

Kaldırma Amacı | Chromestatus İzleyici | Chromium Hatası

webkitCancelRequestAnimationFrame işlevini kullanımdan kaldırın ve kaldırın

webkitCancelRequestAnimationFrame() yöntemi artık kullanılmayan, tedarikçiye özgü bir API'dir ve Chromium'da standart cancelAnimationFrame() desteklenmektedir. Bu nedenle, webkit sürümü kaldırılıyor.

Kaldırma Amacı | Chromestatus İzleyici | Chromium Hatası

Kullanım haritası özelliği için büyük/küçük harfe duyarlı olmayan eşlemeyi kullanımdan kaldır

usemap özelliği daha önce büyük/küçük harfe duyarlıydı. Ne yazık ki bunun uygulanması, hiçbir tarayıcının doğru şekilde uygulamamasına neden olacak kadar karmaşıktı. Araştırmalar, bu tür karmaşık bir algoritmanın gereksiz olduğunu ve ASCII büyük/küçük harfe duyarlı olmayan eşleştirmesinin bile gereksiz olduğunu göstermektedir.

Sonuç olarak, spesifikasyon büyük/küçük harfe duyarlı eşleştirme uygulanacak şekilde güncellendi. Eski davranış Chrome 57'de kullanımdan kaldırılmıştır, ancak Chrome 58'de kaldırılması beklenmektedir.

Kaldırma Amacı | Chromestatus İzleyici | Chromium Hatası

Hizmet çalışanlarında FileReaderSync'i kullanımdan kaldır

Hizmet Çalışanı spesifikasyonu, hizmet çalışanının engellenmesini önlemek için her zaman "normatif olmayan herhangi bir türde eşzamanlı istek, hizmet çalışanı içinde başlatılmamalıdır" notunu almıştır. Service Worker engellendiğinde, kontrol edilen sayfalardan gelen tüm ağ istekleri engellenir. Maalesef FileReaderSync API, hizmet çalışanları arasında uzun süredir kullanılıyor.

Şu anda yalnızca Firefox ve Chrome hizmet çalışanlarında FileReaderSync özelliğini sunmaktadır. Spesifikasyon tartışmasında Firefox'un bu durumun düzeltilmesi gerektiği konusunda görüşleri vardır. Chrome 59'da kaldırılması beklenmektedir.

Kaldırma Amacı | Chromestatus İzleyici | Chromium Hatası

HTMLEmbedElement ve HTMLObjectElement için eski çağrıyı kullanımdan kaldır

Bir arayüzde eski bir çağrı olması, bir örneğin işlev olarak çağrılabileceği anlamına gelir. Şu anda HTMLEmbedElement ve HTMLObjectElement bu işlevi desteklemektedir. Chrome 57'de bu özellik kullanımdan kaldırılmıştır. Chrome 58'de beklenen kaldırma işleminden sonra çağrılması bir istisna oluşturur.

Bu değişiklik, Chrome'u en son spesifikasyon değişiklikleriyle uyumlu hâle getirir. Eski davranış Edge veya Safari'de desteklenmez ve Firefox'tan kaldırılmıştır.

Kaldırma Amacı | Chromestatus İzleyici | Chromium Hatası

"Anlaşmalı" RTCRtcpMuxPolicy'yi kullanımdan kaldırma

rtcpMuxPolicy, Chrome tarafından RTP/RTCP çoğullamanın kullanımıyla ilgili tercih edilen politikayı belirtmek için kullanılır. Chrome 57'de, varsayılan rtcpMuxPolicy değerini "zorunlu" olarak değiştirdik ve "pazarlık" özelliğini aşağıdaki nedenlerden dolayı kullanımdan kaldırdık:

  • Müdahale edilmemiş RTCP, ek ağ kaynakları kullanır.
  • "RtpGönderen"/"RtpAlıcı" söz konusu olduğunda, yalnızca tek bir aktarım söz konusu olacağından, "pazarlık" öğesinin kaldırılması API yüzeyini daha basit hale getirir.

Chrome 57'de "pazarlık" özelliği kullanımdan kaldırılmıştır. Kullanıcı, desteği sonlandırma mesajı alacağı ve RTCPeerConnection oluşturulabileceği için bunun kesin bir değişiklik olmadığına inanıyoruz. Kaldırma işlemi Chrome 63'te mevcuttur.

Kullanımdan Kaldırma Amacı | Chromium Hatası

Alt kaynak isteklerinde yerleşik kimlik bilgileri için desteğin sonlandırılması

Kimlik bilgilerinin alt kaynak isteklerine sabit bir şekilde kodlanması, güvenlik açısından bir sorun teşkil eder. Zira geçmişte bilgisayar korsanlarının kimlik bilgilerini teste tabi tutmasına izin verilmektedir. Bu tehlikeler, dahili IP aralıklarına (ör. yönlendiricileriniz) ulaşan kimlik bilgisi içeren alt kaynak istekleri için daha da artar. Kullanım oranının düşük olduğu göz önünde bulundurulduğunda, bu (küçük) güvenlik deliğinin kapatılması oldukça makul görünmektedir.

Geliştiriciler, temel/özet kimlik doğrulaması gerektirmeyen ve bunun yerine çerezlerden ve diğer oturum yönetimi mekanizmalarını kullanan kaynaklar yerleştirebilir.

Kaldırma Amacı | Chromestatus İzleyici | Chromium Hatası