مجوزها را اعلام کنید

برای استفاده از اکثر chrome.* APIها، برنامه افزودنی یا برنامه شما باید هدف خود را در قسمت "مجوزها" مانیفست اعلام کند. هر مجوز می تواند یکی از لیست رشته های شناخته شده (مانند "موقعیت جغرافیایی") یا یک الگوی مطابقت باشد که به یک یا چند میزبان دسترسی می دهد. اگر برنامه افزودنی یا برنامه شما توسط بدافزار به خطر بیفتد، مجوزها به محدود کردن آسیب کمک می کنند. برخی از مجوزها نیز قبل از نصب به کاربران نمایش داده می شوند، همانطور که در هشدارهای مجوز توضیح داده شده است.

اگر یک API از شما بخواهد که مجوزی را در مانیفست اعلام کنید، اسناد آن به شما می گوید که چگونه این کار را انجام دهید. به عنوان مثال، صفحه Storage به شما نشان می دهد که چگونه مجوز "storage" را اعلام کنید.

در اینجا نمونه ای از قسمت مجوزهای یک فایل مانیفست آمده است:

"permissions": [
  "tabs",
  "bookmarks",
  "http://www.blogger.com/",
  "http://*.google.com/",
  "unlimitedStorage"
],

جدول زیر مجوزهای موجود در حال حاضر را فهرست می کند:

اجازه شرح
"activeTab" درخواست می‌کند که به برنامه افزودنی طبق مشخصات ActiveTab مجوز داده شود.
"alarms" به برنامه افزودنی شما به API chrome.alarms دسترسی می دهد.
"background"

Chrome را زود راه اندازی می کند و دیر خاموش می شود تا برنامه ها و برنامه های افزودنی عمر طولانی تری داشته باشند.

هنگامی که هر برنامه میزبانی شده، برنامه بسته بندی شده یا برنامه افزودنی نصب شده دارای مجوز "پس زمینه" باشد، Chrome به محض ورود کاربر به رایانه خود (قبل از اینکه کاربر Chrome را راه اندازی کند) (به صورت نامرئی) اجرا می شود. مجوز «پس‌زمینه» همچنین باعث می‌شود تا Chrome به کار خود ادامه دهد (حتی پس از بسته شدن آخرین پنجره آن) تا زمانی که کاربر صراحتاً از Chrome خارج شود.

توجه: با برنامه‌ها و برنامه‌های افزودنی غیرفعال به‌گونه‌ای رفتار می‌شود که گویی نصب نشده‌اند.

شما معمولاً از مجوز «پس‌زمینه» با یک صفحه پس‌زمینه ، صفحه رویداد یا (برای برنامه‌های میزبانی‌شده) یک پنجره پس‌زمینه استفاده می‌کنید.

