|
|
Line 1: |
Line 1: |
| == Project statement ==
| | [https://developer.mozilla.org/en-US/docs/MDN/Plans/Chrome_code Moved to MDN]. |
| | |
| When I started having to do stuff with chrome-privileged JS, I found it really confusing. There is documentation, but on the whole it's:
| |
| | |
| * scattered around MDN
| |
| * out of date
| |
| * tends to assume a lot of knowledge that is very Gecko-specific, that someone who understands standard web development will not have. Unlike standard web stuff, there's no other place to find this out (except the source).
| |
| | |
| More recently, from a few different directions, I've been doing a bit to document this area of things, and I'm starting to think that maybe we should look at building a coherent set of docs on "writing privileged JS in Gecko".
| |
| | |
| The audience would be:
| |
| * add-on developers
| |
| * devtools developers
| |
| * Gecko developers
| |
| | |
| == Things to do ==
| |
| | |
| I think the content would be partly pulled in from some existing places, appropriately updated, and partly new. I'm not really proposing to update, for example, *all* the XPCOM docs now. More to update the most important stuff and have some high-level content that ties it together. I think it would cover something like this:
| |
| | |
| === what's chrome code? ===
| |
| * different javascript contexts in Gecko (chrome, content, sandboxes)
| |
| | |
| ===what's in the chrome environment?===
| |
| * Components (classes, XPCOM, JSMs, Components.utils)
| |
| * gBrowser &c
| |
| | |
| ===working with content===
| |
| * getting access to content
| |
| * using message managers in multiprocess Firefox (e10s)
| |
| | |
| ===security===
| |
| * compartments
| |
| * xray vision
| |
| * security principals
| |
| | |
| == People ==
| |
| * from MDN: Will Bamberg
| |
| * from engineering: I've been working with Bobby Holley and Gabor Krizsanits on the security/Xray stuff, and Bill McCloskey on e10s. It would be good to get other Firefox platform people involved in deciding what we should do here.
| |