Firefox nos permite aplicar filtros como tabId , urls a las solicitudes antes de interceptarlas usando webRequest.RequestFilter
Hasta aquí todo bien. el problema es este codigo
browser.sidebarAction.setPanel({ panel: 'https://google.com' });Aquí estamos solicitando una página web que se cargará en la barra lateral ( solo quiero interceptar esa solicitud )
Como puede ver, parece que no hay forma de filtrar solo las solicitudes de las sidebars , ya que incluso tabId devolverá la misma identificación que la pestaña "principal".
¿Es realmente posible interceptar solicitudes que van solo desde el panel de la barra lateral?
Podemos filtrar las solicitudes que no están relacionadas con una pestaña configurando tabId en -1
browser.webRequest.onBeforeSendHeaders.addListener( listener, { urls: ["<all_urls>"], tabId: -1 }, ["blocking", "requestHeaders"] );Esto ahora coincide con las solicitudes de nuestra barra lateral