summaryrefslogtreecommitdiff
path: root/TODO
blob: b4f869b18a316495f5295ce7f58af225e87d1988 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
core:
	consider counting <br />\s<br \> as a <p> as least some blogspot pages need it
		http://davidz25.blogspot.com/2011/06/writing-c-library-part-1.html

chromium:
	generate appid for use in update xml
		see GenerateId in extension.cc of chrome for how it works

gecko:
	use rapper and bourne shell script to sign
		this is difficult as mozilla wants the signature of a very particular serialisation of the update rdf
		https://developer.mozilla.org/en/Extension_Versioning,_Update_and_Compatibility#Update_RDF_Format
		openssl dgst -sha512 -binary -sign private.pem web/gecko-updates.rdf i'm pretty sure generates the correct signature. however it then has to be encoded, using asn1/der & base64. also, according to the docs only the hash is signed/hashed, whereas it looks like the whole (particularly serialised) rdf is used by uhura
	make bootstrappable
		http://www.oxymoronical.com/blog/2011/01/Playing-with-windows-in-restartless-bootstrapped-extensions
		http://starkravingfinkle.org/blog/2011/01/bootstrap-jones-adventures-in-restartless-add-ons/
		http://blog.fpmurphy.com/2011/02/firefox-4-restartless-add-ons.html
		this could easily get messy, so might not be worth it.
		startup:
		- add a resource:// alias so scripts can be referenced
		- add simplyread.js and viable.js to all documents
		- add a listener to nsIWindowMediator onOpenWindow.
		- get this listener to inject simplyread.js and viable.js,
		  using their resource:// urls into new documents
		- add a listener to tab changing, to retrigger viable test
		shutdown:
		- remove these two from all documents
		- remove listeners
		- remove any addon bar things
	add fennec support - https://wiki.mozilla.org/Mobile/Fennec/Extensions
		'electrolysis' may require modifications
	bug allow turtle for install.rdf - currently trying errors with:
		Firefox could not install this item because
		"install-whb..rdf" (provided by the item) is not well-formed
		or does not exist. Please contact the author about this
		problem.
		and this in the error console:
		Error: not well-formed
		Source File: file:///tmp/install-whb..rdf
		Line: 1, Column: 1
		Source Code:
		@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.

change the short description to something more readable like "makes webpages more readable" or "removes distractions from webpages"

test:
	current tests
		test the keyboard shortcut, by sending an event;
			e=document.createEvent(...
			e.initEvent(...
			e.keyCode = ...
			document.body.dispatchEvent(e)
		window.close directly after logging to the console
	make tests for chromium and firefox engines
		https://developer.mozilla.org/en/Automated_testing_tips_and_tricks
		https://developer.mozilla.org/en/Mozmill_Tests/Addon_tests


# wishlist #

gecko:
	it would be nice to use the svg icon directly (smaller, faster, neater)
		firefox doesn't render the font correctly (can't find bug; test more then report it)
		doesn't automatically set the size (https://bugzilla.mozilla.org/show_bug.cgi?id=583231#c31 - may be workaroundable by setting class of the image to toolbarbutton-1)
		doesn't work for main addon icon (only toolbar) (can't find bug; test more then report it)
	get working with firefox mobile https://wiki.mozilla.org/Mobile/Fennec/Extensions

chromium:
	it would be nice to use the svg icon directly (smaller, faster, neater)
		currently not supported (http://code.google.com/p/chromium/issues/detail?id=29683)
		get the following error:
		[18840:18840:7322270382:ERROR:extension_error_reporter.cc(55)]
		Extension error:
		Package is invalid. Details: 'Could not decode theme image.'
	would be nice to have permission warning reflect the fact that no disk or network activity is done; that this is self-contained and lovely. unfortunately it isn't fine-grained enough, and we need all "tabs" permission to inject the script into any page