mozilla

Compare Revisions

XEmbed Extension for Mozilla Plugins

Change Revisions

Revision 98949:

Revision 98949 by Josh on

Revision 98950:

Revision 98950 by Josh on

Title:
XEmbed Extension for Mozilla Plugins
XEmbed Extension for Mozilla Plugins
Slug:
XEmbed_Extension_for_Mozilla_Plugins
XEmbed_Extension_for_Mozilla_Plugins
Tags:
Add-ons, Plugins
Add-ons, Plugins
Content:

Revision 98949
Revision 98950
tt87    <p>
88      As you can see, if the browser says that it doesn't support
 > XEmbed and doesn't use Gtk2 as a toolkit we return an error. If 
 >you return with an error from your initialization function the pl
 >ugin will not be used which avoids crashes and other problems.
89    </p>
90    <p>
91      Once you've verified that the browser has the compatibility
 > you require, you can modify your NPP_GetValue call like so:
92    </p>
93    <pre>
94NPError
95NPP_GetValue(void *future, NPPVariable variable, void *value)
96{
97    NPError err = NPERR_NO_ERROR;
98    switch (variable) {
99    case NPPVpluginNeedsXEmbed:
100        *((PRBool *)value) = PR_TRUE;
101        break;
102    default:
103        err = NPERR_GENERIC_ERROR;
104    }
105 
106    return err;
107}
108</pre>
109    <p>
110      Once you have set those variables, it should be relatively 
 >easy to set up a plugin. Just create a GtkPlug that is the child 
 >of the XID passed in and it's just like using a standard Gtk widg
 >et.
111    </p>
112    <h2 name="Other_Toolkits_and_Out_of_Process_Plugins">
113      Other Toolkits and Out of Process Plugins
114    </h2>
115    <p>
116      It should be possible to use this interface to build a plug
 >in that would run out of process as well as using other toolkits 
 >like Qt to build plugins. Since XEmbed was designed for cross-too
 >lkit and out of process applications, it should work. In fact, ve
 >rsion 1.5 of the Java Plugin will probably use XEmbed out of proc
 >ess. The author has no specific knowledge of other instances wher
 >e people are using this architecture, though.
117    </p>

Back to History