Uzantılar, temalar ve uygulamalar, paket içeriğini açıklayan bir manifest.json
dosyasıyla sarmalanmış kaynak paketleridir. Bu dosyanın biçimi genellikle sabittir ancak önemli sorunların giderilmesi için zaman zaman zarar veren değişiklikler yapılması gerekir.
Geliştiriciler, manifestlerinde bir manifest_version
anahtarı ayarlayarak paketlerinin manifest spesifikasyonunun hangi sürümünü hedeflediğini belirtmelidir.
Mevcut sürüm
Geliştiriciler şu anda 'manifest_version': 2
alanını belirtmelidir:
{
...,
"manifest_version": 2,
...
}
Manifest sürümü 1, Chrome 18'de kullanımdan kaldırıldı ve destek aşağıdaki programa göre aşamalı olarak sonlandırılacak.
Manifest sürüm 1 destek programı
Ağustos 2012
- Web Mağazası, yeni manifest sürümü 1 uzantılarının oluşturulmasını engelleyecek.
- Web Mağazası, mevcut manifest sürümü 1 uzantıları için güncelleme yapılmasına izin verir.
Mart 2013
- Web Mağazası, manifest sürümü 1 uzantılarının güncellenmesini 4 Mart 2013 tarihinde engelleyecektir.
Nisan 2013
- Chrome 27 Beta, manifest sürümü 1 uzantılarını paketlemeyi (veya geliştirme için yüklemeyi) durduracak.
Haziran 2013
- Web Mağazası, manifest sürümü 1 uzantılarını duvardan, arama sonuçlarından ve kategori sayfalarından kaldırır.
- Manifest sürümü 1 uzantıları hâlâ mağazada bulunan tüm geliştiricilere, bu uzantıların yayından kaldırılacağını hatırlatmak ve güncelleme talimatlarını içeren e-postalar gönderilecek.
Eylül 2013
- Web Mağazası, tüm manifest sürümü 1 uzantılarını yayından kaldıracak.
- Son bildirim e-postaları, manifest sürümü 1 uzantıları hâlâ Web Mağazası'nda olan geliştiricilere gönderilir.
- Chrome, yüklü manifest sürümü 1 uzantılarını yüklemeye ve çalıştırmaya devam edecek.
Ocak 2014
- Chrome, manifest sürümü 1 uzantılarını yüklemeyi veya çalıştırmayı durduracak.
Sürüm 1 ile 2 arasındaki değişiklikler
- İçerik güvenliği politikası varsayılan olarak
`script-src 'self'; object-src 'self';
değerine ayarlıdır. Bunun geliştiriciler üzerinde çeşitli etkileri vardır. Bu etkiler,content_security_policy
belgelerinde ayrıntılı olarak açıklanmıştır. - Bir paketin kaynakları artık varsayılan olarak harici web sitelerinde (bir resmin
src
veyascript
etiketi olarak) kullanılamaz. Bir web sitesinin paketinizde yer alan bir kaynağı yükleyebilmesini istiyorsanızweb_accessible_resources
manifest özelliği aracılığıyla bu kaynağı açıkça izin verilenler listesine eklemeniz gerekir. Bu, özellikle yerleştirilen içerik komut dosyaları aracılığıyla bir web sitesinde arayüz oluşturan uzantılar için geçerlidir. background_page
özelliği,scripts
veyapage
özelliğini içeren birbackground
özelliğiyle değiştirildi. Ayrıntıları Etkinlik Sayfaları belgelerinde bulabilirsiniz.Tarayıcı işlemi değişiklikleri:
- Manifest'teki
browser_actions
anahtarı vechrome.browserActions
API kaldırıldı. Bunun yerinebrowser_action
vechrome.browserAction
tekillerini kullanın. browser_action
öğesininicons
özelliği kaldırıldı. Bunun yerinedefault_icon
özelliğini veya browserAction.setIcon özelliğini kullanın.browser_action
öğesininname
özelliği kaldırıldı. Bunun yerinedefault_title
özelliğini veya browserAction.setTitle özelliğini kullanın.browser_action
öğesininpopup
özelliği kaldırıldı. Bunun yerinedefault_popup
özelliğini veya browserAction.setPopup'ı kullanın.browser_action
öğesinindefault_popup
özelliği artık nesne olarak belirtilemez. Bir dize olmalıdır.
- Manifest'teki
Sayfa işlemiyle ilgili değişiklikler:
- Manifest'teki
page_actions
anahtarı vechrome.pageActions
API kaldırıldı. Bunun yerinepage_action
vechrome.pageAction
tekillerini kullanın. page_action
öğesininicons
özelliği kaldırıldı. Bunun yerinedefault_icon
özelliğini veya pageAction.setIcon özelliğini kullanın.page_action
öğesininname
özelliği kaldırıldı. Bunun yerinedefault_title
özelliğini veya pageAction.setTitle öğesini kullanın.page_action
öğesininpopup
özelliği kaldırıldı. Bunun yerinedefault_popup
özelliğini veya pageAction.setPopup özelliğini kullanın.page_action
öğesinindefault_popup
özelliği artık nesne olarak belirtilemez. Bir dize olmalıdır.
- Manifest'teki
chrome.self
API kaldırıldı. Bunun yerinechrome.extension
alanını kullanın.chrome.extension.getTabContentses
(!!!) vechrome.extension.getExtensionTabs
kaldırıldı. Bunun yerine extension.getViews parametresini kullanın.Port.tab
gitti. Bunun yerine runtime.Port'u kullanın.