Skip to content

[Doc] Лимиты и разрешения

Vladimir edited this page Jan 14, 2021 · 1 revision

Текущие разрешения необходимые для работы

  • downloads - доступ к загрузкам браузера (необходим для контроля был ли загружен файл или нет, возможности скачивания файлов в определенную папку относительно директории загрузок)

  • storage - доступ к локальному хранилищу данных (localStorage) расширения (возможно не требуется, т.к. используется более высокая привилегия unlimitedStorage, необходимо проверить в разных браузерах перед отключением)

  • tabs - доступ к открытым вкладкам браузера (достаточно бы было доступа только к вкладке, которая сама обратилась к фоновому процессу расширения через API, но подобного ограничения предоставить нельзя). Разрешение необходимо для обратного ответа вкладке от фонового процессса. Opera, Chrome не скрывают идентификаторы открытых вкладок если они обращаются к расширению сами (если FireFox добавит схожее поведение, данная опция будет не нужна)

  • unlimitedStorage - дает доступ к использованию дискового пространства без ограничений для хранения локальных профилей данных. На данный момент расширениям нельзя предоставить точное количество места на диске на уровне браузера, по этому используется данная опция. Поверх данного разрешения расширение самостоятельно контролирует расход места. (макс. 256 мб)

  • webRequest, webRequestBlocking - необходимы для корректного формирования запросов к скачиваемым изображениям и избегания ограничений CORS (браузер не позволяет скачивать данные напрямую если поддомен изображения и сайта отличаются, например http://www.example.com и http://example.com считаются разными доменами и попадают под ограничения безопасности)

Ограничения используемые в расширении :

При использовании типа хранения данных Browser API

  • Максимальный размер файла профиля : 28мб (~ 60 000 изображений) (MAX_TOTAL_PER_DB)
  • Максимальный размер всех хранимых профилей пользователя : 256мб (MAX_ENV_SIZE)
  • Максимальный размер файла настроек : 2мб (MAX_CONFIG_SIZE)

При использовании типа хранения данных Localstorage

  • Максимальный размер файла профиля : не более ~4мб (зависит от браузера, сверху ограничено переменной MAX_TOTAL_PER_DB)
  • Максимальный размер всех хранимых данных : не более ~4мб (зависит от браузера, сверху ограничено переменной MAX_ENV_SIZE)
  • Максимальный размер файла настроек : 2мб (MAX_CONFIG_SIZE)

По достижению лимитов данные будут доступны только для чтения. Ограничение для файла настроек стоит принимать во внимание только при восстановлении данных (допустимый размер загружаемого файла). Обычно все настройки умещаются в несколько килобайт.