अनुमतियों का एलान करना

Chrome के ज़्यादातर फ़ीचर इस्तेमाल करने के लिए.* एपीआई, आपके एक्सटेंशन या ऐप्लिकेशन को manifest के "अनुमतियां" फ़ील्ड में, अपने इंटेंट का एलान करना होगा. हर अनुमति, जानी-पहचानी स्ट्रिंग की सूची में से एक हो सकती है, जैसे कि "जियोलोकेशन" या एक या उससे ज़्यादा होस्ट को ऐक्सेस देने वाला मैच पैटर्न. अनुमतियों की मदद से, अगर आपके एक्सटेंशन या ऐप्लिकेशन को मैलवेयर से नुकसान पहुंचता है, तो उस नुकसान को कम किया जा सकता है. इंस्टॉल करने से पहले, उपयोगकर्ताओं को कुछ अनुमतियां भी दिखाई जाती हैं. इस बारे में अनुमति से जुड़ी चेतावनियां में बताया गया है.

अगर किसी एपीआई के लिए, आपको मेनिफ़ेस्ट में अनुमति का एलान करना है, तो उसके दस्तावेज़ में आपको ऐसा करने का तरीका बताया गया है. उदाहरण के लिए, स्टोरेज पेज पर, "स्टोरेज" की अनुमति का एलान करने का तरीका बताया गया है.

यहां मेनिफ़ेस्ट फ़ाइल के अनुमतियों वाले हिस्से का उदाहरण दिया गया है:

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

यहां दी गई टेबल में, फ़िलहाल उपलब्ध अनुमतियों की सूची दी गई है:

अनुमति ब्यौरा
"activeTab" activeTab के स्पेसिफ़िकेशन के मुताबिक, एक्सटेंशन को अनुमतियां देने का अनुरोध करता है.
"alarms" इससे आपके एक्सटेंशन को chrome.alarms API का ऐक्सेस मिलता है.
"background"

इससे Chrome जल्दी चालू और देर से बंद होता है, ताकि ऐप्लिकेशन और एक्सटेंशन लंबे समय तक काम कर सकें.

जब किसी होस्ट किए गए ऐप्लिकेशन, पैकेज किए गए ऐप्लिकेशन या एक्सटेंशन के पास "बैकग्राउंड" अनुमति होती है, तो उपयोगकर्ता के कंप्यूटर में लॉग इन करने के बाद, Chrome दिखे बिना ही काम करना शुरू कर देता है. यह काम, Chrome के लॉन्च होने से पहले शुरू हो जाता है. "बैकग्राउंड" अनुमति से, Chrome तब तक चलता रहता है, जब तक उपयोगकर्ता साफ़ तौर पर Chrome को बंद नहीं कर देता. भले ही, Chrome की आखिरी विंडो बंद हो गई हो.

ध्यान दें: बंद किए गए ऐप्लिकेशन और एक्सटेंशन को ऐसे माना जाता है जैसे वे इंस्टॉल ही न हों.

आम तौर पर, "बैकग्राउंड" अनुमति का इस्तेमाल, बैकग्राउंड पेज, इवेंट पेज या होस्ट किए गए ऐप्लिकेशन के लिए बैकग्राउंड विंडो के साथ किया जाता है.

