Closed Bug 1485526 Opened 6 years ago Closed 6 years ago

Consider allowing users to specify the order in which extensions' webRequest listeners are run

Categories

(WebExtensions :: Request Handling, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: bugzilla.mozilla.org, Unassigned)

References

Details

(Whiteboard: design-decision-needed)

User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36
Build ID: 20180718215440

Steps to reproduce:

I am using two extensions, uMatrix and Decentraleyes on multiple machines.


Actual results:

On some machines, a request is first handled by one, then the other, while on other machines, it's the other way around. This seems to be random, as in I've found no data in the profile that would allow me to predict, let alone influence this. As both extensions filter and modify requests, this makes their configurations incompatible between the machines.


Expected results:

Extensions should either be run in a strict order, or I should be able to define dependencies between them, effecting a topological order at run-time.
At the moment, if multiple extensions have webRequest listeners that match some request, those listeners are run in parallel.  In bug 1421725, Kris argues against running them in serial.  We could consider creating a way to define the order in which listener results are applied but frankly I think this would be much more effectively handled within the extensions.
Component: General → Request Handling
See Also: → 1421725
Summary: Please implement deterministic ordering of extensions → Consider allowing users to specify the order in which extensions' webRequest listeners are run
Whiteboard: design-decision-needed
Listeners are explicitly documented to run in undefined order. We don't intend to change this.
Status: UNCONFIRMED → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.