[Doc] Permission justification - NC22/KellyC-Image-Downloader GitHub Wiki

Permission justification

  • downloads - Batch download of collected images. Privacy policy document

  • storage - For store multiple image url lists (profiles), by default extension uses storage api. Extension controlls used space and user can see size of any created profile in Settings -> Profiles.

  • tabs - For communicate between host and background process (service worker in manifest v3 verions of extension). For proper work of extension, it background process should send asked from tab information (local stored information about configuration, options, profile list) to exact tab that asked it.

  • unlimitedStorage - For store multiple image url lists (profiles) (~60000 stored links ~ 28mb), by default extension uses storage api. Extension controlls used space and user can see size of any created bookmarks profile.

  • webRequest, webRequestBlocking - For proper display images on extension download page \ for make proper requests to image download. This permission is necessary to add listeners (currently onBeforeSendHeaders \ onHeadersReceived is used) and filter media \ images requests created by "content script" during batch download images and add extra headers in blocking mode (permission webRequestBlocking also used) if needed (for some hosts its important to keep "Referer" header and add 'Access-Control-Allow-Origin' header if this required by CORS policy)

  • declarativeNetRequest - For proper display images on extension download page \ for make proper requests to image download. This permission is necessary, to replace webRequest \ webRequestBlocking permissions that not supported in manifest v3.

All requests filtered by limited list of hosts + tabId + type to work only with requests created by extension through XmlHttpRequest or Fetch