Firefox allows us to apply filters like tabId
, urls
to requests before intercepting them using webRequest.RequestFilter
So far so good. The problem is this code
browser.sidebarAction.setPanel({
panel: 'https://google.com'
});
Here we are requesting a web page that will be loaded into the sidebar (I want to intercept that request only)
As you can see it seems that there's no way to only filter sidebars
' requests since even tabId
will return the same id as the "parent" tab
Is it really possible to intercept requests going from the sidebar panel only?
We can filter requests that aren't related to a tab by setting tabId
to -1
browser.webRequest.onBeforeSendHeaders.addListener(
listener,
{
urls: ["<all_urls>"],
tabId: -1
},
["blocking", "requestHeaders"]
);
This now matches our sidebar's requests