Ekstensi, tema, dan aplikasi hanyalah paket resource, yang digabungkan dengan
file manifest.json
yang mendeskripsikan konten paket. Format file ini
umumnya stabil, tetapi terkadang perubahan yang dapat menyebabkan gangguan harus dibuat untuk mengatasi masalah penting.
Developer harus menentukan versi spesifikasi manifes yang menjadi target paket mereka dengan
menetapkan kunci manifest_version
dalam manifesnya.
Versi saat ini
Saat ini developer harus menentukan 'manifest_version': 2
:
{
...,
"manifest_version": 2,
...
}
Manifes versi 1 tidak digunakan lagi di Chrome 18, dan dukungan akan dihentikan sesuai dengan jadwal berikut.
Jadwal dukungan manifes versi 1
Agustus 2012
- Web Store akan memblokir pembuatan manifes baru versi 1.
- Web Store akan mengizinkan update untuk ekstensi manifes versi 1 yang ada.
Maret 2013
- Web Store akan memblokir pembaruan untuk ekstensi manifes versi 1 pada 4 Maret 2013.
April 2013
- Chrome 27 Beta akan berhenti memaketkan ekstensi manifes versi 1 (atau memuatnya untuk pengembangan).
Juni 2013
- Web Store akan menghapus ekstensi manifes versi 1 dari dinding, hasil penelusuran, dan halaman kategori.
- Email pemberitahuan akan dikirim ke semua developer yang memiliki ekstensi manifes versi 1 masih ada di toko yang mengingatkan mereka bahwa ekstensi ini tidak akan dipublikasikan dan memberikan petunjuk update.
September 2013
- Web Store akan membatalkan publikasi semua ekstensi manifes versi 1.
- Email pemberitahuan terakhir akan dikirim kepada developer yang memiliki ekstensi manifes versi 1 masih ada di Web Store.
- Chrome akan terus memuat dan menjalankan ekstensi manifes versi 1 yang terinstal.
Januari 2014
- Chrome akan berhenti memuat atau menjalankan ekstensi manifes versi 1.
Perubahan antara versi 1 dan 2
- Kebijakan keamanan konten disetel ke
`script-src 'self'; object-src 'self';
secara default. Hal ini memiliki berbagai dampak terhadap developer, yang dijelaskan secara mendetail dalam dokumentasicontent_security_policy
. - Resource paket tidak lagi tersedia secara default untuk situs eksternal (sebagai
src
gambar, atau tagscript
). Jika ingin situs dapat memuat resource yang ada dalam paket, Anda harus mengizinkannya secara eksplisit melalui atribut manifesweb_accessible_resources
. Hal ini sangat relevan untuk ekstensi yang membuat antarmuka di situs melalui skrip konten yang dimasukkan. - Properti
background_page
telah diganti dengan propertibackground
yang berisi propertiscripts
ataupage
. Detailnya tersedia di dokumentasi Halaman Peristiwa. Perubahan tindakan browser:
- Kunci
browser_actions
dalam manifes, danchrome.browserActions
API tidak ada. Gunakanbrowser_action
danchrome.browserAction
tunggal sebagai gantinya. - Properti
icons
untukbrowser_action
telah dihapus. Gunakan propertidefault_icon
atau browserAction.setIcon sebagai gantinya. - Properti
name
untukbrowser_action
telah dihapus. Gunakan propertidefault_title
atau browserAction.setTitle sebagai gantinya. - Properti
popup
untukbrowser_action
telah dihapus. Sebagai gantinya, gunakan propertidefault_popup
atau browserAction.setPopup. - Properti
default_popup
daribrowser_action
tidak dapat lagi ditentukan sebagai objek. Harus berupa string.
- Kunci
Perubahan tindakan halaman:
- Kunci
page_actions
dalam manifes, danchrome.pageActions
API tidak ada. Gunakanpage_action
danchrome.pageAction
tunggal sebagai gantinya. - Properti
icons
untukpage_action
telah dihapus. Gunakan propertidefault_icon
atau pageAction.setIcon sebagai gantinya. - Properti
name
untukpage_action
telah dihapus. Gunakan propertidefault_title
atau pageAction.setTitle sebagai gantinya. - Properti
popup
untukpage_action
telah dihapus. Gunakan propertidefault_popup
atau pageAction.setPopup. - Properti
default_popup
daripage_action
tidak dapat lagi ditentukan sebagai objek. Nama ini harus berupa string.
- Kunci
chrome.self
API telah dihapus. Sebagai gantinya, gunakanchrome.extension
.chrome.extension.getTabContentses
(!!!) danchrome.extension.getExtensionTabs
tidak ada. Sebagai gantinya, gunakan extension.getViews.Port.tab
hilang. Gunakan runtime.Port sebagai gantinya.