Chrome 58'de Kullanımdan Kaldırma İşlemleri ve Kaldırma İşlemleri

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, 16 Mart itibarıyla beta sürümünde olan Chrome 58'de desteği sonlandırılan ve kaldırılan özellikler açıklanmaktadır. Bu liste herhangi bir zamanda değişebilir.

Android'deki fare, TouchEvents'i tetiklemeyi durduruyor

Chrome 57'ye kadar Chrome'daki Android düşük düzey fare etkinlikleri, temel olarak dokunma etkileşimleri için tasarlanmış bir etkinlik yolunu izliyordu. Örneğin, fare düğmesine basılıyken gerçekleşen fare sürükleme hareketi, View.onTouchEvent üzerinden yayınlanan MotionEvents oluşturur.

Ancak dokunma etkinlikleri fareyle üzerine gelme özelliğini desteklemediğinden, fareyle üzerine gelme hareketi ayrı bir yol izledi. Tasarım, fare etkileşimlerinin TouchEvents'ü tetiklemesi, tüm fare düğmelerinin sol fare düğmesi olarak görünmesi ve MouseEvents'ın TouchEvents tarafından bastırılmasının da dahil olduğu birçok yan etkiye sahipti.

Chrome 58'den itibaren Android M veya sonraki sürümlerde fare:

  • TouchEvents artık yayınlanmıyor.
  • Uygun düğmeler ve diğer özelliklerle tutarlı bir MouseEvents dizisi gönderin.

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

usemap özelliği için büyük/küçük harfe duyarlı olmayan eşleşmeyi kaldırma

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 gereksiz olduğunu ve hatta ASCII büyük/küçük harf duyarlı eşleştirmenin bile gereksiz olduğunu gösteriyordu.

Sonuç olarak, büyük/küçük harfe duyarlı eşleşmenin uygulanacağı şekilde spesifikasyon güncellendi. Eski davranış, Chrome 57'de kullanımdan kaldırıldı ve artık kaldırıldı.

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

İçerik tarafından başlatılan, veri URL'lerine üst çerçeve gezinmelerini kaldırma

Teknik bilgi sahibi olmayan tarayıcı kullanıcıları bu şema hakkında bilgi sahibi olmadığından, kimliğe bürünme ve kimlik avı saldırılarında data: şemasının giderek daha fazla kullanıldığını görüyoruz. Bunu önlemek için web sayfalarının üst çerçevede data: URL'leri yüklemesini engelliyoruz. Bu durum <a> etiketleri, window.open, window.location ve benzer mekanizmalar için geçerlidir. data: şeması, bir sayfa tarafından aşağıda yüklenen kaynaklar için çalışmaya devam eder.

Bu özellik Chrome 60 sürümünde kaldırılacaktır.

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

Hareket yolu özelliklerinin desteği sonlandırılan adlarını kaldırma

Hareket yolu CSS özellikleri, yazarların herhangi bir grafik nesneyi yazar tarafından belirtilen bir yol boyunca canlandırmasına olanak tanır. Spesifikasyona uygun olarak, Chrome 45'te çeşitli özellikler uygulandı. Bu özelliklerin adları, 2016'nın ortalarında spesifikasyonda değiştirildi. Chrome, yeni adları Chrome 55 ve Chrome 56'da kullanıma sundu. Console'da kullanımdan kaldırma uyarıları da uygulandı.

Chrome 58'de eski mülk adları kaldırılıyor. Etkilenen mülkler ve yeni adları aşağıda gösterilmiştir.

Kaldırılan Mülk Mevcut ad
motion-path offset-path
motion-offset offset-distance
motion-rotation offset-rotate
hareket ofset

Kaldırma Niyeti

EME'yi güvenli olmayan bağlamlardan kaldırma

