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

Joe Medley
Joe Medley

Chrome'un neredeyse her sürümünde üründe, performansında ve Web Platformu'nun özelliklerinde önemli sayıda güncelleme ve iyileştirme görüyoruz. Bu makalede, Şubat ayının başlarından itibaren beta sürümünde olan Chrome 57'deki desteği sonlandırılan ve kaldırılan özellikler açıklanmaktadır. Bu liste herhangi bir zamanda değişebilir.

BluetoothDevice.uuids özelliğini kaldırma

Web Bluetooth API'yi mevcut spesifikasyona uygun hale getirmek için BluetoothDevice.uuids özelliği kaldırılıyor. device.getPrimaryServices() işlevini çağırarak izin verilen tüm GATT hizmetlerini alabilirsiniz.

Chromium Hatası

Anahtar oluşturma öğesini kaldırma

Chrome 49'dan beri <keygen>'nin varsayılan davranışı, bu sayfaya izin verilmediği sürece boş dize döndürmektir. IE/Edge, <keygen>'ü desteklemez ve <keygen>'ü desteklediğini belirten herkese açık sinyaller göstermemiştir. Firefox, <keygen>'ü kullanıcı hareketinin arkasına gizlemiş olsa da bu özelliğin kaldırılmasını herkese açık olarak desteklemektedir. Safari, <keygen> sürümünü kullanıma sundu ve desteğin devamı konusunda kamuoyuna açık bir görüş bildirmedi. Chrome 57'de bu öğe kaldırıldı.

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

Ön ekli kaynak zamanlama arabellek yönetimi API'sini kaldırma

webkitClearResourceTimings(), webkitSetResourceTimingBufferSize() ve onwebkitresourcetimingbufferfull adlı iki yöntem ve bir etkinlik işleyici, desteği sonlandırılmış ve tedarikçiye özeldir. Bu API'lerin standart sürümleri Chrome 46'dan beri desteklenmektedir ve ön ek içeren işlevler de bu sürümde kullanımdan kaldırılmıştır. Bu özellikler başlangıçta WebKit'te uygulandı ancak Safari bunları etkinleştirmedi. Firefox, IE 10 ve sonraki sürümler ile Edge'de API'nin yalnızca ön eksiz sürümü vardır. Bu nedenle webkit sürümleri kaldırılıyor.

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

MessageEvent kullanmak için ServiceWorkerMessageEvent'i kaldırın

HTML spesifikasyonu, MessageEvent özelliğini source özelliği için ServiceWorker türüne izin verecek şekilde genişletti. client.postMessage() ve özel mesaj etkinlikleri oluşturma, ServiceWorkerMessageEvent yerine MessageEvent kullanacak şekilde değiştirildi. ServiceWorkerMessageEvent kaldırıldı.

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

webkit ön ekiyle başlayan IndexedDB global takma adlarını kaldırma

IndexedDB giriş noktası ve genel kurucular, Chrome 11 civarında webkit ön ekleriyle kullanıma sunuldu. Ön ek içermeyen sürümler Chrome 24'e eklendi ve ön ek içeren sürümlerin desteği Chrome 38'de sonlandırıldı. Aşağıdaki arayüzler etkilenir:

  • webkitIndexedDB (ana giriş noktası)
  • webkitIDBKeyRange (çağrılabilir olmayan küresel oluşturucu, ancak yararlı statik yöntemlere sahiptir)
  • webkitIDBCursor
  • webkitIDBDatabase
  • webkitIDBFactory
  • webkitIDBIndex
  • webkitIDBObjectStore
  • webkitIDBRequest
  • webkitIDBTransaction (çağrılabilir olmayan global kurucular)

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

WebAudio: Ön ekli AudioContext ve OfflineAudioContext'i kaldırın

Chrome, AudioContext dahil olmak üzere 2011'in ortalarından beri WebAudio'ü desteklemektedir. OfflineAudioContext sonraki yıl eklendi. Standart arayüzlerin ne kadar süredir desteklendiği ve Google'ın ön ek içeren özellikleri kaldırmaya yönelik uzun vadeli hedefi göz önüne alındığında, bu arayüzlerin ön ek içeren sürümleri 2014'ün sonlarından itibaren kullanımdan kaldırıldı ve artık kaldırılıyor.

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

webkitCancelRequestAnimationFrame desteğini sonlandırma ve işlevi kaldırma

