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

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

Android'deki fare, TouchEvents'i tetiklemeyi durduruyor

Chrome 57'ye kadar, Chrome'da Android'in alt düzey fare etkinlikleri öncelikle dokunma etkileşimleri için tasarlanmış bir etkinlik yolunu izliyordu. Örneğin, fare düğmesine basıldığında gerçekleşen bir fare sürükleme hareketi, View.onTouchEvent üzerinden yayınlanan MotionEvents oluşturur.

Ancak dokunma etkinlikleri fareyle üzerine gelmeyi destekleyemediği için fareyle üzerine gelme işlemleri ayrı bir yol izler. Tasarımın, fare etkileşimlerinin TouchEvents tetiklenmesi, tüm fare düğmelerinin sol fare düğmesi olarak görünmesi ve MouseEvents'in TouchEvents tarafından basılması dahil olmak üzere birçok yan etkisi vardı.

Chrome 58'den itibaren, Android M veya sonraki sürümlerde bulunan fareler:

  • TouchEvents artık tetiklenmiyor.
  • Uygun düğmeler ve diğer özelliklerle tutarlı bir MouseEvents sırası tetikleyin.

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

Kullanım haritası ö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ı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 ve artık kaldırılmıştır.

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

Veri URL'lerine içerik tarafından başlatılan üst çerçeve gezinmelerini kaldırma

Teknik bilgi sahibi olmayan tarayıcı kullanıcılarına aşina olmadıklarından, data: şemasının adres sahteciliği ve kimlik avı saldırılarında gittikçe daha fazla kullanıldığını görüyoruz. Bunu önlemek için web sayfalarının data: URL'lerini üst çerçeveye 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 Amacı | Chromestatus İzleyici | Chromium Hatası

Hareket yolu özellikleri için desteği sonlandırılmış adları kaldırın

Hareket yolu CSS özellikleri, yazarların yazar tarafından belirtilen yoldaki herhangi bir grafik nesneyi canlandırmasına olanak tanır. Bu spesifikasyona uygun olarak bazı özellikler Chrome 45'te uygulanmıştır. Bu özelliklerin adları 2016'nın ortalarında spesifikasyonda değiştirildi. Chrome, Chrome 55 ve Chrome 56'daki yeni adları uyguladı. Konsol için desteğin sonlandırılmasıyla ilgili uyarılar da uygulandı.

Chrome 58'de eski özellik adları kaldırılıyor. Etkilenen özellikler ve yeni adları aşağıda gösterilmektedir.

Kaldırılan Mülk Şu Anki Ad
hareket-yolu uzak-yol
hareket-dengeleme uzaklık-mesafe
hareket-döndürme ofset-döndür
hareket ofset

Kaldırma Amacı

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

Şifrelenmiş Medya Uzantılarının (EME) bazı kullanımları açık kaynaklı olmayan, kalıcı benzersiz tanımlayıcılara erişim gerektiren ve/veya korumalı alana alınmadan ya da ayrıcalıklı erişimle çalıştırılan dijital hak yönetimi uygulamalarına maruz kalır. Kanaldaki herhangi bir kullanıcının saldırısına uğrayabileceğinden güvenli olmayan HTTP aracılığıyla açığa çıkan siteler için güvenlik riskleri artar. Ayrıca kullanıcı izni gerektiğinde, güvenli olmayan bir HTTP sitesi için devam eden kabul işlemi bu tür saldırganlar tarafından suistimal edilebilir.

Güvenli olmayan bağlamlar için destek, EME sürüm 1 spesifikasyonundan kaldırılmıştır, önerilen öneride de desteklenmemektedir veya sonraki nihai öneride beklenmeyecektir. Bu durum, önerilen öneride veya sonraki son öneride yer almayacaktır. API, Chrome 44'ten (Mayıs 2015) bu yana güvenli olmayan kaynaklarda kullanımdan kaldırma mesajı göstermektedir. Chrome 58'de ise kaldırılmıştır. Bu değişiklik, güçlü özellikleri güvenli olmayan kaynaklardan kaldırmaya yönelik genel çabamızın bir parçasıdır.

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

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

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ıldı. Chrome 58'den itibaren çağrılması bir istisnaya yol açıyor.

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ı

Standart öncesi ChaCha20-Poly1305 şifrelerini kaldırma

Chrome 31, 2013'te Prof. Dan Bernstein'ın ChaCha20 ve Poly1305 algoritmalarını temel alan yeni TLS şifre paketlerini dağıttı. Bunlar daha sonra küçük değişikliklerle, IETF'de RFC 7539 ve RFC 7905 olarak standart hale getirildi. Standart sürümü 2016'nın başlarında Chrome 49 ile gönderdik. Artık standart öncesi varyantları kaldırıyoruz.

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

Sertifikalarda CommonName eşleşmesi desteği kaldırılır

RFC 2818, bir alan adını sertifikayla eşleştirmek için iki yöntemi açıklar: subjectAlternativeName uzantısındaki mevcut adları kullanma veya SAN uzantısı yoksa commonName öğesine geri dönme. commonName yedeği RFC 2818'de (2000'de yayınlanmıştır) kullanımdan kaldırılmıştır ancak çoğu TLS istemcilerinde, çoğu zaman yanlış bir şekilde destek sunulmaya devam etmektedir.