Şifrelenmiş Medya Uzantıları'nın (EME) bazı kullanımları, açık kaynak olmayan dijital hak yönetimi uygulamalarını açığa çıkarır, kalıcı benzersiz tanımlayıcılara erişimi içerir ve/veya korumalı alan dışında veya ayrıcalıklı erişim ile çalışır. Güvenli olmayan HTTP üzerinden sunulan siteler, kanaldaki herkes tarafından saldırıya uğrayabileceği için güvenlik riskleri artar. Ayrıca, kullanıcı izni gerektiğinde güvenli olmayan bir HTTP sitesi için kabulün devam ettirilmesi bu tür bir saldırgan tarafından istismar edilebilir.

Güvenli olmayan bağlamlar için destek, EME sürüm 1 spesifikasyonundan kaldırıldı ve önerilen öneride desteklenmiyor veya sonraki nihai öneride yer alması beklenmiyor. Yaklaşan önerilen öneride veya sonraki nihai öneride yer almayacak. API, Chrome 44'ten (Mayıs 2015) beri güvenli olmayan kaynaklarda desteği sonlandırılma mesajı gösteriyor. Chrome 58'de bu özellik kaldırıldı. Bu değişiklik, güvenli olmayan kaynaklardan güçlü özellikleri kaldırma çalışmalarımızın bir parçasıdır.

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

HTMLEmbedElement ve HTMLObjectElement için eski arayanı kaldırma

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ıldı. Chrome 58'den itibaren, çağırma işlemi bir istisna oluşturur.

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ı

Standart öncesi ChaCha20-Poly1305 şifrelerini kaldırma

2013'te Chrome 31, Prof. Dan Bernstein'ın ChaCha20 ve Poly1305 algoritmalarına dayalı yeni TLS şifre paketlerini kullanıma sundu. Bunlar daha sonra IETF'de küçük ayarlamalarla RFC 7539 ve RFC 7905 olarak standartlaştırıldı. Standartlaştırılmış varyantı 2016'nın başlarında Chrome 49 ile kullanıma sunduk. Artık standart öncesi varyantları kaldırıyoruz.

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

Sertifikalarda commonName eşleştirme desteği kaldırıldı

RFC 2818, bir alan adını sertifikayla eşleştirmenin iki yöntemini açıklar: subjectAlternativeName uzantısındaki mevcut adları kullanma veya SAN uzantısı yoksa commonName'a geri dönme. commonName için yedek olarak RFC 2818 (2000'de yayınlandı) desteği sonlandırıldı ancak birçok TLS istemcisinde destek genellikle yanlış bir şekilde devam etmektedir.

subjectAlternativeName alanlarının kullanılması, bir sertifikanın IP adresiyle mi yoksa alan adıyla mı bağlandığını açıkça belirtir ve ad kısıtlamalarıyla etkileşimi açısından tam olarak tanımlanır. Ancak commonName belirsizdir ve bu nedenle, Chrome'da, kullandığı kitaplıklarda ve genel olarak TLS ekosisteminde güvenlik hatalarına yol açmıştır.

commonName'ü kaldırmayla ilgili uyumluluk riski düşüktür. RFC 2818, bu özelliğin desteğini yaklaşık yirmi yıldır sonlandırmıştır ve temel şartlar (herkese açık olarak güvenilen tüm sertifika yetkililerinin uyması gereken şartlar) 2012'den beri subjectAltName varlığı gerektirmektedir. Firefox, Firefox 48'den beri herkese açık olarak güvenilen yeni düzenlenen tüm sertifikalar için subjectAltName'yi zaten zorunlu kılmaktadır.

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

regions, addRegion() ve removeRegion() arayüz öğeleri, WebVTT spesifikasyonundan kaldırıldı ve en son spesifikasyona uymak için Chrome 58'de kaldırıldı. Bu özellik hiçbir zaman varsayılan olarak etkinleştirilmediğinden (yani bir işaretin arkasında olduğu için) bu kaldırma işleminin çok az etkisi olacağını tahmin ediyoruz. Alternatife ihtiyaç duyanlar, Chrome 58'e eklenen VTTCue.region özelliğini kullanabilir.

Chromestatus Tracker | Chromium Hatası

WebAudio: remove AudioSourceNode interface

