One’s Personal Legend is what you have always wanted to accomplish. Everyone, when they are young, knows what their Personal Legend is. “At that point in their lives, everything is clear and everything is possible. They are not afraid to dream, and to yearn for everything they would like to see happen to them in their lives. But, as time passes, a mysterious force begins to convince them that it will be impossible for them to realize their Personal Legend….whoever you are, or whatever it is that you do, when you really want something, it’s because that desire originated in the soul of the universe. It’s your mission on earth.
Paulo Coelho
Saturday, August 08, 2009
Posted by
Paritosh Aggarwal
at
7:40 PM
1 comments
Electrolysis notes
Picture this scenario:
Plugin wants to call some method on a browser object, say the window object. It calls NPN_GetValue(enum_value) to get the desired NPObject representing the browser window.
From that NPObject, it can perform the required task by using the API methods exposed by NPObject.
Now, in a single process world, Plugin and browser proccesses were same, so the plugin could directly ask for an NPObject representing the browser window, and work with that.
In a multiprocess world, plugin and the browser window exist in different processes, and if the plugin wants to interact with the browser window, the following difference in interaction takes place -
1. Plugin cannot handle NPObject directly. A proxy object is created in its memory, via which plugin communicates the NPObject 'id', and the required 'task/method' to be performed. This has to be supported via an IPDL protocol.
2. The new IPDL protocol, will be present in NPObject.ipdl, exposing methods defined in npruntime.h, allowing a plugin to communicate with the browser process.
Now, a few points need to be validated -
1. Can the code currently implementing the npruntime.h methods be used here with as good as no changes?
2. Where will the implementation of these methods be found?
3. Does the multiprocess infrastructure exist for different process/browser? If yes, is it in dom/plugins/, where the NPObject.ipdl has to be defined? In short, I need to know where to fit in my work.
Posted by
Paritosh Aggarwal
at
3:54 PM
0
comments