subjectAlternativeName alanlarının kullanımı, bir sertifikanın IP adresine veya alan adına bir bağlama ifade edip etmediği ve Ad Kısıtlamaları ile etkileşimi açısından tam olarak tanımlanmış olup olmadığı konusunda belirsizlik sağlar. Ancak commonName belirsizdir ve bu nedenle destek, Chrome'daki, kullandığı kitaplıklardaki ve genel olarak TLS ekosistemindeki güvenlik hatalarının bir kaynağı olmuştur.

commonName öğesinin kaldırılmasıyla ilgili uyumluluk riski düşüktür. RFC 2818 bunu yaklaşık yirmi yıldır kullanımdan kaldırmıştır ve temel gereksinimler (tüm kamu tarafından güvenilen sertifika yetkililerinin uyması gerekir), 2012'den beri bir subjectAltName varlığını zorunlu kılmaktadır. Firefox, Firefox 48'den itibaren yeni yayınlanan tüm genel güvenilen sertifikalar için subjectAltName yönergesini zaten gerektirmektedir.

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

regions, addRegion() ve removeRegion() arayüz öğeleri WebVTT spesifikasyonundan kaldırılmış ve en son spesifikasyona uymak için Chrome 58'de kaldırılmıştır. Özellik varsayılan olarak hiçbir zaman etkinleştirilmediği (yani bir işaretin arkasında olduğu) için bu kaldırma işleminin az bir etkisinin olması beklenmektedir. Alternatife ihtiyaç duyanlar Chrome 58'de eklenen VTTCue.region özelliğini kullanabilir.

Chromestatus İzleyici | Chromium Hatası

WebAudio: AudioSourceNode arayüzünü kaldırma

AudioSourceNode arayüzü Web Sesi spesifikasyonunun bir parçası değildir, yapılandırılabilir değildir ve hiçbir özelliğe sahip değildir. Bu nedenle temelde geliştiricilerin erişebileceği bir işlev yoktur. Bu nedenle kaldırılmaktadır.

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

webkitdropzone genel özelliğini kaldır

dropzone genel özelliği, HTML5 sürükle ve bırak spesifikasyonu tarafından bir HTML öğesinin sürükle ve bırak işleminin hedefi olmaya istekli olup olmadığını, öğeye bırakılabilecek içerik türlerini ve sürükle ve bırak işlemini (kopyala/taşı/bağlantı) belirtmek için kullanılan bildirimsel bir yöntem olarak kullanıma sunulmuştur.

Özellik, tarayıcı tedarikçileri arasında ilgi çekemedi. Blink ve WebKit yalnızca webkitdropzone özelliğinin önek içeren bir biçimini uygular. 2017 Mart ayının başlarında dropzone özelliği spesifikasyondan kaldırıldığından önekli sürüm Chrome'dan kaldırılmaktadır.

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

Bildirimlerin güvenli olmayan kullanımını sonlandır

Bildirimler, web sitelerinin özel bilgilerin kendisini veya özel bilgilerin değiştirildiğine dair bir sinyal iletmek için sistem kullanıcı arayüzünü çağırmasına olanak tanıyan güçlü bir özelliktir. Saldırganlar, güvenli olmayan bir bağlantı üzerinden bir bildirim üzerinden 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üçlü özellikleri güvenli olmayan kaynaklardan kaldırmaya yönelik genel çabamızın bir parçasıdır.

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

Güvenli olmayan iframe'lerden gelen bildirimlerin kullanımını sonlandır

iframe'lerden gelen izin istekleri, kapsayıcı sayfanın kaynağı ile isteği yapan iframe'in kaynağı arasındaki farkı ayırt etmek zor olduğundan kullanıcıların kafasını karıştırabilir. İsteklerin kapsamı net olmadığında kullanıcıların izin verip vermeyeceklerine karar vermeleri zordur.

iframe'lerde bildirimlere izin vermemek, bildirim izni gereksinimlerini push bildirimleriyle uyumlu hale getirerek geliştiriciler için zorlukları azaltır.

Bu işleve ihtiyaç duyan geliştiriciler, yeni bir pencere açarak bildirim izni isteyebilir.

Kaldırma işlemi Chrome 62 sürümündedir.

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

IndexDB.webkitGetDatabaseNames() işlevini kaldır

Bu özelliği, Dizine Eklenen DB'nin Chrome'da nispeten yeni olduğu ve önek eklemenin çok yaygın olduğu bir zamanda ekledik. API, eşzamansız olarak bir kaynaktaki mevcut veritabanı adlarının listesini döndürür ve bu liste yeterince mantıklıdır.

Ne yazık ki tasarım hatalıdır. Sonuçlar döndürülür döndürülmez geçerliliğini yitirebilir. Bu da gerçekten ciddi bir uygulama mantığı değil, yalnızca günlük kaydı için kullanılabilir. GitHub sorunu, farklı bir yaklaşım gerektiren alternatiflerle ilgili önceki tartışmaları takip ediyor/bağlantı veriyor. Geliştiricilerin bu konudaki ilgisini açıp kapatsa da, tarayıcılar arası ilerlemenin eksik olması nedeniyle kütüphane yazarları sorunu çözmüştür.

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 tabloyu kullanır.

Bu özellik Chrome 60 sürümünde kaldırılmıştır.

Kullanımdan Kaldırma Amacı | Chromestatus Tracker | Chromium Bug