Gecko:Moving Plugins To Content: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 2: | Line 2: | ||
Christian Biesinger <cbiesinger@web.de> will probably work on this | Christian Biesinger <cbiesinger@web.de> will probably work on this | ||
= The Plan = | |||
Steps: | Steps: | ||
| Line 20: | Line 22: | ||
* They have no widget. NPP_SetWindow is called with something that indicates no window (NULL window arg, or null aWindow->window, whatever) | * They have no widget. NPP_SetWindow is called with something that indicates no window (NULL window arg, or null aWindow->window, whatever) | ||
** http://devedge-temp.mozilla.org/library/manuals/2002/plugin/1.0/npp_api12.html#999390 | ** http://devedge-temp.mozilla.org/library/manuals/2002/plugin/1.0/npp_api12.html#999390 | ||
= Other questions = | |||
* Who owns the widget? The instance owner, or the frame? | |||
Revision as of 22:12, 2 January 2006
Christian Biesinger <cbiesinger@web.de> will probably work on this
The Plan
Steps:
- Move nsPluginInstanceOwner to its own file
- Make it implement a new interface nsPIPluginInstanceOwner which has all the methods needed for objectframe<->instanceowner communication
- Extend nsIObjectFrame with methods the instance owner needs to call (if any)
- Make the instance owner own a content node rather than a frame (probably)
- Provide method NS_NewPluginInstanceOwner or something. also takes care of Init
- Move that file to content (or, directly add it in content)
- ...
- Create the owner on the content node. Provide a method on nsIObjectFrame to tell it that the plugin instance owner changed. provide a method to get the current instance owner. (Similar to how nsIImageLoadingContent works)
Plugins without frames
What should happen with plugins that have no frame?
Possibilities, that I can think of right now:
- They have a widget that's clipped to an empty rect
- They have no widget. NPP_SetWindow is called with something that indicates no window (NULL window arg, or null aWindow->window, whatever)
Other questions
- Who owns the widget? The instance owner, or the frame?