Opened 3 years ago

Last modified 2 years ago

#5042 closed change

Handle requests that aren't associated with a browser tab — at Initial Version

Reported by: sebastian Assignee:
Priority: P3 Milestone: Adblock-Plus-1.13.3-for-Chrome-Opera
Module: Platform Keywords: goodfirstbug
Cc: trev, greiner Blocked By:
Blocking: Platform: Unknown / Cross platform
Ready: yes Confidential: no
Tester: Ross Verified working: yes
Review URL(s):

https://codereview.adblockplus.org/29418679/

Description

Background

Adblock Plus is ignoring any request that isn't associated with any tab, as indicated with a tabId of -1. We did that in order to simplify the code path, by eliminating the scenario in which no context information are available, assuming that those requests aren't relevant anyway.

But now, there are two cases at least in which websites can cause requests that are not associated with the corresponding tab, potentially circumventing Adblock Plus:

Until these Chrome bugs are fixed, there is no way to block these requests based on the context, with filters like *$domain=example.com,websocket,ping. However, it would be possible to match those requests without context information, so that generic filters like ||example.com$websocket,ping work at least.

What to change

Remove the logic (in chrome/ext/background.js) that causes requests with tabId == -1 to be ignored, and adapt the logic down the code path in order to make the page/frame information optional.

Also consider the devtools panel (see lib/devtools.js), which logs requests to the active panel for the tab associated with the request. When the tabId is -1, however, it should log the request to all active panels.

Change History (0)

Note: See TracTickets for help on using tickets.