Каковы области разрешений для расширений chrome / firefox во встроенном web_accessible_resource? - PullRequest
0 голосов
/ 01 апреля 2019

Я в процессе переноса расширения Chrome для работы в Firefox.Я создал расширение Chrome, в котором у скрипта контента (content-script.js) есть некоторый код, который встраивает iframe (index.html), который затем ссылается на некоторый код приложения (client.js).Код приложения выполняет вызовы расширений Chrome API (например, chrome.cookies, chrome.windows), и все это работает нормально.

В процессе преобразования кода для использования API Webextensions код выдает некоторые ошибки (например, browser.windows is undefined).Поэтому я подозреваю, что код приложения запускается в контексте скрипта содержимого в Firefox.

Я отлаживал в обоих браузерах и проверил объект browser.Я вижу, что разрешения, которые я добавил в манифест, не обнаружены в коде моего приложения при отладке в Firefox.

manifest.json

{
 ...
 "permissions": ["cookies"],
 "content_scripts": [{
   "matches": ["<all_urls>"],
   "js": ["content-script.js"]
 }]
}

index.html

<html>
  <body>
    <script type="text/javascript" src="client.js" />
  </body>
</html>

content-script.js

const iframe = document.createElement('iframe');
iframe.src = browser.runtime.getURL('index.html');

document
  .getElementsByTagName('body')
  .item(0)
  .append(initialIframe);

client.js

  browser.windows.create({url: 'https://google.com'});

Я бы ожидал, что оба будут вести себя одинаково.Либо оба не должны позволять сценариям кода приложения (client.js) запускать команды расширения (так как они были встроены сценарием содержимого), либо они оба должны это разрешать.Любая помощь или указатели на ресурсы будут очень цениться.Спасибо.

...