Hi,
I am trying for the past few days to understand the work flow and the processes that are connected to Nacl/trusted plugins development. I got concepts but I didn't get the whole picture.
Here is what I got so far:
1. Pepper Api is the api for developing plugins for the Chrome browser.
2. Nacl is a plugin developed with this api that extends the security features through a new sandbox model and enhances performance.
3. The trusted plugins are the ones that are developed and released with the browser(?). They can be in the renderer process or outside of it they're one process.
I don't understand the resource abstraction and the Interface abstraction( looked over the chromium multi process architecture, but it still makes no sense to me ).
Where does the implementation go ? I see that the resource takes care of the implementation, also the resource inherits the api. Where does the interface fall in ?
How do I access the implementation? if the implementation is inside a plugin can it be accessed through the api by the browser or another plugin.
So let's say that I want to develop an extensible system file(fuse like). And have every new file system id handled by it's own plugin. The question that arise in my mind are the following:
1. If I want to develop architecture aware NACL fs plugin( leverage instructions set optimizations) then I need to convince google people to accept new instructions?
2. If I want to develop a trusted plugin then I have to go through the dev/stable process?
3. How do I export these to the browser and other plugins. Where do I keep the context ?
4. Let's say that I want to adhere to a certain api template. How do I do this ? An well written api should suffice ?
Any help( links, "hey stupid, you got it wrong.." remarks, etc.) will be greatly appreciated.
Thanks!