הצהרה על הרשאות

כדי להשתמש ברוב ממשקי ה-API של chrome.*‎, ממשקי API, התוסף או האפליקציה צריכים להצהיר על הכוונה שלהם בשדה "הרשאות" של המניפסט. כל הרשאה יכולה להיות אחת מרשימה של מחרוזות מוכרות (כמו "geolocation") או תבנית התאמה שנותנת גישה למארח אחד או יותר. ההרשאות עוזרות להגביל את הנזק אם האפליקציה או התוסף נפגעים מתוכנה זדונית. חלק מההרשאות מוצגות למשתמשים גם לפני ההתקנה, כמו שמפורט בקטע אזהרות לגבי הרשאות.

אם API דורש להצהיר על הרשאה במניפסט, התיעוד שלו מסביר איך לעשות את זה. לדוגמה, בדף אחסון מוסבר איך להצהיר על הרשאת "אחסון".

דוגמה לחלק של ההרשאות בקובץ מניפסט:

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

בטבלה הבאה מפורטות ההרשאות שזמינות כרגע:

הרשאה תיאור
"activeTab" מבקש להעניק לתוסף הרשאות בהתאם למפרט של activeTab.
"alarms" נותנת לתוסף גישה ל-API של chrome.alarms.
"background"

ההגדרה גורמת ל-Chrome להתחיל מוקדם ולהיסגר מאוחר, כדי שלאפליקציות ולתוספים יהיה משך חיים ארוך יותר.

כשאפליקציה מתארחת, אפליקציה ארוזה או תוסף שמותקנים כוללים הרשאת "רקע", Chrome פועל (באופן בלתי נראה) ברגע שהמשתמש מתחבר למחשב שלו – לפני שהמשתמש מפעיל את Chrome. ההרשאה "background" גם גורמת ל-Chrome להמשיך לפעול (גם אחרי שהחלון האחרון שלו נסגר) עד שהמשתמש יוצא מ-Chrome באופן מפורש.

הערה: אפליקציות ותוספים מושבתים נחשבים כאילו הם לא מותקנים.

בדרך כלל משתמשים בהרשאת "רקע" עם דף רקע, דף אירוע או (באפליקציות מתארחות) חלון רקע.

