I have decided to make available some data: URIs for blank audio and video formats, for use if "swapping out" is to be more widely implemented, including in the Firefox extension.
blank.wav (one frame, 48kHz)
Code: Select all
data:audio/wav;base64,UklGRiQAAABXQVZFZm10IBAAAAABAAEAgLsAAAB3AQACABAAZGF0YQAAAAA=
Code: Select all
data:application/octet-stream;base64,TVRoZAAAAAYAAQACA8BNVHJrAAAAYgD/fw8FDxwyMDEyLjAxLjAxAQMA/38qBQ8tTWljcm9zb2Z0IFNhbnMgU2VyaWYsOC4yNSxGYWxzZSxGYWxzZSwxAP9YBAQCGAgA/38LBQ8SAwN/fwD/AQQA/1kCAAAA/y8ATVRyawAAACQA/38FBQ8JQAkA/38JBQ8GPG5vbmU+AP8DASAA/yABAAD/LwA=
Code: Select all
data:video/webm;base64,GkXfo6pChoEBQveBAULygQRC84EIQoKEd2VibeyJAAAAAAAAAAAAQoeBAkKFgQIYU4BnAQAAAAAAAMMRTZt0v027klOrhBVJqWZTrIgAAAAAAAAARE27klOrhBZUrmtTrIgAAAAAAAAAgE27klOrhBxTu2tTrIgAAAAAAAAAuxVJqWZANirXsYQAD0JARImEAAAAAE2AkHdlYm1tdXgtMC45LjEyLjBXQZFtYWtld2VibS0wLjkuMTIuMBZUrmtANa5AMteBAXPFiACOzirRHOIYg4EBhoVWX1ZQOCWGiINWUDjgQBCwggACuoIAAiOD44RByAAAHFO7axAAAAA=
Code: Select all
data:video/x-matroska;base64,GkXfo6NChoEBQveBAULygQRC84EIQoKIbWF0cm9za2FCh4ECQoWBAhhTgGf/FUmpZr1NgJhIYWFsaSBNYXRyb3NrYSBXcml0ZXIgYjBXQZJ4MjY0IHIyMTQ2IGJjZDQxZGIq17GCw1BEiYRESAAAFlSua+eu5deBAXPFgQGDgQGcgQCGj1ZfTVBFRzQvSVNPL0FWQ2OiqAH0AAr/4QAXZ/QACqbrI/EREIAAAAMAgAAAGUeJEyQBAAZo68Am8sAj44OEAmJaAOCSsIECuoECVLKBAFSwgQJUuoECH0O2dUN454EAo0NygQAAgAAAAfkGBf/13EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDEyMCByMjE0NiBiY2Q0MWRiIC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAxMSAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTMgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MzoweDExMyBtZT1oZXggc3VibWU9NyBwc3k9MCBtaXhlZF9yZWY9MSBtZV9yYW5nZT0xNiBjaHJvbWFfbWU9MSB0cmVsbGlzPTAgOHg4ZGN0PTEgY3FtPTAgZGVhZHpvbmU9MjEsMTEgZmFzdF9wc2tpcD0wIGNocm9tYV9xcF9vZmZzZXQ9MCB0aHJlYWRzPTMgc2xpY2VkX3RocmVhZHM9MCBucj0wIGRlY2ltYXRlPTEgaW50ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9pbnRyYT0wIGJmcmFtZXM9MCB3ZWlnaHRwPTIga2V5aW50PTI1MCBrZXlpbnRfbWluPTI1IHNjZW5lY3V0PTQwIGludHJhX3JlZnJlc2g9MCByYz1jcXAgbWJ0cmVlPTAgcXA9MACAAAABbWWIhK/YX2pQp/PNtC3Ao9VzD6jvx/xbCnAlOLfYUo8igYFxjpHU4M/WQEEudhU0UhcqS4aIHP0wSQr61EfOJNQzLzC7e9epsc6GOt8obp9woKMkBAq8F/C0aOPisAFgLdMijXHI8CGY38vMCUWz/A98x2CPBxjQrlvE8TJ2omexx7KTO6zdCDG1P+KcjJEmx6gKtsGv2CR/NLpzJFOsJxGb6+3oSSZQYb92qfuU4f9KX4YpMCQrF0Hy1AOiIY2JCqzn+OM+MjuLeQq+s5cAz2QVS8VCky4rseAgMXDjOQ8yfaV4xoVwCNSnpq8sFBh0SH2klIk7xrME3ZXCikSJt5KLsC3qRz+9XBlqSMYNBBPErfHgn5jBbNTAVI5Ofn632a3n0nX8L2fbAvGyh0f4KQ3jLqkmOMQqRD/P1O8bbUnkE3rBQAHRj/XiCQvs1k1gJ9ym8f9InNIeaRAjK7KMG/leDjBuvHo7LqqRf+TF
Code: Select all
data:video/x-flv;base64,RkxWAQEAAAAJAAAAABIAAJ8AAAAAAAAAAgAKb25NZXRhRGF0YQgAAAAHAAV3aWR0aABAAAAAAAAAAAAGaGVpZ2h0AEAAAAAAAAAAAAlmcmFtZXJhdGUAQDkAAAAAAAAADHZpZGVvY29kZWNpZABAHAAAAAAAAAAIZHVyYXRpb24AP6R64UeuFHsACGZpbGVzaXplAECR5AAAAAAAAA12aWRlb2RhdGFyYXRlAEBsoAAAAAAAAAAJAAAAqgkAAC0AAAAAAAAAFwAAAAAB9AAK/+EAF2f0AAqm6yPxERCAAAADAIAAABlHiRMkAQAGaOvAJvLAAAAAOAkAA3MAAAAAAAAAFwEAAAAAAAH5BgX/9dxF6b3m2Ui3lizYINkj7u94MjY0IC0gY29yZSAxMjAgcjIxNDYgYmNkNDFkYiAtIEguMjY0L01QRUctNCBBVkMgY29kZWMgLSBDb3B5bGVmdCAyMDAzLTIwMTEgLSBodHRwOi8vd3d3LnZpZGVvbGFuLm9yZy94MjY0Lmh0bWwgLSBvcHRpb25zOiBjYWJhYz0xIHJlZj0zIGRlYmxvY2s9MTowOjAgYW5hbHlzZT0weDM6MHgxMTMgbWU9aGV4IHN1Ym1lPTcgcHN5PTAgbWl4ZWRfcmVmPTEgbWVfcmFuZ2U9MTYgY2hyb21hX21lPTEgdHJlbGxpcz0wIDh4OGRjdD0xIGNxbT0wIGRlYWR6b25lPTIxLDExIGZhc3RfcHNraXA9MCBjaHJvbWFfcXBfb2Zmc2V0PTAgdGhyZWFkcz0zIHNsaWNlZF90aHJlYWRzPTAgbnI9MCBkZWNpbWF0ZT0xIGludGVybGFjZWQ9MCBibHVyYXlfY29tcGF0PTAgY29uc3RyYWluZWRfaW50cmE9MCBiZnJhbWVzPTAgd2VpZ2h0cD0yIGtleWludD0yNTAga2V5aW50X21pbj0yNSBzY2VuZWN1dD00MCBpbnRyYV9yZWZyZXNoPTAgcmM9Y3FwIG1idHJlZT0wIHFwPTAAgAAAAW1liISv2F9qUKfzzbQtwKPVcw+o78f8WwpwJTi32FKPIoGBcY6R1ODP1kBBLnYVNFIXKkuGiBz9MEkK+tRHziTUMy8wu3vXqbHOhjrfKG6fcKCjJAQKvBfwtGjj4rABYC3TIo1xyPAhmN/LzAlFs/wPfMdgjwcY0K5bxPEydqJnsceykzus3QgxtT/inIyRJseoCrbBr9gkfzS6cyRTrCcRm+vt6EkmUGG/dqn7lOH/Sl+GKTAkKxdB8tQDoiGNiQqs5/jjPjI7i3kKvrOXAM9kFUvFQpMuK7HgIDFw4zkPMn2leMaFcAjUp6avLBQYdEh9pJSJO8azBN2VwopEibeSi7At6kc/vVwZakjGDQQTxK3x4J+YwWzUwFSOTn5+t9mt59J1/C9n2wLxsodH+CkN4y6pJjjEKkQ/z9TvG21J5BN6wUAB0Y/14gkL7NZNYCfcpvH/SJzSHmkQIyuyjBv5Xg4wbrx6Oy6qkX/kxQAAA34=
Code: Select all
data:video/mp4;base64,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
Code: Select all
data:video/avi;base64,UklGRmgQAABBVkkgTElTVMAAAABoZHJsYXZpaDgAAABAnAAAAAAAAAAAAAAQCQAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAExJU1R0AAAAc3RybHN0cmg4AAAAdmlkc01QTkcAAAAAAAAAAAAAAAABAAAAGQAAAAAAAAABAAAAQwAAAAAAAAAAAAAAAAAAAAAAAABzdHJmKAAAACgAAAAAAAAAAAAAAAEAGABNUE5HAAAAAAAAAAAAAAAAAAAAAAAAAABMSVNULgAAAElORk9JU0ZUIgAAAE1FbmNvZGVyIFNoZXJweWEtU1ZOLXIzNDQwMS00LjYuMgBKVU5L7g4AAFs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbGF5ZXIganVuayBkYXRhISA9XVs9IE1QbExJU1RQAAAAbW92aTAwZGNDAAAAiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJgggBpZHgxEAAAADAwZGMAAAAABAAAAEMAAAA=
The distinguished types are...
main_frame (equivalent to Mozilla's "document")
image
object
script
stylesheet
sub_frame (equivalent to Mozilla's "subdocument")
xmlhttprequest
other
...which are all also in nsIContentPolicy, but that also allows for
cookie
dtd
font
geo
indexedDB
install
media (->object?)
objectsubrequest (->object)
ping
popup
refresh
xbl
I suspect that most of these would be considered by WebRequest to be "other"
Anyway, I just uploaded a special build of ABP Experimental that makes a few useful changes...
First, all icons are losslessly optimized.
Next, the main document can be blocked too.
Finally, all filtered request types are redirected to something: document/subdocument to about:blank, xmlhttprequest to "data:application/xml," (blank XML file), script to "data:text/javascript," (blank script), stylesheet to "data:text/css," (blank CSS), object/other to "data:application/octet-stream," (blank binary file).
Get it here: https://jansal.googlecode.com/svn/trunk ... mental.crx
The changes I made to webrequest.js are as follows...
Code: Select all
22,23c22,23
< return;
<
---
> //return;
> type = "DOCUMENT";
25c25
< if (type == "sub_frame")
---
> else if (type == "sub_frame")
41c41
< if (collapse && type == "SUBDOCUMENT")
---
> if (collapse && (type == "DOCUMENT" || type == "SUBDOCUMENT"))
42a43,48
> else if (collapse && type == "SCRIPT")
> return {redirectUrl: "data:text/javascript,"};
> else if (collapse && type == "STYLESHEET")
> return {redirectUrl: "data:text/css,"};
> else if (collapse && type == "XMLHTTPREQUEST")
> return {redirectUrl: "data:application/xml,"};
44c50,52
< return {redirectUrl: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg=="};
---
> return {redirectUrl: "data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="};
> else if (collapse && (type == "OBJECT" || type == "OTHER"))
> return {redirectUrl: "data:application/octet-stream,"};
133c141
< }
---
> }
\ No newline at end of file
In manifest.json I added "swap-out" after "experimental" and changed the update URL so that Palant's own experimental builds won't overwrite this; besides the aforementioned lossless optimization of PNG icons, I changed no other files in the extension.
Its "update URL" is now about:blank, so it doesn't update, but once I get the hang of making an update XML, I just might make one and then try as well as possible to follow the progress of Palant's updates...
EDIT: It now uses a set of regexp-matching conditionals on the file-extension if it's an "OBJECT" and then if it doesn't find anything defaults to the old "data:application/octet-stream,"