Отказано в доступе при попытке установить cookie в веб-расширении firefox для локального файла
Я пытаюсь установить новый файл cookie в Firefox с веб-расширением на странице, которая является локальным файлом (с протоколом файла: file:///[...]), и я получаю следующую ошибку:
Отказано в разрешении на установку cookie {"domain":"","expirationDate":null,"firstPartyDomain":"","httpOnly":null,"name":"myCookie","path":null,"secure": нуль "StoreID": нулевой, "URL": "файл:///E:/folder/mypage.html","значение": "MyValue"}
Это скрипт, который я использую для вставки куки:
var newCookie = {
domain: '',
name: 'myCookie',
value: 'myValue',
path: null,
secure: null,
httpOnly: null,
expirationDate: null,
storeId: null,
url: 'file:///E:/folder/mypage.html',
};
if (cookie.hostOnly) {
newCookie.domain = null;
}
browser.cookies.set(newCookie).then(function (e) {
console.log('success!');
}, function (e) {
console.error(e);
});
И эти разрешения настроены в manifest.json:
"permissions": [
"cookies",
"<all_urls>",
"tabs"
],
Я предположил, что мне нужно дополнительное разрешение, но я не смог найти ничего связанного с этим в документации. all_urls должен включать все протоколы.
Я могу создавать куки вручную в devTools, используя простой код, подобный тому document.cookie = "myCookie=myValue";
И я также могу добавить cookie-файл на страницу с помощью сценария содержимого, введенного, например, browser.tabs.executeScript ({code: document.cookie = "${newCookie.name}=${newCookie.value}"
});
Но это похоже на хак, и я чувствую, что должен быть в состоянии использовать API browser.cookies для этого.
Что я здесь не так делаю?