before 0.8 chrome keybind firefox xul options as on chromium before 1.0! consider license change to isc consider renaming to PlanedText core: disable all other scripts - lots of tracking horrors around now, e.g. h-online and nytimes have things which report back every time you click the mouse. make: use 'convert -Background none' rather than rsvg (check the output is still good) gzip things in web/ chromium: change keybind (looks like ctrl-alt-r is now used by chrome, at least on mac) look at content_security_policy to tighten extension manifest lots http://code.google.com/chrome/extensions/trunk/manifest.html#content_security_policy generate appid for use in update xml see GenerateId in extension.cc of chrome for how it works gecko: create option to turn off/on hyperlinks create option to turn off/on css use straight rdf/xml to remove rapper build dependency 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 consider using plain rdfxml rather than turtle; conversion is a pain, and it's clear rdf is on its way out of gecko anyway test (currently outdated): 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) 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