Невозможно успешно вызвать captureVisibleTab () несмотря на запросразрешений - PullRequest
2 голосов
/ 04 апреля 2019

Я работаю над расширением браузера для React DOM . Это расширение имеет пользовательский интерфейс «Профилировщик», который измеряет производительность рендеринга для компонентов React. Я недавно добавил снимки экрана к этому профилировщику, чтобы он мог показывать изображения DOM каждый раз, когда React обновляет его.

Для этого расширение вызывает chrome.tabs.captureVisibleTab в ответ на запрос из пользовательского интерфейса расширения DevTools. (Этот запрос делается каждый раз, когда React фиксирует изменения в DOM.)

У меня на данный момент требуется разрешение <all_urls> на основе документации для этого API , которая гласит:

Для использования этого метода у вас должно быть разрешение <all_urls>. (С другой стороны, Chrome позволяет использовать этот метод с разрешением activeTab и жестом соответствующего пользователя).

(Документация Chrome для этого API не упоминает ни один из способов.)

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

Unchecked runtime.lastError: Невозможно получить доступ к содержимому URL "". Манифест расширения должен запрашивать разрешение на доступ к этому хосту.

Неправильно ли представлена ​​документация об этом API? Я правильно определил свои разрешения? Любая помощь будет оценена!

...