webkitCancelRequestAnimationFrame() yöntemi, eski ve tedarikçiye özel bir API'dir. Standart cancelAnimationFrame() ise Chromium'da uzun süredir desteklenmektedir. Bu nedenle webkit sürümü kaldırılıyor.

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

usemap özelliği için büyük/küçük harfe duyarlı olmayan eşleşme desteği sonlandırılıyor

usemap özelliği daha önce büyük/küçük harfe duyarlı olmayan olarak tanımlanıyordu. Maalesef bu özelliğin uygulanması o kadar karmaşıktı ki hiçbir tarayıcı bunu doğru şekilde uygulayamadı. Araştırmalar, bu kadar karmaşık bir algoritmanın ve hatta ASCII büyük/küçük harf duyarlı eşleştirmenin gereksiz olduğunu gösteriyor.

Sonuç olarak, büyük/küçük harfe duyarlı eşleşmenin uygulanacağı şekilde spesifikasyon güncellendi. Eski davranışın desteği Chrome 57'de sonlandırıldı ve Chrome 58'de kaldırılması bekleniyor.

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

Hizmet çalışanlarında FileReaderSync desteği sonlandırılıyor

Hizmet Çalışanı spesifikasyonunda, hizmet çalışanının engellenmesini önlemek için "herhangi bir tür senkronize istek, hizmet çalışanının içinde başlatılmamalıdır" şeklindeki (normatif olmayan) not her zaman yer almıştır. Hizmet çalışanını engellemek, kontrol edilen sayfalardan gelen tüm ağ isteklerini engeller. Maalesef FileReaderSync API'si, hizmet çalışanlarında uzun süredir kullanılabiliyor.

Şu anda yalnızca Firefox ve Chrome, hizmet işçilerinde FileReaderSync'ü gösterir. Özellik tartışmasında Firefox, bu sorunun düzeltilmesi gerektiği konusunda hemfikir. Bu özelliğin Chrome 59'da kaldırılması beklenmektedir.

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

HTMLEmbedElement ve HTMLObjectElement için eski çağırıcı desteği sonlandırıldı

Bir arayüzün eski bir arayana sahip 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 özelliğin desteği sonlandırılmıştır. Chrome 58'de kaldırılması beklenen bu işlev çağrıldığında istisna atılır.

Bu değişiklik, Chrome'u son özellik değişikliklerine uygun hale getirir. Eski davranış Edge veya Safari'de desteklenmez ve Firefox'tan kaldırılmaktadır.

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

"negotiate" değerine sahip RTCRtcpMuxPolicy desteği sonlandırılıyor

rtcpMuxPolicy, Chrome tarafından RTP/RTCP çoklu yayın kullanımıyla ilgili tercih edilen politikayı belirtmek için kullanılır. Chrome 57'de varsayılan rtcpMuxPolicy değerini "require" olarak değiştirdik ve aşağıdaki nedenlerle "negotiate" değerinin desteğini sonlandırdık:

  • Birleştirilmemiş RTCP, ek ağ kaynakları kullanır.
  • "negotiate" kaldırılırsa "RtpSender"/"RtpReceiver" yalnızca tek bir aktarıma sahip olacağından API yüzeyi daha basit hale gelir.

Chrome 57'de "negotiate" işlevinin desteği sonlandırılmıştır. Kullanıcıya desteğin sonlandırıldığına dair bir mesaj gösterileceği ve RTCPeerConnection'ün oluşturulmaya devam edebileceği için bu değişikliğin önemli bir etkisinin olmayacağını düşünüyoruz. Bu özellik Chrome 63'te kaldırılmıştır.

Kullanımdan Kaldırma Niyeti | Chromium Hatası

Alt kaynak isteklerinde yerleştirilmiş kimlik bilgileri desteğinin kullanımdan kaldırılması

Geçmişte bilgisayar korsanlarının kimlik bilgilerini kaba kuvvetle kırmasına izin verdiği için kimlik bilgilerini alt kaynak isteklerine kodlamak güvenlik açısından sorunludur. Bu tehlikeler, dahili IP aralıklarını (yönlendiriciniz vb.) kapsayan kimlik bilgisi içeren alt kaynak istekleri için daha da artar. Düşük kullanım göz önüne alındığında bu (küçük) güvenlik açığını kapatmak oldukça makul görünüyor.

Geliştiriciler, temel/özet kimlik doğrulama gerektirmeyen kaynakları, çerezlere ve diğer oturum yönetimi mekanizmalarına dayanarak yerleştirebilir.

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