اعلام اجازه‌ها

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

اگر یک API از شما بخواهد که اجازه‌ای را در مانیفست اعلام کنید، اسناد آن به شما می‌گوید که چگونه این کار را انجام دهید. برای مثال، صفحه فضای ذخیره‌سازی به شما نشان می‌دهد که چگونه اجازه «فضای ذخیره‌سازی» را اعلام کنید.

در اینجا نمونه‌ای از بخش اجازه‌های فایل مانیفست آورده شده است:

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

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

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

باعث می‌شود Chrome زودتر راه‌اندازی شود و دیرتر بسته شود تا برنامه‌ها و افزونه‌ها بتوانند عمر طولانی‌تری داشته باشند.

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

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

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

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