"bookmarks" به برنامه افزودنی شما به API chrome.bookmarks دسترسی می دهد.
"browsingData" به برنامه افزودنی شما امکان دسترسی به chrome.browsingData API را می دهد.
"certificateProvider" به برنامه افزودنی شما امکان دسترسی به chrome.certificateProvider API را می دهد.
"clipboardRead" اگر برنامه افزودنی یا برنامه از document.execCommand('paste') استفاده می کند، لازم است.
"clipboardWrite" نشان می دهد که برنامه افزودنی یا برنامه از document.execCommand('copy') یا document.execCommand('cut') استفاده می کند. این مجوز برای برنامه های میزبانی شده مورد نیاز است. برای برنامه های افزودنی و بسته بندی شده توصیه می شود.
"contentSettings" به برنامه افزودنی شما امکان دسترسی به chrome.contentSettings API را می دهد.
"contextMenus" به برنامه افزودنی شما امکان دسترسی به chrome.contextMenus API را می دهد.
"cookies" به برنامه افزودنی شما به API chrome.cookies دسترسی می دهد.
"debugger" به برنامه افزودنی شما به API chrome.debugger دسترسی می دهد.
"declarativeContent" به برنامه افزودنی شما امکان دسترسی به chrome.declarativeContent API را می دهد.
"declarativeNetRequest" به برنامه افزودنی شما امکان دسترسی به chrome.declarativeNetRequest API را می دهد.
"declarativeNetRequestFeedback" به برنامه افزودنی اجازه دسترسی به رویدادها و روش‌های موجود در chrome.declarativeNetRequest API را می‌دهد که اطلاعات مربوط به قوانین اعلامی منطبق را برمی‌گرداند.
"declarativeWebRequest" به برنامه افزودنی شما امکان دسترسی به chrome.declarativeWebRequest API را می دهد.
"desktopCapture" به برنامه افزودنی شما به chrome.desktopCapture API دسترسی می دهد.
"documentScan" به برنامه افزودنی شما امکان دسترسی به chrome.documentScan API را می دهد.
"downloads" به برنامه افزودنی شما به API chrome.downloads دسترسی می دهد.
"enterprise.deviceAttributes" به برنامه افزودنی شما به API chrome.enterprise.deviceAttributes دسترسی می دهد.
"enterprise.hardwarePlatform" به برنامه افزودنی شما به API chrome.enterprise.hardwarePlatform دسترسی می دهد.
"enterprise.networkingAttributes" به برنامه افزودنی شما به chrome.enterprise.networkingAttributes API دسترسی می دهد.
"enterprise.platformKeys" به برنامه افزودنی شما به chrome.enterprise.platformKeys API دسترسی می دهد.
"experimental" اگر برنامه افزودنی یا برنامه از هر chrome.experimental.* API استفاده می‌کند، الزامی است.
"fileBrowserHandler" به برنامه افزودنی شما به API chrome.fileBrowserHandler دسترسی می دهد.
"fileSystemProvider" به برنامه افزودنی شما به chrome.fileSystemProvider API دسترسی می دهد.
"fontSettings" به برنامه افزودنی شما به API chrome.fontSettings دسترسی می دهد.
"gcm" به برنامه افزودنی شما دسترسی به API chrome.gcm می دهد.
"geolocation" به برنامه افزودنی یا برنامه اجازه می‌دهد از API موقعیت جغرافیایی بدون درخواست اجازه از کاربر استفاده کند.
"history" به برنامه افزودنی شما امکان دسترسی به chrome.history API را می دهد.
"identity" به برنامه افزودنی شما به API chrome.identity دسترسی می دهد.
"idle" به برنامه افزودنی شما امکان دسترسی به API chrome.idle را می دهد.
"loginState" به برنامه افزودنی شما به API chrome.loginState دسترسی می دهد.
"management" به برنامه افزودنی شما به API chrome.management دسترسی می دهد.
"nativeMessaging" به برنامه افزودنی شما امکان دسترسی به API پیام‌رسانی بومی را می‌دهد.
"notifications" به برنامه افزودنی شما به API chrome.notifications دسترسی می دهد.
"pageCapture" به برنامه افزودنی شما امکان دسترسی به chrome.pageCapture API را می دهد.
"platformKeys" به برنامه افزودنی شما به chrome.platformKeys API دسترسی می دهد.
"power" به برنامه افزودنی شما به API chrome.power دسترسی می دهد.
"printerProvider" به برنامه افزودنی شما امکان دسترسی به chrome.printerProvider API را می دهد.
"printing" به برنامه افزودنی شما به API chrome.printing دسترسی می دهد.
"printingMetrics" به برنامه افزودنی شما امکان دسترسی به chrome.printingMetrics API را می دهد.
"privacy" به برنامه افزودنی شما به API chrome.privacy دسترسی می دهد.
"processes" به برنامه افزودنی شما به API chrome.processes دسترسی می دهد.
"proxy" به برنامه افزودنی شما به API chrome.proxy دسترسی می دهد.
"scripting" به برنامه افزودنی شما به API chrome.scripting دسترسی می دهد.
"sessions" به برنامه افزودنی شما به API chrome.sessions دسترسی می دهد.
"signedInDevices" به برنامه افزودنی شما امکان دسترسی به chrome.signedInDevices API را می دهد.
"storage" به برنامه افزودنی شما به API chrome.storage دسترسی می دهد.
"system.cpu" به برنامه افزودنی شما به API chrome.system.cpu دسترسی می دهد.
"system.display" به برنامه افزودنی شما به API chrome.system.display دسترسی می دهد.
"system.memory" به برنامه افزودنی شما به API chrome.system.memory دسترسی می دهد.
"system.storage" به برنامه افزودنی شما به API chrome.system.storage دسترسی می دهد.
"tabCapture" به برنامه افزودنی شما امکان دسترسی به chrome.tabCapture API را می دهد.
"tabGroups" به برنامه افزودنی شما به API chrome.tabGroups دسترسی می دهد.
"tabs" به برنامه افزودنی شما امکان دسترسی به فیلدهای ممتاز اشیاء Tab را می دهد که توسط چندین API از جمله chrome.tabs و chrome.windows استفاده می شوند. در بسیاری از شرایط برنامه افزودنی شما برای استفاده از این APIها نیازی به اعلام مجوز "tabs" ندارد.
"topSites" به برنامه افزودنی شما امکان دسترسی به chrome.topSites API را می دهد.
"tts" به برنامه افزودنی شما به API chrome.tts دسترسی می دهد.
"ttsEngine" به برنامه افزودنی شما امکان دسترسی به chrome.ttsEngine API را می دهد.
"unlimitedStorage" سهمیه نامحدودی برای ذخیره داده های سمت مشتری، مانند پایگاه های داده و فایل های ذخیره سازی محلی، فراهم می کند. بدون این مجوز، برنامه افزودنی یا برنامه به 5 مگابایت حافظه محلی محدود می شود.
توجه: این مجوز فقط برای پایگاه داده وب SQL و حافظه پنهان برنامه اعمال می شود (به شماره 58985 مراجعه کنید). همچنین، در حال حاضر با زیر دامنه‌های wildcard مانند http://*.example.com کار نمی‌کند.
"vpnProvider" به برنامه افزودنی شما امکان دسترسی به chrome.vpnProvider API را می دهد.
"wallpaper" به برنامه افزودنی شما به API chrome.wallpaper دسترسی می دهد.
"webNavigation" به برنامه افزودنی شما امکان دسترسی به chrome.webNavigation API را می دهد.
"webRequest" به برنامه افزودنی شما امکان دسترسی به chrome.webRequest API را می دهد.
"webRequestBlocking" اگر برنامه افزودنی از chrome.webRequest API به صورت مسدود کننده استفاده کند، ضروری است.