1. Many plugins do not handle URLs correctly when they are in the form content: or file:///android_asset.
2. For the cordova-app-harness, there needs to be a way to re-route resource load requests so that the harness can load app resources while still respecting the <content> tag.
All plugins can watch the loading of any uri's Eg: opening of files, the browser making requests to load files etc etc.
In addition to watching they may assist in loading the uri's.
For example, a use case here is - suppose a mimetype for a hypothetical extension ".abc" doesn't exist, a plugin could check the extension of a loaded uri and set the mimetype. This would now be set for all files loaded in the system.
Pseudo code of the mechanism:
1. make a request 'R' to a uri.
2. loop through all plugins to see if any plugins change the request
3. if the request changes, set 'R' to this modified request and repeat step 3
4. load request 'R' and return result