AudioSourceNode arayüzü, Web Audio spesifikasyonunun bir parçası değildir, oluşturulamaz ve hiçbir özelliği olmadığından geliştiricilerin erişebileceği bir işlevi yoktur. Bu nedenle, söz konusu video kaldırılıyor.

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

webkitdropzone global özelliğini kaldırma

dropzone genel özelliği, bir HTML öğesinin sürükle ve bırak işleminin hedefi olma istekliliğini, öğeye bırakılabilecek içerik türlerini ve sürükle ve bırak işlemini (kopyala/taşı/bağla) belirtmek için HTML5 sürükle ve bırak spesifikasyonu tarafından beyan yöntemi olarak kullanıma sunulmuştur.

Özellik, tarayıcı tedarikçileri arasında ilgi görmedi. Blink ve WebKit, yalnızca özelliğin ön ek eklenmiş bir biçimini (webkitdropzone) uygular. dropzone özelliği Mart 2017'nin başlarında spesifikasyondan kaldırıldığı için ön ek eklenmiş sürüm Chrome'dan kaldırılıyor.

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

Bildirimlerin güvenli olmayan şekilde kullanılmasının desteği sonlandırıldı

Bildirimler, web sitelerinin özel bilgileri veya özel bilgilerin değiştiğine dair bir sinyal iletmek için sistem kullanıcı arayüzünü çağırmasına olanak tanıdığı için güçlü bir özelliktir. Saldırganlar, güvenli olmayan bir bağlantı üzerinden bildirim yoluyla gönderilen tüm bilgileri koklayabilir veya çalabilir. Web push için güvenli bir kaynak gerekir. Bu nedenle, bu değişiklik push olmayan bildirimleri push bildirimleriyle uyumlu hale getirecektir. Bu değişiklik, güvenli olmayan kaynaklardan güçlü özellikleri kaldırma çalışmalarımızın bir parçasıdır.

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

Güvenli olmayan iFrame'lerden bildirim kullanımının desteği sonlandırıldı

İçerdiği sayfanın kaynağı ile isteği gönderen iFrame'in kaynağını ayırt etmek zor olduğundan, iFrame'lerden gelen izin istekleri kullanıcıların kafasını karıştırabilir. İstekler net bir kapsama sahip olmadığında kullanıcıların izin verip vermeyeceklerine karar vermeleri zor olur.

Iframe'lerde bildirimlere izin verilmemesi, bildirim izni şartlarının push bildirimleriyle uyumlu hale getirilmesini de sağlar. Bu da geliştiricilerin karşılaşacağı sorunları azaltır.

Bu işleve ihtiyaç duyan geliştiriciler, bildirim izni istemek için yeni bir pencere açabilir.

Bu özellik Chrome 62'de kaldırılmıştır.

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

indexedDB.webkitGetDatabaseNames() işlevini kaldırın

Bu özelliği, Indexed DB Chrome'da nispeten yeniyken ve ön ek ekleme çok popülerken ekledik. API, bir kaynaktaki mevcut veritabanı adlarının listesini eşzamansız olarak döndürür. Bu, oldukça mantıklı bir yaklaşımdır.

Maalesef tasarımda bir kusur var. Sonuçlar döndürüldükten hemen sonra geçersiz olabilir. Bu nedenle, ciddi uygulama mantığı için değil, yalnızca günlük kaydı için kullanılabilir. GitHub sorunu, farklı bir yaklaşım gerektiren alternatiflerle ilgili önceki tartışmayı izler/bağlantı verir. Geliştiriciler bu konuyla zaman zaman ilgilense de tarayıcılar arası ilerleme olmaması nedeniyle kitaplık yazarları bu sorunun üstesinden geldi.

Bu işleve ihtiyaç duyan geliştiricilerin kendi çözümlerini geliştirmeleri gerekir. Örneğin, Dexie.js gibi kitaplıklar, veritabanlarının adlarını izlemek için başka bir veritabanı olan global bir tablo kullanır.

Bu özellik Chrome 60'ta kaldırılmıştır.

Desteği sonlandırmak için plan | Chromestatus İzleyici | Chromium Hatası