"bookmarks" נותנת לתוסף גישה ל-API של chrome.bookmarks.
"browsingData" נותנת לתוסף גישה ל-API של chrome.browsingData.
"certificateProvider" נותנת לתוסף גישה ל-API של chrome.certificateProvider.
"clipboardRead" חובה אם התוסף או האפליקציה משתמשים ב-document.execCommand('paste').
"clipboardWrite" מציין שהתוסף או האפליקציה משתמשים ב-document.execCommand('copy') או ב-document.execCommand('cut'). ההרשאה הזו נדרשת לאפליקציות מתארחות, ומומלצת לתוספים ולאפליקציות ארוזות.
"contentSettings" נותנת לתוסף גישה ל-API של chrome.contentSettings.
"contextMenus" נותנת לתוסף גישה ל-API של chrome.contextMenus.
"cookies" נותנת לתוסף גישה ל-API של chrome.cookies.
"debugger" נותנת לתוסף גישה ל-API של chrome.debugger.
"declarativeContent" נותנת לתוסף גישה ל-API של chrome.declarativeContent.
"declarativeNetRequest" נותנת לתוסף גישה ל-API של chrome.declarativeNetRequest.
"declarativeNetRequestFeedback" נותנת לתוסף גישה לאירועים ולשיטות ב-API של chrome.declarativeNetRequest שמחזירים מידע על כללים הצהרתיים תואמים.
"declarativeWebRequest" נותנת לתוסף גישה ל-API של chrome.declarativeWebRequest.
"desktopCapture" נותנת לתוסף גישה ל-API של chrome.desktopCapture.
"documentScan" נותנת לתוסף גישה ל-API של chrome.documentScan.
"downloads" נותנת לתוסף גישה ל-API של chrome.downloads.
"enterprise.deviceAttributes" נותנת לתוסף גישה ל-API של chrome.enterprise.deviceAttributes.
"enterprise.hardwarePlatform" נותנת לתוסף גישה ל-API של chrome.enterprise.hardwarePlatform.
"enterprise.networkingAttributes" נותנת לתוסף גישה ל-API של chrome.enterprise.networkingAttributes.
"enterprise.platformKeys" נותנת לתוסף גישה ל-API של chrome.enterprise.platformKeys.
"experimental" חובה אם התוסף או האפליקציה משתמשים בממשקי API מסוג chrome.experimental.*‎ .
"fileBrowserHandler" נותנת לתוסף גישה ל-API של chrome.fileBrowserHandler.
"fileSystemProvider" נותנת לתוסף גישה ל-API של chrome.fileSystemProvider.
"fontSettings" נותנת לתוסף גישה ל-API של chrome.fontSettings.
"gcm" נותנת לתוסף גישה ל-API של chrome.gcm.
"geolocation" התוסף או האפליקציה יכולים להשתמש בAPI של המיקום הגיאוגרפי בלי לבקש הרשאה מהמשתמש.
"history" נותנת לתוסף גישה ל-API של chrome.history.
"identity" נותנת לתוסף גישה ל-API של chrome.identity.
"idle" נותנת לתוסף גישה ל-API של chrome.idle.
"loginState" נותנת לתוסף גישה ל-API של chrome.loginState.
"management" נותנת לתוסף גישה ל-API של chrome.management.
"nativeMessaging" נותנת לתוסף גישה ל-Native Messaging API.
"notifications" נותנת לתוסף גישה ל-API של chrome.notifications.
"pageCapture" נותנת לתוסף גישה ל-API של chrome.pageCapture.
"platformKeys" נותנת לתוסף גישה ל-API של chrome.platformKeys.
"power" נותנת לתוסף גישה ל-API של chrome.power.
"printerProvider" נותנת לתוסף גישה ל-API של chrome.printerProvider.
"printing" נותנת לתוסף גישה ל-API‏ chrome.printing.
"printingMetrics" נותנת לתוסף גישה ל-API‏ chrome.printingMetrics.
"privacy" נותנת לתוסף גישה ל-API של chrome.privacy.
"processes" נותנת לתוסף גישה ל-API של chrome.processes.
"proxy" נותנת לתוסף גישה ל-API של chrome.proxy.
"scripting" נותנת לתוסף גישה ל-API של chrome.scripting.
"sessions" נותנת לתוסף גישה ל-API של chrome.sessions.
"signedInDevices" נותנת לתוסף גישה ל-API של chrome.signedInDevices.
"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" נותנת לתוסף גישה ל-API של chrome.tabCapture.
"tabGroups" נותנת לתוסף גישה ל-API של chrome.tabGroups.
"tabs" נותנת לתוסף גישה לשדות מורשים של אובייקטים מסוג Tab שמשמשים כמה ממשקי API, כולל chrome.tabs ו-chrome.windows. במקרים רבים, התוסף לא צריך להצהיר על ההרשאה "tabs" כדי להשתמש בממשקי ה-API האלה.
"topSites" נותנת לתוסף גישה ל-API של chrome.topSites.
"tts" נותנת לתוסף גישה ל-API של chrome.tts.
"ttsEngine" נותנת לתוסף גישה ל-API של chrome.ttsEngine.
"unlimitedStorage" מספק מכסה בלתי מוגבלת לאחסון נתונים בצד הלקוח, כמו מסדי נתונים וקבצי אחסון מקומיים. בלי ההרשאה הזו, התוסף או האפליקציה מוגבלים ל-5MB של אחסון מקומי.
הערה: ההרשאה הזו חלה רק על מסד נתוני SQL באינטרנט ועל מטמון האפליקציה (ראו בעיה 58985). בנוסף, בשלב הזה הוא לא פועל עם תת-דומיינים עם תווים כלליים לחיפוש, כמו http://*.example.com.
"vpnProvider" נותנת לתוסף גישה ל-API של chrome.vpnProvider.
"webNavigation" נותנת לתוסף גישה ל-API ‏chrome.webNavigation.
"webRequest" נותנת לתוסף גישה ל-API של chrome.webRequest.
"webRequestBlocking" נדרש אם התוסף משתמש ב-API ‏chrome.webRequest באופן חוסם.