"bookmarks" आपके एक्सटेंशन को chrome.bookmarks API का ऐक्सेस देता है.
"browsingData" इससे आपके एक्सटेंशन को chrome.browsingData एपीआई का ऐक्सेस मिलता है.
"certificateProvider" इससे आपके एक्सटेंशन को chrome.certificateProvider API का ऐक्सेस मिलता है.
"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 API का ऐक्सेस मिलता है.
"declarativeNetRequestFeedback" इससे एक्सटेंशन को chrome.declarativeNetRequest एपीआई में मौजूद इवेंट और तरीकों का ऐक्सेस मिलता है. इनसे, मैच होने वाले डिक्लेरेटिव नियमों के बारे में जानकारी मिलती है.
"declarativeWebRequest" इससे आपके एक्सटेंशन को chrome.declarativeWebRequest API का ऐक्सेस मिलता है.
"desktopCapture" आपके एक्सटेंशन को chrome.desktopCapture एपीआई का ऐक्सेस देता है.
"documentScan" इससे आपके एक्सटेंशन को chrome.documentScan एपीआई का ऐक्सेस मिलता है.
"downloads" इससे आपके एक्सटेंशन को chrome.downloads एपीआई का ऐक्सेस मिलता है.
"enterprise.deviceAttributes" इससे आपके एक्सटेंशन को chrome.enterprise.deviceAttributes एपीआई का ऐक्सेस मिलता है.
"enterprise.hardwarePlatform" इससे आपके एक्सटेंशन को chrome.enterprise.hardwarePlatform API का ऐक्सेस मिलता है.
"enterprise.networkingAttributes" इससे आपके एक्सटेंशन को chrome.enterprise.networkingAttributes API का ऐक्सेस मिलता है.
"enterprise.platformKeys" इससे आपके एक्सटेंशन को chrome.enterprise.platformKeys एपीआई का ऐक्सेस मिलता है.
"experimental" अगर एक्सटेंशन या ऐप्लिकेशन में chrome.experimental.* का इस्तेमाल किया जाता है, तो यह ज़रूरी है. एपीआई.
"fileBrowserHandler" इससे आपके एक्सटेंशन को chrome.fileBrowserHandler एपीआई का ऐक्सेस मिलता है.
"fileSystemProvider" इससे आपके एक्सटेंशन को chrome.fileSystemProvider एपीआई का ऐक्सेस मिलता है.
"fontSettings" इससे आपके एक्सटेंशन को chrome.fontSettings एपीआई का ऐक्सेस मिलता है.
"gcm" इससे आपके एक्सटेंशन को chrome.gcm API का ऐक्सेस मिलता है.
"geolocation" इससे एक्सटेंशन या ऐप्लिकेशन को, उपयोगकर्ता से अनुमति लिए बिना जियोलोकेशन एपीआई का इस्तेमाल करने की अनुमति मिलती है.
"history" इससे आपके एक्सटेंशन को chrome.history API का ऐक्सेस मिलता है.
"identity" इससे आपके एक्सटेंशन को chrome.identity API का ऐक्सेस मिलता है.
"idle" इससे आपके एक्सटेंशन को chrome.idle एपीआई का ऐक्सेस मिलता है.
"loginState" आपके एक्सटेंशन को chrome.loginState एपीआई का ऐक्सेस देता है.
"management" इससे आपके एक्सटेंशन को chrome.management API का ऐक्सेस मिलता है.
"nativeMessaging" इससे आपके एक्सटेंशन को नेटिव मैसेजिंग एपीआई का ऐक्सेस मिलता है.
"notifications" इससे आपके एक्सटेंशन को chrome.notifications एपीआई का ऐक्सेस मिलता है.
"pageCapture" इससे आपके एक्सटेंशन को chrome.pageCapture API का ऐक्सेस मिलता है.
"platformKeys" इससे आपके एक्सटेंशन को chrome.platformKeys एपीआई का ऐक्सेस मिलता है.
"power" इससे आपके एक्सटेंशन को chrome.power एपीआई का ऐक्सेस मिलता है.
"printerProvider" इससे आपके एक्सटेंशन को chrome.printerProvider एपीआई का ऐक्सेस मिलता है.
"printing" इससे आपके एक्सटेंशन को chrome.printing API का ऐक्सेस मिलता है.
"printingMetrics" इससे आपके एक्सटेंशन को chrome.printingMetrics API का ऐक्सेस मिलता है.
"privacy" इससे आपके एक्सटेंशन को chrome.privacy API का ऐक्सेस मिलता है.
"processes" आपके एक्सटेंशन को chrome.processes API का ऐक्सेस देता है.
"proxy" इससे आपके एक्सटेंशन को chrome.proxy API का ऐक्सेस मिलता है.
"scripting" इससे आपके एक्सटेंशन को chrome.scripting एपीआई का ऐक्सेस मिलता है.
"sessions" इससे आपके एक्सटेंशन को chrome.sessions API का ऐक्सेस मिलता है.
"signedInDevices" इससे आपके एक्सटेंशन को chrome.signedInDevices एपीआई का ऐक्सेस मिलता है.
"storage" इससे आपके एक्सटेंशन को chrome.storage API का ऐक्सेस मिलता है.
"system.cpu" इससे आपके एक्सटेंशन को chrome.system.cpu API का ऐक्सेस मिलता है.
"system.display" इससे आपके एक्सटेंशन को chrome.system.display API का ऐक्सेस मिलता है.
"system.memory" इससे आपके एक्सटेंशन को chrome.system.memory API का ऐक्सेस मिलता है.
"system.storage" इससे आपके एक्सटेंशन को chrome.system.storage एपीआई का ऐक्सेस मिलता है.
"tabCapture" इससे आपके एक्सटेंशन को chrome.tabCapture API का ऐक्सेस मिलता है.
"tabGroups" इससे आपके एक्सटेंशन को chrome.tabGroups API का ऐक्सेस मिलता है.
"tabs" इससे आपके एक्सटेंशन को Tab ऑब्जेक्ट के उन फ़ील्ड का ऐक्सेस मिलता है जिनका इस्तेमाल कई एपीआई करते हैं. इनमें chrome.tabs और chrome.windows शामिल हैं. कई मामलों में, आपके एक्सटेंशन को इन एपीआई का इस्तेमाल करने के लिए, "tabs" अनुमति का एलान करने की ज़रूरत नहीं होगी.
"topSites" इससे आपके एक्सटेंशन को chrome.topSites एपीआई का ऐक्सेस मिलता है.
"tts" इससे आपके एक्सटेंशन को chrome.tts एपीआई का ऐक्सेस मिलता है.
"ttsEngine" इससे आपके एक्सटेंशन को chrome.ttsEngine API का ऐक्सेस मिलता है.
"unlimitedStorage" क्लाइंट-साइड डेटा को स्टोर करने के लिए अनलिमिटेड कोटा देता है. जैसे, डेटाबेस और लोकल स्टोरेज फ़ाइलें. इस अनुमति के बिना, एक्सटेंशन या ऐप्लिकेशन के लिए 5 एमबी का स्टोरेज ही उपलब्ध होता है.
ध्यान दें: यह अनुमति सिर्फ़ वेब एसक्यूएल डेटाबेस और ऐप्लिकेशन कैश मेमोरी पर लागू होती है (समस्या 58985 देखें). साथ ही, फ़िलहाल यह http://*.example.com जैसे वाइल्डकार्ड सबडोमेन के साथ काम नहीं करता.
"vpnProvider" इससे आपके एक्सटेंशन को chrome.vpnProvider एपीआई का ऐक्सेस मिलता है.
"wallpaper" इससे आपके एक्सटेंशन को chrome.wallpaper API का ऐक्सेस मिलता है.
"webNavigation" इससे आपके एक्सटेंशन को chrome.webNavigation API का ऐक्सेस मिलता है.
"webRequest" इससे आपके एक्सटेंशन को chrome.webRequest API का ऐक्सेस मिलता है.
"webRequestBlocking" अगर एक्सटेंशन, chrome.webRequest एपीआई का इस्तेमाल ब्लॉक करने के लिए करता है, तो यह एट्रिब्यूट ज़रूरी है.