Как получить идентификатор процесса Chrome из расширения Chrome? - PullRequest
0 голосов
/ 15 октября 2019

Я запускаю браузер Chrome с распакованным расширением, которое я написал. Это расширение связывается с Native Host, который я написал на C #, всякий раз, когда открываются новые вкладки.

Я хочу обрабатывать только те вкладки, которые были открыты в браузере Chrome, который я начал с распакованным расширением. Однако, если я запускаю Chrome, используя параметр командной строки с моим расширением, и позже запускаю другой экземпляр Chrome вручную без командной строки, у него также будет загружено расширение. Поэтому мне нужен способ идентифицировать экземпляр браузера, который я явно запустил с расширением.

Я добавил обратный вызов к

chrome.webNavigation.onCreatedNavigationTarget.addListener

, чтобы получать события при открытии новых вкладок. Это работает как шарм. Одним из параметров, которые я получаю из Chrome, является sourceProcessId , который описывается как: Идентификатор процесса, который запускает средство визуализации для исходного кадра.

Моя идея заключалась в том,определить и отправить идентификатор процесса экземпляра Chrome моему собственному хосту при вызове

chrome.runtime.onInstalled

, поскольку это событие выполняется только для первого экземпляра браузера, запущенного с расширением.

Однако я не могу найти свойство, функцию или обратный вызов для получения этого идентификатора процесса из других источников, кроме события

chrome.webNavigation.onCreatedNavigationTarget.addListener

. Я знаю о пространстве имен chrome.processes , но для меня это не вариант, поскольку он не является частью какого-либо стабильного выпуска.

У вас есть предложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...