Right now the option "Clean outgoing HTTP Requests" is not very clear. It is more about the technique used (using webRequests rather than injecting javascript in the page) than about the UX.
What the users should be faced with is the choice of either only cleaning links that change the page (i.e. clicked, or "in Location bar only") or whether the add-on looks at all the HTTP traffic.
Furthermore, we really need both ways of cleaning the page:
webRequests passes after cleaning by javascript injection in the page, which can fail due to lack of some information and does not cover all cases, e.g. external links
javascript injection allows to do things that can not be done via webRequests, such as highlight the link to display UX feedback, and cleaning javascript:... links.
So we should:
Detect in webRequests whether the link is a "top level" request, modifying the location bar etc (Probably with documentUrl or frameId).
Change the preference to modify either all requests or only "top level" requests, always with both mechanisms.
Right now the option "Clean outgoing HTTP Requests" is not very clear. It is more about the technique used (using webRequests rather than injecting javascript in the page) than about the UX.
What the users should be faced with is the choice of either only cleaning links that change the page (i.e. clicked, or "in Location bar only") or whether the add-on looks at all the HTTP traffic.
Furthermore, we really need both ways of cleaning the page:
javascript:...
links.So we should:
documentUrl
orframeId
).