mozilla

Compare Revisions

Scripting plugins

Change Revisions

Revision 73216:

Revision 73216 by Kazssym on

Revision 73217:

Revision 73217 by Kazssym on

Title:
Scripting plugins
Scripting plugins
Slug:
Gecko_Plugin_API_Reference/Scripting_plugins
Gecko_Plugin_API_Reference/Scripting_plugins
Tags:
NeedsTechnicalReview, Plugins, NPAPI, NeedsEditorialReview, "Gecko Plugin API Reference"
NeedsTechnicalReview, Plugins, NPAPI, NeedsEditorialReview, "Gecko Plugin API Reference"
Content:

Revision 73216
Revision 73217
n8      {{template.PreviousNext("Gecko Plugin API Reference:Browsern8      {{ PreviousNext("Gecko Plugin API Reference:Browser Side Pl
> Side Plug-in API", "Gecko Plugin API Reference:Structures")}} {{>ug-in API", "Gecko Plugin API Reference:Structures") }} {{ Npapir
>template.Npapiref()}}>ef() }}
n28      The Mozilla DOM code now checks if a plugin supports this nn28      The Mozilla DOM code now checks if a plugin supports this n
>ew scriptability API and if it exposes a scriptable object throug>ew scriptability API and if it exposes a scriptable object throug
>h this new mechanism. Mozilla does this by calling the old plugin>h this new mechanism. Mozilla does this by calling the old plugin
> API call {{template.Npapi("NPP_GetValue")}} with the new enumera> API call {{ Npapi("NPP_GetValue") }} with the new enumeration va
>tion value that has been added to the {{template.Npapi("NPPVariab>lue that has been added to the {{ Npapi("NPPVariable") }} enumera
>le")}} enumeration.>tion.
n55      A plugin that wishes to be scriptable using this new mechann55      A plugin that wishes to be scriptable using this new mechan
>ism needs to return the appropriate {{template.Npapi("NPObject")}>ism needs to return the appropriate {{ Npapi("NPObject") }} (whic
>} (which is created by calling {{template.Funcref("NPN_CreateObje>h is created by calling {{ Funcref("NPN_CreateObject") }}) when t
>ct")}}) when the browser requests it by calling:>he browser requests it by calling:
n64      A plugin that wishes to access objects in the browser windon64      A plugin that wishes to access objects in the browser windo
>w that loaded the plugin can do this by getting the {{template.Np>w that loaded the plugin can do this by getting the {{ Npapi("NPO
>api("NPObject")}} for the browsers window object, or the DOM elem>bject") }} for the browsers window object, or the DOM element tha
>ent that loaded the plugin. This is done by using an extension to>t loaded the plugin. This is done by using an extension to {{ Fun
> {{template.Funcref("NPN_GetValue")}}. The extensions are two add>cref("NPN_GetValue") }}. The extensions are two additions to the 
>itions to the {{template.Npapi("NPNVariables")}} enumeration, the>{{ Npapi("NPNVariables") }} enumeration, the new enumerations are
> new enumerations are <code>NPNVWindowNPObject</code> and <code>N> <code>NPNVWindowNPObject</code> and <code>NPNVPluginElementNPObj
>PNVPluginElementNPObject</code>. By calling <code>NPN_GetValue()<>ect</code>. By calling <code>NPN_GetValue()</code> with either of
>/code> with either of those new enumerations will return an <code> those new enumerations will return an <code>NPObject</code> repr
>>NPObject</code> representing the browser object, and from there,>esenting the browser object, and from there, the functions in thi
> the functions in this API can be used to get and set properties,>s API can be used to get and set properties, and to call methods 
> and to call methods on those browser objects.>on those browser objects.
n67      And as always when working with reference counted <code>NPOn67      And as always when working with reference counted <code>NPO
>bject</code>s, the caller is responsible for calling {{template.F>bject</code>s, the caller is responsible for calling {{ Funcref("
>uncref("NPN_ReleaseObject")}} on the <code>NPObject</code> to dro>NPN_ReleaseObject") }} on the <code>NPObject</code> to drop the r
>p the reference.>eference.
n70      The new <code>NPNVariable</code> enumerations are defined in70      The new <code>NPNVariable</code> enumerations are defined i
>n {{template.Source("modules/plugin/base/public/npapi.h", "npapi.>n {{ Source("modules/plugin/base/public/npapi.h", "npapi.h") }} a
>h")}} as:>s:
n98      <li>{{template.Npapi("NPString")}}n98      <li>{{ Npapi("NPString") }}
n100      <li>{{template.Npapi("NPVariant")}}n100      <li>{{ Npapi("NPVariant") }}
n102          <li>{{template.Funcref("NPN_ReleaseVariantValue")}}n102          <li>{{ Npapi("NPN_ReleaseVariantValue") }}
n104          <li>{{template.Funcref("NPN_GetStringIdentifier")}}n104          <li>{{ Npapi("NPN_GetStringIdentifier") }}
n106          <li>{{template.Funcref("NPN_GetStringIdentifiers")}}n106          <li>{{ Npapi("NPN_GetStringIdentifiers") }}
n108          <li>{{template.Funcref("NPN_GetIntIdentifier")}}n108          <li>{{ Npapi("NPN_GetIntIdentifier") }}
n110          <li>{{template.Funcref("NPN_IdentifierIsString")}}n110          <li>{{ Npapi("NPN_IdentifierIsString") }}
n112          <li>{{template.Funcref("NPN_UTF8FromIdentifier")}}n112          <li>{{ Npapi("NPN_UTF8FromIdentifier") }}
n114          <li>{{template.Funcref("NPN_IntFromIdentifier")}}n114          <li>{{ Npapi("NPN_IntFromIdentifier") }}
n118      <li>{{template.Npapi("NPObject")}}n118      <li>{{ Npapi("NPObject") }}
n120          <li>{{template.Funcref("NPN_Construct")}} (since Firefon120          <li>{{ Npapi("NPN_Construct") }} (since Firefox 3.0b1)
>x 3.0b1) 
n122          <li>{{template.Funcref("NPN_CreateObject")}}n122          <li>{{ Npapi("NPN_CreateObject") }}
n124          <li>{{template.Funcref("NPN_RetainObject")}}n124          <li>{{ Npapi("NPN_RetainObject") }}
n126          <li>{{template.Funcref("NPN_ReleaseObject")}}n126          <li>{{ Npapi("NPN_ReleaseObject") }}
n128          <li>{{template.Funcref("NPN_Invoke")}}n128          <li>{{ Npapi("NPN_Invoke") }}
n130          <li>{{template.Funcref("NPN_InvokeDefault")}}n130          <li>{{ Npapi("NPN_InvokeDefault") }}
n132          <li>{{template.Funcref("NPN_Enumerate")}} (since Mozilln132          <li>{{ Npapi("NPN_Enumerate") }} (since Mozilla 1.9a1)
>a 1.9a1) 
n134          <li>{{template.Funcref("NPN_Evaluate")}}n134          <li>{{ Npapi("NPN_Evaluate") }}
n136          <li>{{template.Funcref("NPN_GetProperty")}}n136          <li>{{ Npapi("NPN_GetProperty") }}
n138          <li>{{template.Funcref("NPN_SetProperty")}}n138          <li>{{ Npapi("NPN_SetProperty") }}
n140          <li>{{template.Funcref("NPN_RemoveProperty")}}n140          <li>{{ Npapi("NPN_RemoveProperty") }}
n142          <li>{{template.Funcref("NPN_HasProperty")}}n142          <li>{{ Npapi("NPN_HasProperty") }}
n144          <li>{{template.Funcref("NPN_HasMethod")}}n144          <li>{{ Npapi("NPN_HasMethod") }}
n146          <li>{{template.Funcref("NPN_SetException")}}n146          <li>{{ Npapi("NPN_SetException") }}
n150      <li>{{template.Npapi("NPClass")}}n150      <li>{{ Npapi("NPClass") }}
t154      {{template.PreviousNext("Gecko Plugin API Reference:Browsert154      {{ PreviousNext("Gecko Plugin API Reference:Browser Side Pl
> Side Plug-in API", "Gecko Plugin API Reference:Structures")}}>ug-in API", "Gecko Plugin API Reference:Structures") }}
155    </p>{{ wiki.languages( { "pl": "pl/Dokumentacja_wtyczek_Gecko155    </p>{{ languages( { "pl": "pl/Dokumentacja_wtyczek_Gecko/Wtyc
>/Wtyczki_skryptowalne" } ) }}>zki_skryptowalne" } ) }}

Back to History