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

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

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

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

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

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

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

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

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

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

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

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