Gecko:Moving Plugins To Content: Difference between revisions

From MozillaWiki
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

bug 90268

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:

Other questions

  • Who owns the widget? The instance owner, or the frame?