Unsupport $object-subrequest filter option
Background
Firefox is the only browser that let's extensions distinguish between requests loading an <object> element (e.g. a Flash video), and subsequent requests sent by that plugin. Hence on other platforms, we alias OBJECT_SUBREQUEST to OBJECT, effectively making the filter options $object and $object-subrequest synonymous on Chromium-based browsers and Microsoft Edge.
Considering that most users are on Chrome, and that plugins like Flash and Java are essentially dead, it doesn't seem to be worth it anymore to keep supporting the $object-subrequest filter option just for Firefox. Also by removing it, we make the filter behavior more consistent across browsers.
What to change
Remove support for the $object-subrequest filter option.
Integration notes
Remove the workaround
and add a mapping from object_subrequest to OBJECT, in lib/requestBlockers.js in adblockpluschrome.
Hints for testers
- Test that the
$object-subrequestoptions flag makes a filter invalid (e.g.||example.com/foo^$object-subrequestshould not block requests tohttp://example.com/foo/baroriginating from a Flash object) - Test that a filter with the
$object-subrequestoption enabled does not have side effects on the rest of the list, e.g. given two filters||example.com/foo/bar^$object-subrequestand||example.com/foo^, the second filter should still block requests tohttp://example.com/foo/bar, even when such requests originate from a Flash object
/cc @skipintro