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
76
77
78
79
|
core:
inline <style> tags should be dropped. p.p1 for example is
specified in html here:
http://www.fringereview.co.uk/pageView.php?pagename=Latitude%20Festival%202011
note that as this needs to also drop its children, we can't
just use regex. whether using js remove element function is
safe (e.g. will not affect original html when toggled) is
unsure. doesn't look like there's a 'disable' attribute for
the tag, so it's our best hope.
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)
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
|